Print[":Package Title: goedel70.27b 2005 June 27 at 4:50 p.m. "]; (* :Context: Goedel` :Author: Johan G. F. Belinfante :Collaborators: Tiffany D. Goble :Summary: The GOEDEL program implements Goedel's algorithm for class formation, with some modifications made to avoid assuming the axiom of regularity, and Kuratowski's construction of ordered pairs. :Copyright: 2001 by Johan G. F. Belinfante :Mathematica Version: 3.0 *) (* :History: Version goedel70.27a plus rules from MOD-UNIQ.NB Earlier versions go back to 1996. *) (* :Keywords: class, member *) (* :Sources: Kurt Goedel, 1939 monograph on the consistency of the axiom of choice and of the generalized continuum hypothesis. *) (* :Warnings: count is an unprotected global counter used in the test suites 0 is used to represent the empty set. E is used to represent the membership relation. *) (* For debugging sometimes the following may be useful: *) (* $IterationLimit = $RecursionLimit = 20; *) (* :Limitations: The simplification rules are not confluent. It is unknown whether a Knuth Bendix completion of the present rules would terminate. Probably not. The order in which simplification rules are applied is therefore important, but no mechanism has been included for user control over this order. Mathematica's builtin Tracing commands are the only mechanism for discovering what rules were actually applied. In one of the earlier versions we had built in a mechanism for documenting which rules had been accessed, but this proved to be of limited value. *) (* :Discussion: See Goedel's monograph, pages 10-14. *) (* :Requirements: *) (* :Examples: Sample files are available in various test suites. *) (* set up the package context, including public imports *) BeginPackage["Goedel`"] (* added 2003 June 25 *) Unprotect[E]; Clear[E]; (* usage messages for the exported functions and the context itself *) Goedel::usage = "Goedel.m is a package that implements a modification of Goedel's algorithm for class formation." A::usage = "A[x] is the class obtained by intersecting all the sets that belong to x" Aclosure::usage = "Aclosure[x] is the class of all sets A[y] where y is a nonempty subset of x" ACLOSURE::usage = "ACLOSURE is the function that takes x to image[BIGCAP,P[x]]" ACYCLIC::usage = "ACYCLIC is the class of all relations that contain no cycles" ADJOIN::usage = "ADJOIN[x] is the function that takes y to union[x,y]." and::usage = "and[x,y,...] is a flat, orderless function of any number of variables" ANTISYM::usage = "ANTISYM is the class of all antisymmetric relations" ANTISYMMETRIC::usage = "ANTISYMMETRIC[x] is the statement that x is an antisymmetric relation" apply::usage = "apply[x,y] was used by Quaife to apply a function to its argument" APPLY::usage = "APPLY[x,y] is useful for applying a function to its argument" assert::usage = "assert[p] is a statement equivalent to p obtained by applying Goedel's algorithm to class[w,p]. Applying assert repeatedly sometimes simplifies a statement." ASSOC::usage = "ASSOC is the function that reassociates ordered triples" associative::usage = "associative[x] is the statement that x is an associative relation" ASSOCIATIVE::usage = "ASSOCIATIVE is the class of all associative relations" axch::usage = "axch is a flag for a set form of the axiom of choice" AxCh::usage = "AxCh is a flag that can be set equal to True if one is assumes the class form of the axiom of choice. Not protected." AxReg::usage = "AxReg is a flag that can be set equal to True if one assumes the axiom of regularity. Not protected." BIGCAP::usage = "BIGCAP is the function that takes x to A[x]" BIGCUP::usage = "BIGCUP is the function that takes x to U[x]" BIJ::usage = "BIJ is the class of one-to-one correspondences" binclosed::usage = "binclosed[x] is the class of sets y that are closed under a binary operation x" cantor::usage = "Quaife introduced cantor[x] to prove Cantor's theorem" CAP::usage = "CAP is the function that takes pair[x,y] to intersection[x,y]" CAPclosed::usage = "CAPclosed is the class of sets which are closed under binary intersection" card::usage = "card[x] is the intersection of all ordinals equipollent to x" CARD::usage = "the function CARD takes x to card[x] when both are sets" cart::usage = "cart[x,y] is the cartesian product of x and y. Note that cart is not associative." CART::usage = "CART is the function that takes pair[x,y] to cart[x,y]" CHOICE::usage = "the choice function takes each nonempty set x to some member of x. To use it, one needs to assign True to AxCh" choicefunction::usage = "choicefunction[f,x] is the statement that f is a choice function with domain x" class::usage = "class[x,p] applies Goedel's algorthm to the class of all sets x satisfying the condition p. The variable x may be an atomic variable, or of the form pair[u,v], where u and v in turn can be pairs, etc. " cliques::usage = "cliques[x] is the class of all w such that cart[w,w] is contained in x" CLIQUES::usage = "CLIQUES is the function that takes x to cliques[x]" COARSER::usage = "pair[x,y] belongs to COARSER if x is a subset of y and U[x] = U[y]" commutant::usage = "commutant[x] is the class of all sets which commute with x" commute::usage = "commute[x,y] is true if and only if the composite of x and y is the same as the composite of y and x" COMMUTE::usage = "COMMUTE is the class of pair[x,y] such that x and y commute" COMPACT::usage = "COMPACT is the class of all t such that for every set coarser than t there is a finite set that is even coarser" complement::usage = "complement[x] is the class of all sets that to not belong to x" COMPOSE::usage = "COMPOSE is the function that takes pair[x,y] to composite[x,y]" composite::usage = "composite[x,y,...] is a flat function of any number of variables" cond::usage = "cond is a flag for the thin conditional rules" core::usage = "core[x,y] is the union of all subsets of y that belong to x" CORE::usage = "CORE[x] is the function that takes u to the union of all subsets of v that belong to x" count::usage = "count is a global variable used in the test suites" COUNTABLE::usage = "COUNTABLE is the class of sets that are finite or denumerable" cross::usage = "cross[x,y] is the cross product of x and y" CROSS::usage = "CROSS is the function that takes pair[x,y] to cross[x,y]" CUP::usage = "CUP is the function that takes pair[x,y] to union[x,y]" CUPclosed::usage = "CUPclosed is the class of sets which are closed under binary union" DEDEKIND::usage = "DEDEKIND is the class of Dedekind-finite sets" DENUMERABLE::usage = "DENUMERABLE is the class of sets whose cardinality is omega" DESCENDING::usage = "DESCENDING is the class subvar[E] of all sets x with the property that for each member v of x, there is a member u of x that belongs to v" Di::usage = "The diversity relation Di is the class of ordered pairs pair[x,y] such that x is not equal to y. " diag::usage = "Quaife uses diag[x] for our complement[fix[x]]" dif::usage = "dif[x,y] is the relative complement of y in x" DIF::usage = "DIF is the function that takes pair[x,y] to intersection[x,complement[y]]" DIFclosed::usage = "DIFclosed is the class of all sets which are closed under set differences" disjoint::usage = "disjoint[x,y] is the statement that x and y are disjoint, that is, their intersection is empty." DISJOINT::usage = "DISJOINT is the class of all pair[x,y] such that x and y are disjoint" DIV::usage = "DIV is the divisibility relation for natural numbers" domain::usage = "domain[x] is the domain of x" DORA::usage = "DORA is the function that takes x to pair[domain[x],range[x]" DUP::usage = "DUP is the function that takes x to pair[x,x]" E::usage = "E is the membership relation" empty::usage = "empty[x] is the statement that x is the empty set" equal::usage = "equal[x,y] is the statement that the classes x and y are equal" equality::usage = "equality is a flag governing equality substitution" EQUIDIFF::usage = "EQUIDIFF is an equivalence relation on cart[omega,omega] used to define the integers" equiv::usage = "equiv[p,q] is the statement that p and q imply each other" EQUIV::usage = "EQUIV is the function lambda[x, eqv[x]]" EQUIVALENCE::usage = "EQUIVALENCE[x] is the statement that x is an equivalence relation" EQV::usage = "EQV is the class of (small) equivalence relations" eqv::usage = "eqv[x] is the symmetric part of trv[x]" example::usage = "example[n_,string_,comment_] is used in the test suites" exists::usage = "exists[x,y,...,p] is the statement that there exist x,y,... such that p" FACTORIAL::usage = "FACTORIAL is the factorial function for natural numbers" FINITE::usage = "the class of finite sets" first::usage = "first[x] is the first argument of an ordered pair" FIRST::usage = "FIRST is the function which takes pair[x,y] to y" fix::usage = "the fixed point class fix[x] is the class of all y such that pair[y,y] belongs to x" FIX::usage = "FIX is the function that takes x to fix[x]" flags::usage = "flags shows values of all flags" flip::usage = "flip[x] is the class of all pair[pair[u,v],w] such that pair[pair[v,u],w] belongs to x" forall::usage = "forall[x,y,...,p] is the statement that p holds for all sets x,y,..." full::usage = "full[x] is the statement that every member of x is a subset of x" FULL::usage = "FULL is the class of all full sets." FUNCTION::usage = "FUNCTION[x] is the statement that x is a function" funpart::usage = "funpart[x] is the functional part of x" FUNPART::usage = "FUNPART is the function that takes x to funpart[x]" FUNS::usage = "FUNS is the class of all functions whose domains are sets" GLB::usage = "member[pair[x,y],GLB[z]] means y is a greatest lower bound for x with respect to the relation z" greatest::usage = "greatest[x,y] is the set of x-greatest elements of y" GREATEST::usage = "member[pair[x,y],GREATEST[z]] means y is a greatest element of x with respect to the relation z" H::usage = "H[x] is Jech's hereditarily functor" HC::usage = "HC in the function that takes x to H[x]" history::usage = "history[x,y] is the history of x with respect to y" HISTORY::usage = "HISTORY[x,y] is a shorthand for an expression equal to history[x,y]" hull::usage = "hull[x,y] is the intersection of all sets belonging to x that contain y" HULL::usage = "HULL[x] is the function that takes u to the intersection of all sets that contain u and belong to x" Id::usage = "Id is the identity relation" id::usage = "id[x] is the restriction of the identity relation to x" IDEM::usage = "IDEM is the class of idempotent relations" idempotent::usage = "idempotent[x] is the statement that x = composite[x,x]" IDP::usage = "IDP is a shorthand for IMAGE[DUP]" image::usage = "image[x,y] is the image of the class y under x" IMAGE::usage = "IMAGE[x] is the function that takes y to image[x,y]. When x is a set, the function IMAGE[x] is a proper class." IMG::usage = "IMG is the function that takes pair[x,y] to image[x,y]" implies::usage = "implies[x,y] is the statement that x implies y" INDUCTIVE::usage = "INDUCTIVE[x] is the statement that x is an inductive class" intadd::usage = "intadd[x,y] is the sum of of integers x and y" INTADD::usage = "member[pair[pair[x,y],z],INTADD] holds if x and y are integers and x + y = z" intersection::usage = "intersection[x,y,...] is a flat, orderless function of any number of variables" invar::usage = "invar[x] is the class of all sets which are invariant under x" INVAR::usage = "INVAR is the relation consisting all pair[x,y] such that y is invariant under x" invariant::usage = "invariant[x,y] means y is invariant under x" inverse::usage = "the relation inverse[x] is the inverse of x" INVERSE::usage = "INVERSE is the function that takes x to inverse[x]" INVFUN::usage = "INVFUN[x] is the statement that inverse[x] is a function" iterate::usage = "iterate[x,y] is the relation whose vertical sections are the generations produced using x starting with the initial generation y" K::usage = "K is the cover relation defined as the intersection of PS and the complement of composite[PS,PS]" KURA::usage = "KURA is the function that takes pair[x,y] to Kuratowski's construction of an ordered pair" lambda::usage = "lambda[x,f[x]] is the function which takes x to f[x], and lambda[pair[x,y],f[x,y] is the function that takes pair[x,y] to f[x,y], etc." LAMBHULL::usage = "LAMBHULL is the function that takes x to HULL[x]" lb::usage = "lb[x,y] is the class of all lower bounds for y with respect to the relation x" LB::usage = "member[pair[x,y],LB[z]] means y is an lower bound for x with respect to the relation z" least::usage = "least[x,y] is the set of x-least elements of y" LEAST::usage = "member[pair[x,y],LEAST[z]] means y is a least element of x with respect to the relation z" LEFT::usage = "LEFT[x] is the function which takes y to pair[x,y]" LeftPairV::usage = "LeftPairV is the function that takes x to pair[V,x]" LISTS::usage = "LISTS is the class of all lists" LUB::usage = "member[pair[x,y],LUB[z]] means y is a least upper bound for x with respect to the relation z" map::usage = "map[x,y] is the class of all functions with domain x and range contained in y" MAP::usage = "MAP is the function which takes pair[x,y] to map[x,y]" MAXIMAL::usage = "member[pair[x,y],MAXIMAL[z]] means y is a maximal element of x with respect to the relation z" member::usage = "member[x,y] is the statement that x belongs to y" MINIMAL::usage = "member[pair[x,y],MINIMAL[z]] means y is a minimal element of x with respect to the relation z" monus::usage = "monus[x,y] is the floored difference of natural numbers nat[natsub[x,y]]" nat::usage = "nat[x] is x when x is a natural number, and 0 otherwise" natadd::usage = "natadd[x,y] is the sum of x and y if they are natural numbers" NATADD::usage = "member[pair[pair[x,y],z],NATADD] holds if x and y are natural numbers and x + y = z" natmod::usage = "natmod[x,y] is the remainder when the natural number x is divided by the natural number y" NATMOD::usage = "NATMOD is the function for the remainder obtained when one natural number is divided by another" natmul::usage = "natmul[x,y] is the product of x and y if they are natural numbers" NATMUL::usage = "member[pair[pair[x,y],z],NATMUL] holds if x and y are natural numbers and x y = z" natsub::usage = "natsub[x,y] is the difference of x and y if they are natural numbers and x is not less than y" not::usage = "not[p] represents the negation of p" omega::usage = "omega is the set of all natural numbers" OMEGA::usage = "OMEGA is the class of all ordinal numbers" ONEONE::usage = "ONEONE[x] is the statement that x is a one-to-one correspondence" oopart::usage = "oopart[x] is the one-to-one part of x" OOPART::usage = "OOPART = lambda[x,oopart[x]]" or::usage = "or[x,y,...] is a flat, orderless function of any number of variables" P::usage = "P[x] is the power class of x, that is the class of all subsets of x" pair::argx = "Warning: pair[-,-] must have exactly 2 arguments" pair::usage = "pair[x,y] is the ordered pair of x and y." PAIR::usage = "PAIR[x,y] is the ordered pair of x and y if x and y are sets and otherwise is V" pairset::usage = "pairset[x,y] = set[x,y] is a shorthand for the union of set[x] and set[y] " PAIRSET::usage = "PAIRSET is the function that takes pair[x,y] to union[set[x],set[y]]" PARTIALORDER::usage = "PARTIALORDER[x] is the statement that x is a partial order relation" partrec::usage = "partrec[x,y] is the class of partial solutions of a recursive definition with generator x and relation y" plus::usage = "plus[x] is the non-negative integer corresponding to the natural number x" PLUS::usage = "PLUS is the function that takes each natural number to the corresponding non-negative integer" PO::usage = "PO is the class of all partial order relations" PointClosed::usage = "PointClosed is the class of collections of sets that satsify the condition that points are closed" POWER::usage = "POWER is the function that takes x to P[x]" power::usage = "power[x] is the relation whose n-th vertical slice is the composite of n copies of x" PRIMES::usage = "the set of primes" PROJ::usage = "PROJ is the class of all projections, that is, idempotent functions" propersubclass::usage = "propersubclass[x,y] is the statement that x is a subclass of y but not equal to y." PS::usage = "the proper subclass relation " PSM::usage = "PSM was used in some old Otter work to define certain functions" Q::usage = "the equinumerosity relation" range::usage = "range[x] is the range of x" rank::usage = "rank[x] is the rank of x in the Zermelo-von Neumann cumulative hierarchy" RANK::usage = "RANK is the function which assigns rank[x] to x" RC::usage = "RC[x] is the function which takes any set y to its relative complement with respect to x" RCF::usage = "RCF is the function which takes any set x to RC[x]" rec::usage = "rec[x,y] is the union of the class of partial solutions of a recursive definition with generator x and relation y" RECTANGLE::usage = "RECTANGLE[x] is the predicate that x is a cartesian product" REFLEXIVE::usage = "REFLEXIVE[x] is the predicate that x is a reflexive relation" REGULAR::usage = "REGULAR is the class of all regular sets" restrict::usage = "restrict[z,x,y] is the intersection of z and cart[x,y]" RESTRICT::usage = "RESTRICT is the restriction relation" RFX::usage = "RFX is the class of all (small) reflexive relations" rfx::uage = "rfx[x] = core[RFX,x] is the reflexive core of x" RIF::usage = "RIF is a rotation-invariant function" RIGHT::usage = "RIGHT[x] is the function which takes y to pair[y,x]" RightPairV::usage = "RightPairV is the function that takes x to pair[x,V]" ROT::usage = "ROT is the function which rotates ordered triples" rotate::usage = "rotate[x] is the class obtained from x by rotating all ordered triples" RS::usage = "RS[x] is the class of all small restrictions of x" RUSSELL::usage = "RUSSELL is the class of all x that do not belong to themselves" S::usage = "S is the subset relation" second::usage = "second[x] is the second argument of an ordered pair" SECOND::usage = "SECOND is the function that maps pair[x,y] to y" SELECT::usage = "SELECT is the class of sets that admit cross-sections" set::usage = "set[x,y,z, ... ] is the set whose only members are x, y, z, ... , if these are indeed sets." setpart::usage = "setpart[x] is x when x is a set, and 0 when x is not a set" simplify::usage = "simplify is a flag that can be used to turn off certain rules" singleton::usage = "singleton[x] = set[x] is the set whose only member is x. It is the empty set if x is a proper class" SINGLETON::usage = "SINGLETON is the the function that takes x to set[x]" singlevalued::usage = "singlevalued[x] is one version of the statement that x is singlevalued" SINGVAL::usage = "SINGVAL[x] is another version of the statement that x is singlevalued" SMALLER::usage = "SMALLER is the strict numerical dominance relation" subclass::usage = "subclass[x,y] is the statement that x is contained in y" subcommutant::usage = "subcommutant[x] is the class of all y such that subclass[composite[x,y],composite[y,x]]" subcommute::usage = "subcommute[x,y] is an abbreviation for the condition subclass[composite[x,y],composite[y,x]]" SUBCOMMUTE::usage = "SUBCOMMUTE is the class of pair[x,y] such that subcommute[x,y]" subvar::usage = "subvar[x] is the class of all sets y which satisfy the condition subclass[y,image[x,y]] " SUBVAR::usage = "SUBVAR is the function which takes x to subvar[x]" subvariant::usage = "subvariant[x,y] means y is subvariant under x" succ::usage = "succ[x] is the union of x and set[x]" SUCC::usage = "SUCC is the function that takes x to succ[x]" SWAP::usage = "SWAP is the function that takes pair[x,y] to pair[y,x]" SYM::usage = "SYM is the class of all (small) symmetric relations" SYMDIF::usage = "SYMDIF is the symmetric difference function" symdif::usage = "symmdiff[x,y] is the symmetric difference of x and y" SYMMETRIC::usage = "SYMMETRIC[x] is the statement that x is a symmetric relation" T1::usage = "T1 holds all collections of sets satisfying the T1 separation condition in topology" T2::usage = "T2 holds all collections of sets satisfying the T2 separation condition in topology" tc::usage = "tc[x] is the transitive closure of x" TC::usage = "TC is the transitive closure operator" thin::usage = "thin[x] is the statement that all vertical cross sections of x are sets" thinpart::usage = "thinpart[x] is the largest thin relation obtainable as a restriction of x" TO::usage ' "TO is the class of all small total order relations" TOPS::usage = "TOPS is the class of all topologies" TOTALORDER::usage = "TOTALORDER[x] is the statement that x is a total ordering" TRANSITIVE::usage = "TRANSITIVE[x] is the statement that x is a transitive relation" transvar::usage = "transvar[x,y] is the class of all sets z for which image[x,z] is contained in image[y,z]" transvariant::usage = "transvariant[x,y,z] is the statement that image[x,z] is contained in image[y,z]" trv::usage = "trv[x] is the least transitive relation which contains composite[Id,x]" TRV::usage = "TRV is the class of (small) transitive relations" twist::usage = "twist[x] is the class obtained from x by replacing all pair[pair[t,u],pair[v,w]] in x by switching u and v " TWIST::usage = "TWIST is a function that converts cart to cross" U::usage = "U[x] is the sum class of x, that is the union of all the sets that belong to the class x" ub::usage = "ub[x,y] is the class of all upper bounds for y with respect to the relation x" UB::usage = "member[pair[x,y],UB[z]] means y is an upper bound for x with respect to the relation z" Uclosure::usage = "Uclosure[x] is the class of all sets U[y] where y is a subset of x" UCLOSURE::usage = "UCLOSURE is the function that takes x to Uclosure[x]" union::usage = "union[x,y,...] is a flat, orderless function of any number of class variables" unsafe::usage = "unsafe is a flag used to turn on rewrite rules that are valid, but considered unsafe in because they yield unsatisfactory results for some test suite examples" V::usage = "the universal class" VERTSECT::usage = "VERTSECT[z] is the function that maps x to the vectical section image[z,set[x]]" VS::usage = "VS is the function that takes x to composite[VERTSECT[x],id[domain[x]]]" WELLFOUNDED::usage = "WELLFOUNDED[x] is the statement that x is a (strict) wellfounded relation" WELLORDER::usage = "WELLORDER[x] is the statement that x is a wellordering" WF::usage = "WF is the class of all small strict wellfounded relations" wf::usage = "wf[x] is a generic well-founded relation" WFPART::usage = "WFPART = lambda[x, wf[x]]" WO::usage = "WO is the class of all small wellordering relations" X::usage = "X[x] is the set of cross-sections of x" XS::usage = "XS is the function lambda[x, X[x]]" Z::usage = "Z is the set of integers" ZN::usage = "ZN = composite[Id,U[subcommutant[inverse[E]]]]" Begin["`Private`"] (* begin the private context (implementation part) *) (* definition of auxiliary functions and local (static) variables *) Month[n_] := Part[{" Jan ", " Feb ", " Mar ", " Apr ", " May ", " Jun ", " Jul ", " Aug ", " Sep ", " Oct ", " Nov ", " Dec "}, n] PrintDate[] := Module[{date=Date[]}, Print["It is now: ", Part[date,1],Month[Part[date,2]],Part[date,3]," at ", Part[date,4],":", Part[date,5]]] PrintDate[] (* replaced 2002 November 23 based on VARLIST.NB *) varlist[x_] := {x} (* replaced 2002 November 23 based on VARLIST.NB *) varlist[pair[x_,y_]] := Union[Flatten[{x,y} /. pair -> List]] (* Is the expression x free of all variables which occur in y? *) allfreeQ[x_,y_] := Apply[And,Map[FreeQ[x,#]&,varlist[y]]] (* added 2004 June 8 to fix a nuisance with two general equality substitution rules *) noblanks[x_] := Equal[{},Position[x,Verbatim[Blank[]]]] (* definition of the exported functions *) count = 0 (* initialize counter *) example[n_,string_,comment_] := Module[{t},count++; Print["In[",n,"]:= ",string]; If[comment!="",Print[comment]]; Print[""]; t = Timing[ToExpression[string]]; Print["Out[",n,"]= ",Part[t,2]]; Print[""]; Print["Execution time = ", Round[Part[t,1]/Second]," Seconds"]; Print["\n"]] (* Goedel's algorithm for class formation. *) (* Rules that must be assigned before attributes are set. *) and[p_] := p (* added 2000 September 13 *) composite[] := Id composite[x_] := composite[Id,x] intadd[x_] := x intersection[x_] := x natadd[x_] := x (* added 2002 August 29 based on MUL-ZERO.NB *) natmul[x_] := x or[p_] := p union[x_] := x Attributes[and] = {Flat,Orderless,OneIdentity} Attributes[composite] = {Flat,OneIdentity} Attributes[disjoint] = {Orderless} Attributes[equal] = {Orderless} Attributes[intadd] = {Flat,OneIdentity,Orderless} Attributes[intersection] = {Flat,Orderless,OneIdentity} (* added 2002 July 28 based on ADD-NAT.NB *) Attributes[natadd] = {Flat,OneIdentity,Orderless} (* added 2002 August 28-19 based on MUL-SWAP.NB and MULASSOC.NB *) Attributes[natmul] = {Flat,OneIdentity,Orderless} Attributes[or] = {Flat,Orderless,OneIdentity} (* introduced 2005 January 10 in SET.NB *) Attributes[set] = {Orderless} Attributes[union] = {Flat,Orderless,OneIdentity} not[True] := False (* Truth Table *) not[False] := True not[not[p_]] := p (* Double Negation *) not[or[p_,q_]] := and[not[p],not[q]] (* DeMorgan Laws *) not[and[p_,q_]] := or[not[p],not[q]] and[True,p_] := p (* Truth Table *) and[False,p_] := False and[p_,p_] := p (* Idempotent Law *) and[not[p_],p_] := False (* Excluded Middle *) and[p_,or[q_,r_]] := or[and[p,q],and[p,r]] (* Distributive Law *) or[True,p_] := True (* Truth Table *) or[False,p_] := p or[p_,p_] := p (* Idempotent Law *) or[not[p_],p_] := True (* Dichotomy Law *) or[p_,and[p_,q_]] := p (* Absorptive Law *) (* An empirical set of simplification rules *) or[and[p_,q_],and[not[p_],q_]] := q or[p_,and[not[p_],q_]] := or[p,q] or[not[p_],and[p_,q_]] := or[not[p],q] or[and[p_,q_],and[p_,not[q_],r_]] := or[and[p,q],and[p,r]] or[and[p_,not[q_]],and[p_,q_,r_]] := or[and[p,not[q]],and[p,r]] or[and[not[p_],q_],and[p_,r_],and[q_,r_]] := or[and[not[p],q],and[p,r]] (* Rules modified 1998 September 12 *) or[and[not[p_],r_],and[not[q_],r_],and[p_,q_]] := or[and[p,q],r] or[and[p_,r_],and[not[q_],r_],and[not[p_],q_]] := or[and[not[p],q],r] or[and[p_,r_],and[q_,r_],and[not[p_],not[q_]]] := or[and[not[p],not[q]],r] (* definition of logical equivalence *) equiv[p_,q_] := and[implies[p,q],implies[q,p]] (* some predicates *) propersubclass[x_,y_] := and[subclass[x,y],not[subclass[y,x]]] singlevalued[z_] := equal[0,fix[composite[inverse[z],complement[Id],z]]] (* introduced 2004 October 26 in AXCH-AC1.NB *) class[w_,axch] := Module[{x = Unique[],y = Unique[]},class[w,forall[x, implies[not[member[0,x]],exists[y,and[FUNCTION[y],subclass[y,inverse[E]],equal[domain[y],x]]]]]]] (* introduced 2004 October 26 in AXCH.NB *) class[w_,AxCh] := class[w,and[FUNCTION[CHOICE],subclass[CHOICE,inverse[E]], equal[domain[CHOICE],complement[set[0]]]]] (* introduced 2004 December 30 in AXREG.NB *) class[w_,AxReg] := complement[image[V,complement[REGULAR]]] (* introduced 2004 March 20 in EQV-WRAP.NB *) class[z_,EQUIVALENCE[x_]] := Module[{u = Unique[],v = Unique[]},class[z, and[TRANSITIVE[x],forall[u,v,implies[member[pair[u,v],x],member[pair[v,u],x]]]]]] (* basic rules for membership *) (* Special rule used to avoid assuming axiom of regularity Goedel had used the rule member[x,x] = False. *) class[w_,member[x_,x_]] := Module[{y=Unique[]},class[w, exists[y,and[member[x,y],equal[x,y]]]]] (* Theorems A-1,A-2A and A-2B in A1 *) class[w_,member[u_,A[x_]]] := Module[{v=Unique[]},class[w,and[member[u,V], forall[v,implies[member[v,x],member[u,v]]]]]] (* corrected 2001 October 14 *) class[u_,member[v_,Aclosure[x_]]] := Module[{w=Unique[]}, class[u,and[member[v,V],exists[w,and[subclass[w,x], equal[v,A[w]]]]]]] (* membership rule for ASSOC revised 2001 November 15 *) class[x_,member[y_,ASSOC]] := Module[{u=Unique[],v=Unique[],w=Unique[]},class[x,exists[u,v,w, equal[pair[pair[pair[u,v],w],pair[u,pair[v,w]]],y]]]] (* added 2003 July 1 based on ASSOC.NB *) class[w_,associative[x_]] := class[w,and[subclass[x,cart[cart[V,V],V]], equal[composite[x,cross[x,Id]],composite[x,cross[Id,x],ASSOC]]]] (* added 2001 December 1 *) class[u_,member[v_,card[x_]]] := Module[{w=Unique[]},class[u,and[member[v,V], forall[w,implies[and[member[w,OMEGA],member[pair[x,w],Q]],member[v,w]]]]]] class[w_,member[z_,COARSER]] := Module[{x = Unique[],y = Unique[]}, class[w,exists[x,y,and[equal[z,pair[x,y]],subclass[x,y], equal[U[x],U[y]]]]]] class[w_,member[t_,COMPACT]] := Module[{x = Unique[],y = Unique[]}, class[w,and[member[t,V],forall[x,implies[and[subclass[x,t],subclass[U[t],U[x]]], exists[y,and[member[y,FINITE],subclass[y,x],subclass[U[x],U[y]]]]]]]]] class[w_,member[z_,composite[x_,y_]]] := Module[{u = Unique[],v = Unique[]},class[w,exists[u,v, and[equal[z,pair[u,v]],member[pair[u,v],composite[x,y]]]]]] (* Theorem CO-DF2 in CO2 and Theorems CO-COM-V,CO-1A' and CO-1B' in CO4 *) class[z_,member[pair[u_,w_],composite[x_,y_]]] := Module[{v = Unique[]},class[z,exists[v, and[member[u,V],member[w,V], member[pair[u,v],y],member[pair[v,w],x]]]]] (* added 2004 April 17 *) class[u_,member[v_,core[x_,y_]]] := Module[{w = Unique[]}, class[u,exists[w,and[member[w,x],member[v,w],subclass[w,y]]]]] (* Theorems X-OP-1,X-OP-2 and X-OP-3 in X2 *) class[z_,member[w_,cross[x_,y_]]] := Module[{u1 = Unique[],u2 = Unique[],v1 = Unique[],v2 = Unique[]}, class[z,exists[u1,u2,v1,v2,and[ equal[pair[pair[u1,u2],pair[v1,v2]],w], member[pair[u1,v1],x],member[pair[u2,v2],y]]]]] (* introduced 2005 January 27 *) class[w_,member[x_,DEDEKIND]] := Module[{y = Unique[]},class[w,and[member[x,V], forall[y,implies[and[subclass[y,x],member[pair[x,y],Q]],equal[x,y]]]]]] class[w_,member[x_,DIV]] := Module[{y = Unique[]},class[w,and[member[first[x],V],exists[y, and[member[y,omega],equal[second[x],natmul[first[x],y]]]]]]] (* Theorems DO-1A',DO-1B and DO-1C in DO1. Goedel's definition 1.5 modified 9/15/96 *) class[w_,member[u_,domain[x_]]] := Module[{v = Unique[]},class[w,exists[v, and[member[u,V],member[pair[u,v],x]]]]] (* added 2001 December 18 *) class[z_,member[w_,DORA]] := Module[{u = Unique[]},class[z,exists[u, equal[pair[u,pair[domain[u],range[u]]],w]]]] (* Theorems DUP-1 and DUP-2 in DUP *) class[z_,member[w_,DUP]] := Module[{u = Unique[]},class[z,exists[u, equal[pair[u,pair[u,u]],w]]]] (* introduced 2004 May 12 *) class[w_,member[x_,eqv[y_]]]:= class[w,and[member[x,trv[y]],member[x,inverse[trv[y]]]]] class[w_,member[x_,FINITE]] := Module[{y = Unique[]},class[w,and[member[x,V], not[exists[y,and[member[x,y],subclass[y,image[PS,y]]]]]]]] (* added 2001 November 13 *) class[w_,member[x_,first[y_]]] := Module[{u = Unique[],v = Unique[]},class[w,and[member[x,V], forall[u,v,implies[equal[y,pair[u,v]],member[x,u]]]]]] (* modified 2003 June 17 *) class[w_,member[x_,fix[y_]]] := class[w,and[member[x,V],member[pair[x,x],y]]] class[x_,member[y_,funpart[z_]]] := Module[{u = Unique[],v = Unique[]},class[x,exists[u,v, and[equal[pair[u,v],y],equal[image[z,set[u]],set[v]]]]]] class[x_,member[y_,GLB[z_]]] := Module[{u = Unique[],v = Unique[],w=Unique[]},class[x,exists[u,v, and[equal[y,pair[u,v]],member[y,LB[z]],forall[w,implies[ member[pair[u,w],LB[z]],member[pair[w,v],z]]]]]]] class[x_,member[y_,GREATEST[z_]]] := Module[{u = Unique[],v = Unique[]},class[x,exists[u,v, and[equal[y,pair[u,v]],member[v,u],subclass[cart[u,set[v]],z]]]]] (* added 2004 September 5 based on HISTORY.NB *) class[u_,member[v_,history[x_,y_]]] := class[u,and[ equal[composite[x,id[image[y,set[first[second[v]]]]]],second[second[v]]], equal[first[v],first[second[v]]],member[first[v],V], member[image[y,set[first[second[v]]]],V]]] (* added 2004 March 29 based on HULL.NB *) class[u_,member[v_,hull[x_,y_]]] := Module[{w = Unique[]}, class[u,forall[w,implies[and[member[w,x],subclass[y,w]],member[v,w]]]]] (* revised 2001 November 15 *) class[u_,member[w_,IMAGE[z_]]] := Module[{x = Unique[],y = Unique[]},class[u,exists[x,y, and[equal[pair[x,y],w],equal[image[z,x],y]]]]] class[w_,member[v_,image[z_,x_]]] := Module[{u = Unique[]},class[w,exists[u, and[member[v,V],member[u,x],member[pair[u,v],z]]]]] (* added 2003 August 9 *) class[u_,member[v_,intadd[x_,y_]]] := Module[{w=Unique[]},class[u,and[member[v,V], forall[w,implies[member[pair[pair[x,y],w],INTADD],member[v,w]]]]]] (* membership rule for INTADD added 2003 July 25 *) class[x_,member[y_,INTADD]] := Module[{u = Unique[],v = Unique[],w = Unique[]}, class[x,exists[u,v,w,and[equal[y,pair[pair[u,v],w]], member[u,Z],member[v,Z],member[w,Z],subclass[composite[u,v],w]]]]] (* restored 29 June 2003 from GOEDEL52.L72 *) class[x_,member[w_,inverse[z_]]] := Module[{u = Unique[],v = Unique[]},class[x, exists[u,v,and[equal[pair[u,v],w],member[pair[v,u],z]]]]] (* definition of iterate added 2002 April 15 *) class[w_,member[x_,iterate[y_,z_]]] := Module[{p = Unique[]},class[w,exists[p,and[member[x,p], subclass[p,union[cart[set[0],z], composite[y,p,inverse[SUCC],id[omega]]]]]]]] (* added 2000 May 24 based on VS-K.NB; wraper 2005 January 7 *) class[w_,member[x_,K]] := class[w,and[member[x,PS],not[member[x,composite[PS,PS]]]]] class[x_,member[y_,LB[z_]]] := Module[{u = Unique[],v = Unique[]},class[x,exists[u,v, and[equal[y,pair[u,v]],subclass[cart[set[v],u],z]]]]] class[x_,member[y_,LEAST[z_]]] := Module[{u = Unique[],v = Unique[]},class[x,exists[u,v, and[equal[y,pair[u,v]],member[v,u],subclass[cart[set[v],u],z]]]]] (* revised 2001 November 15 *) class[x_,member[y_,LEFT[z_]]] := Module[{u = Unique[],v = Unique[]},class[x, exists[u,v,and[equal[pair[u,pair[v,u]],y],equal[v,z]]]]] (* rules added 98/01/22 *) class[x_,member[w_,LeftPairV]] := Module[{u = Unique[],v = Unique[]},class[x, exists[u,v,and[equal[pair[u,v],w],equal[v,pair[V,u]]]]]] class[x_,member[y_,LUB[z_]]] := Module[{u = Unique[],v = Unique[],w=Unique[]},class[x,exists[u,v, and[equal[y,pair[u,v]],member[y,UB[z]],forall[w,implies[ member[pair[u,w],UB[z]],member[pair[v,w],z]]]]]]] (* added 2001 April 25 *) class[z_,member[w_,map[x_,y_]]] := class[z,and[member[w,FUNS],equal[domain[w],x],subclass[w,cart[V,y]]]] class[x_,member[y_,MAXIMAL[z_]]] := Module[{u = Unique[],v = Unique[],w=Unique[]},class[x,exists[u,v, and[equal[y,pair[u,v]],member[v,u],forall[w,implies[ and[member[w,u],member[pair[v,w],z]],equal[v,w]]]]]]] class[x_,member[y_,MINIMAL[z_]]] := Module[{u = Unique[],v = Unique[],w=Unique[]},class[x,exists[u,v, and[equal[y,pair[u,v]],member[v,u],forall[w,implies[ and[member[w,u],member[pair[w,v],z]],equal[v,w]]]]]]] (* wrapped rule introduced 2005 February 12 *) class[w_,member[x_,nat[y_]]] := class[w,and[member[x,y],member[y,omega]]] (* added 2002 July 27 *) class[u_,member[v_,natadd[x_,y_]]] := Module[{w=Unique[]},class[u,and[member[v,V], forall[w,implies[member[pair[pair[x,y],w],NATADD],member[v,w]]]]]] (* added 2005 May 6 *) class[u_,member[v_,natmod[x_,y_]]] := Module[{w=Unique[]},class[u,and[member[v,V], forall[w,implies[member[w,image[image[inverse[NATADD],set[x]],image[DIV,set[y]]]],member[v,w]]]]]] (* added 2002 July 27 *) class[u_,member[v_,natmul[x_,y_]]] := Module[{w=Unique[]},class[u,and[member[v,V], forall[w,implies[member[pair[pair[x,y],w],NATMUL],member[v,w]]]]]] (* added 2002 July 27 *) class[u_,member[v_,natsub[x_,y_]]] := Module[{w=Unique[]},class[u,and[member[v,V], forall[w,implies[member[pair[pair[y,w],x],NATADD],member[v,w]]]]]] class[z_,member[x_,omega]] := Module[{w = Unique[]},class[z,forall[w,implies[and[member[0,w], subclass[image[SUCC,w],w]],member[x,w]]]]] class[w_,member[x_,OMEGA]] := class[w,and[member[x,V], subclass[intersection[P[x],FULL],succ[x]]]] (* added 2004 May 6 *) class[x_,member[y_,oopart[z_]]] := Module[{u = Unique[],v = Unique[]}, class[x,exists[u,v,and[equal[pair[u,v],y], equal[image[z,set[u]],set[v]], equal[image[inverse[z],set[v]],set[u]]]]]] class[u_,member[v_,pair[x_,y_]]] := Module[{z=Unique[]},class[u,exists[z, and[equal[pair[x,y],z],member[v,z]]]]] (* added 2004 July 29 *) class[u_,member[v_,partrec[x_,y_]]] := Module[{w = Unique[]},class[u, and[invariant[y,domain[v]],exists[w,and[equal[w,composite[id[v],inverse[FIRST]]], subclass[v,composite[x,id[composite[IMAGE[w],VERTSECT[y]]],inverse[FIRST]]]]]]]] (* definition of PointClosed added 2003 July 3 based on PTCLOSED.NB *) class[w_,member[t_,PointClosed]] := class[w,and[member[t,V],subclass[image[SINGLETON,U[t]],image[RC[U[t]],t]]]] (* definition of power added 2002 May 20 *) class[w_,member[x_,power[y_]]] := Module[{p = Unique[]},class[w,exists[p,and[member[x,p], subclass[p,union[cart[set[0],Id], composite[cross[Id,y],p,inverse[SUCC],id[omega]]]]]]]] (* revised 2002 January 8 *) class[w_,member[x_,Q]] := Module[{u = Unique[],v = Unique[],z = Unique[]}, class[w,exists[u,v,z,and[ONEONE[z],equal[pair[u,v],x], equal[u,domain[z]],equal[v,range[z]]]]]] class[w_,member[v_,range[z_]]] := Module[{u = Unique[]},class[w,exists[u, and[member[v,V],member[pair[u,v],z]]]]] (* membership rule for rank *) class[w_,member[y_,rank[x_]]] := Module[{z=Unique[]}, class[w,and[member[y,V],forall[z, implies[and[member[x,V],member[pair[z,x],ZN],member[z,OMEGA]], member[y,z]]]]]] (* relative complementation function revised 2001 November 15 *) class[z_,member[w_,RC[x_]]] := Module[{u = Unique[],v = Unique[]}, class[z,exists[u,v,and[equal[pair[u,v],w],disjoint[u,v], equal[union[u,v],x]]]]] (* added 2004 July 29 *) class[u_,member[v_,rec[x_,y_]]] := Module[{w = Unique[]},class[u, exists[w,and[member[v,w],member[w,partrec[x,y]]]]]] class[w_,member[x_,REGULAR]] := Module[{y = Unique[]},class[w, and[member[x,V],forall[y, implies[subclass[y,image[E,y]],not[member[x,y]]]]]]] (* revised 2001 November 15 *) class[x_,member[y_,RIF]] := Module[{u=Unique[],v=Unique[],w=Unique[]}, class[x,exists[u,v,w, equal[pair[pair[pair[u,w],pair[v,u]],pair[w,v]],y]]]] (* revised 2001 November 15 *) class[x_,member[y_,RIGHT[z_]]] := Module[{u = Unique[],v = Unique[]},class[x, exists[u,v,and[equal[pair[u,pair[u,v]],y],equal[v,z]]]]] (* rules added 98/01/22 *) class[x_,member[w_,RightPairV]] := Module[{u = Unique[],v = Unique[]},class[x, exists[u,v,and[equal[pair[u,v],w],equal[v,pair[u,V]]]]]] (* membership rule for ROT revised 2001 November 15 *) class[x_,member[y_,ROT]] := Module[{u = Unique[],v = Unique[],w = Unique[]}, class[x,exists[u,v,w,equal[pair[pair[pair[u,v],w], pair[pair[w,u],v]],y]]]] class[x_,member[y_,rotate[z_]]] := Module[{u = Unique[],v = Unique[],w = Unique[]},class[x, exists[u,v,w,and[member[pair[pair[u,w],v],z], equal[pair[pair[v,u],w],y]]]]] (* modified 2003 June 17 *) class[w_,member[x_,RUSSELL]] := class[w,and[member[x,V],not[member[x,x]]]] (* added 2001 November 13 *) class[w_,member[x_,second[y_]]] := Module[{u = Unique[],v = Unique[]},class[w,and[member[x,V], forall[u,v,implies[equal[y,pair[u,v]],member[x,v]]]]]] (* wrapped rule introduced 2004 May 16 *) class[w_,member[x_,setpart[y_]]] := class[w,and[member[x,y],member[y,V]]] (* added 2002 April 6 *) class[w_,member[x_,SMALLER]] := Module[{u = Unique[],v = Unique[],y=Unique[],z = Unique[]}, class[w,exists[u,v,and[equal[pair[u,v],x], exists[y,and[ONEONE[y],equal[u,domain[y]],subclass[range[y],v]]], not[exists[z,and[ONEONE[z],equal[v,domain[z]],subclass[range[z],u]]]]]]]] class[w_,member[z_,SWAP]] := Module[{u = Unique[],v = Unique[]},class[w, exists[u,v,equal[pair[pair[u,v],pair[v,u]],z]]]] (* added 2003 June 23 based on T1.NB *) class[w_,member[t_,T1]] := class[w,and[member[t,V], subclass[composite[Di,id[U[t]]],composite[complement[inverse[E]],id[t],E]]]] (* added 2003 June 23 based on T2.NB *) class[w_,member[t_,T2]] := class[w,and[member[t,V], subclass[composite[id[U[t]],Di,id[U[t]]],composite[inverse[E],id[t],DISJOINT,id[t],E]]]] (* added 2005 February 4 *) class[w_,member[y_,tc[x_]]] := Module[{u = Unique[], v = Unique[]}, class[w,exists[u,and[subclass[u,x],forall[v,implies[and[full[v],subclass[u,v]],member[y,v]]]]]]] (* added 2004 May 13 *) class[w_,member[x_,thinpart[y_]]] := class[w,and[member[x,y],member[first[x],V],member[image[y,set[first[x]]],V]]] (* revised 2003 May 23 based on DEF-CLOS.NB *) class[w_,member[x_,TOPS]] := class[w,and[equal[x,Uclosure[x]],member[x,V], subclass[image[CAP,cart[x,x]],x]]] (* revised 2004 March 29 based on HULL.NB *) class[u_,member[x_,trv[y_]]] := Module[{z = Unique[]}, class[u,exists[z,and[member[x,hull[TRV,z]],subclass[z,y],subclass[z,cart[V,V]]]]]] (* added 1999 October 10 based on TWIST.1 *) class[w_,member[z_,TWIST]] := Module[{u=Unique[],v=Unique[],x=Unique[],y=Unique[]}, class[w,exists[u,v,x,y,equal[ pair[pair[pair[u,v],pair[x,y]],pair[pair[u,x],pair[v,y]]],z]]]] class[t_,member[u_,twist[v_]]] := Module[{w = Unique[],x = Unique[],y = Unique[],z = Unique[]}, class[t,exists[w,x,y,z,and[equal[pair[pair[w,x],pair[y,z]],u], member[pair[pair[w,y],pair[x,z]],v]]]]] class[w_,member[x_,U[z_]]] := Module[{y = Unique[]},class[w,exists[y, and[member[x,y],member[y,z]]]]] class[x_,member[y_,UB[z_]]] := Module[{u = Unique[],v = Unique[]},class[x,exists[u,v, and[equal[y,pair[u,v]],subclass[cart[u,set[v]],z]]]]] (* revised 2001 November 15 *) class[x_,member[y_,VERTSECT[z_]]] := Module[{u = Unique[],v = Unique[]}, class[x,exists[u,v,and[equal[y,pair[u,v]], equal[image[z,set[u]],v]]]]] (* added 2002 November 11 *) class[w_,member[x_,Z]] := Module[{y = Unique[]}, class[w,member[x,image[VERTSECT[y],cart[omega,omega]]]]/.y->EQUIDIFF] (* added 2001 July 5 *) class[x_,member[y_,ZN]] := Module[{u = Unique[],v= Unique[],w = Unique[]}, class[x,exists[w,and[member[y,composite[Id,w]], subclass[composite[inverse[E],w],composite[inverse[E],IMAGE[w]]]]]]] (* introduced 2004 March 21 in PO-WRAP.NB *) class[w_,PARTIALORDER[x_]] := class[w,and[equal[domain[x],fix[x]],equal[fix[x],range[x]], subclass[intersection[x,inverse[x]],Id],TRANSITIVE[x]]] (* introduced 2004 March 18 in RFX-WRAP.NB *) class[w_,REFLEXIVE[x_]] := Module[{z = Unique[]},class[w,forall[z, implies[member[z,x],and[member[first[z],fix[x]],member[second[z],fix[x]]]]]]] (* Definition DF-SU-1,DF-SU-2 and DF-SU-3 in AX-A *) class[w_,subclass[x_,y_]] := Module[{u = Unique[]},class[w, forall[u,implies[member[u,x],member[u,y]]]]] (* introduced 2004 September 5 in WF-REC-4.NB *) class[w_,subvariant[x_,y_]] := Module[{z = Unique[]},class[w,forall[z,implies[member[z,y],member[z,image[x,y]]]]]] (* revised 2004 February 10 *) class[w_,TOTALORDER[x_]] := class[w,and[ANTISYMMETRIC[x],TRANSITIVE[x],equal[union[x,inverse[x]],cart[fix[x],fix[x]]]]] (* introduced 2004 March 20 in EQV-WRAP.NB *) class[z_,TRANSITIVE[x_]] := Module[{u = Unique[],v = Unique[],w = Unique[]}, class[z,and[subclass[x,cart[V,V]],forall[u,v,w, implies[and[member[pair[u,v],x],member[pair[v,w],x]],member[pair[u,w],x]]]]]] (* added 2003 September 27 *) class[w_,WELLFOUNDED[x_]] := Module[{y=Unique[]},class[w,and[subclass[x,cart[V,V]],forall[y,implies[subvariant[x,y],equal[0,y]]]]]] (* wrapped 2004 January 24 *) class[w_,WELLORDER[x_]] := class[w,and[REFLEXIVE[x],subclass[P[fix[x]],union[set[0],domain[funpart[LEAST[x]]]]]]] class[x_,False]:=0 class[x_,True]:=V /; AtomQ[x] class[pair[u_,v_],True] := cart[class[u,True],class[v,True]] class[z_,member[z_,x_]] := x /; And[FreeQ[x,z],AtomQ[z]] (* axiom B.1 membership relation *) class[pair[u_,v_],member[u_,v_]] := E /; And[AtomQ[u],AtomQ[v]] (* axiom B.2 intersection *) class[x_,and[p_,q_]] := intersection[class[x,p],class[x,q]] (* added 1996 July 28: *) class[x_,or[p_,q_]] := union[class[x,p],class[x,q]] (* axiom B.3 complement *) class[x_,not[p_]] := intersection[complement[class[x,p]],class[x,True]] (* axiom B.4 domain and Goedel's equation 2.8 on page 9 *) class[x_,exists[y_,p_]] := domain[class[pair[x,y],p]] (* axiom B.5 cartesian product an interpretation of Goedel's equations 2.41 and 2.7 on page 9 *) class[pair[u_,v_],p_] := cart[class[u,p],class[v,True]] /; allfreeQ[p,v] class[pair[u_,v_],p_] := cart[class[u,True],class[v,p]] /; allfreeQ[p,u] (* axiom B.6 inverse *) class[pair[u_,v_],member[v_,u_]] := inverse[E] /; And[AtomQ[u],AtomQ[v]] (* The following rules replace Goedel's rotation rules on page 9: *) (* revised 2000 January 13 *) class[pair[pair[u_,v_],w_],p_] := composite[class[pair[v,w],p],SECOND, id[cart[class[u,True],V]]] /; allfreeQ[p,u] (* revised 2000 January 13 *) class[pair[pair[u_,v_],w_],p_] := composite[class[pair[u,w],p],FIRST, id[cart[V,class[v,True]]]] /; allfreeQ[p,v] (* revised 2000 January 13 *) class[pair[w_,pair[u_,v_]],p_] := composite[id[cart[class[u,True],V]], inverse[SECOND],class[pair[w,v],p]] /; allfreeQ[p,u] (* revised 2000 January 13 *) class[pair[w_,pair[u_,v_]],p_] := composite[id[cart[V,class[v,True]]], inverse[FIRST],class[pair[w,u],p]] /; allfreeQ[p,v] (* special page 10 maneuver revised 9/15/96 *) class[u_,member[x_,y_]] := Module[{v = Unique[]}, class[u,exists[v,and[equal[x,v],member[v,y]]]]] /; FreeQ[varlist[u],x] (* new rules for equality *) class[pair[u_,v_],equal[u_,v_]] := Id /; And[AtomQ[u],AtomQ[v]] class[pair[u_,v_],equal[v_,u_]] := Id /; And[AtomQ[u],AtomQ[v]] class[x_,equal[x_,y_]] := intersection[set[y],class[x,True]] /; allfreeQ[y,x] class[x_,equal[y_,x_]] := intersection[set[y],class[x,True]] /; allfreeQ[y,x] (* AX-EQ in AX-A. Goedel's Axiom A.3 of Coextension. Revised 1996 August 23 *) class[w_,equal[x_,y_]] := intersection[class[w,subclass[x,y]], class[w,subclass[y,x]]] /; And[Or[Not[MemberQ[varlist[w],x]], Not[MemberQ[varlist[w],y]]], Not[SameQ[Head[x],pair]], Not[SameQ[Head[y],pair]]] (* corrections added 9/17/96 at 9:20 p.m. *) class[w_,equal[set[u_],set[v_]]] := class[w,equal[u,v]] /; MemberQ[varlist[w],u] || MemberQ[varlist[w],v] || member[u,V] || member[v,V] (* rules for pairs *) BadPair := Module[{},Print[pair::argx]; Abort[]] pair[] := BadPair pair[x_] := BadPair pair[x_,y_,z__] := BadPair (* rules that apply when x or y is known not to be a set *) pair[x_,y_] := pair[V,y] /; Not[V === x] && not[member[x,V]] pair[x_,y_] := pair[x,V] /; Not[V === y] && not[member[y,V]] (* rule that applies when z does not occur in varlist[u] or when z does occur in x or y. *) class[u_,equal[pair[x_,y_],z_]] := Module[{v=Unique[]}, class[u,exists[v,and[equal[pair[x,y],v],equal[v,z]]]]] /; Not[MemberQ[varlist[u],z]] || Not[FreeQ[{x,y},z]] (* First rule that applies when z does occur in varlist[w] and z does not occur in either x or y. This rule only applies in the special case when it is known somehow that x and y are sets. *) class[w_,equal[pair[x_,y_],z_]] := Module[{u=Unique[],v=Unique[]}, class[(w/.z->pair[u,v]),and[equal[x,u],equal[y,v]]]] /; And[MemberQ[varlist[w],z],FreeQ[{x,y},z], Or[member[x,V],MemberQ[varlist[w],x]], Or[member[y,V],MemberQ[varlist[w],y]]] (* next two rules were modified 1998 March 12 *) (* rule that applies when one does not know whether or not x is a set *) class[u_,equal[pair[x_,y_],z_]] := Module[{v=Unique[]}, class[u,or[and[not[member[x,V]],equal[pair[V,y],z]], exists[v,and[equal[x,v],equal[pair[v,y],z]]]]]] /; Not[MemberQ[varlist[u],x]] && UnsameQ[V,x] && Not[member[x,V] === True] (* rule that applies when one does not know whether or not y is a set *) class[u_,equal[pair[x_,y_],z_]] := Module[{v=Unique[]}, class[u,or[and[not[member[y,V]],equal[pair[x,V],z]], exists[v,and[equal[y,v],equal[pair[x,v],z]]]]]] /; Not[MemberQ[varlist[u],y]] && UnsameQ[V,y] && Not[member[y,V] === True] (* added 9/15/96 *) class[pair[u_,v_],equal[pair[V,u_],v_]] := LeftPairV class[pair[u_,v_],equal[pair[u_,V],v_]] := RightPairV (* added 1/18/98 *) class[pair[u_,v_],equal[pair[V,v_],u_]] := inverse[LeftPairV] class[pair[u_,v_],equal[pair[v_,V],u_]] := inverse[RightPairV] (* added 9/17/96 *) image[inverse[RightPairV],x_] := 0 /; composite[Id,x] == x image[inverse[LeftPairV],x_] := 0 /; composite[Id,x] == x (* rules added 1998 October 11 *) class[w_,equal[pair[V,y_],z_]] := Module[{v = Unique[]}, class[w,or[and[not[member[y,V]],equal[pair[V,V],z]], and[member[y,V],exists[v,and[equal[pair[V,v],z],equal[v,y]]]]]]] /; Not[allfreeQ[y,w]] class[w_,equal[pair[x_,V],z_]] := Module[{v = Unique[]}, class[w,or[and[not[member[x,V]],equal[pair[V,V],z]], and[member[x,V],exists[v,and[equal[pair[v,V],z],equal[v,x]]]]]]] /; Not[allfreeQ[x,w]] class[w_,equal[pair[V,V],w_]] := set[pair[V,V]] class[w_,equal[pair[V,V],x_]] := Module[{v = Unique[]}, class[w,exists[v,and[equal[pair[V,V],v],equal[v,x]]]]] /; Not[MemberQ[x,varlist[w]]] (* unconventional definition for FUNCTION revised 2001 November 24 *) class[w_,FUNCTION[x_]] := Module[{z = Unique[]}, class[w,and[subclass[x,cart[V,V]],forall[z,or[ not[member[z,x]],not[member[z,composite[Di,x]]]]]]]] Print["Loading Simplification Rules"]; (* unconditional rules *) (* Theorem A-3 in A1 *) A[0] := V (* Theorem ACL-A in ACL1 proved 2001 September 29 *) A[Aclosure[x_]] := A[x] (* derived 2004 December 10 in AP-IMG.NB *) A[cart[x_,intersection[z_,image[V,y_]]]] := union[A[cart[x,z]],complement[image[V,y]]] (* temporary rule added 2002 January 1 based on PAIR-MEM.NB *) A[cart[set[x_],set[y_]]] := PAIR[x,y] (* temporary rule added 2002 January 1 based on PAIR-MEM.NB *) A[cart[cart[set[x_],set[y_]],set[z_]]] := PAIR[PAIR[x,y],z] (* Theorem SP-A-C-A in SP3 *) A[complement[A[x_]]] := complement[image[V,x]] (* Theorem A-C-IM-V in A1 added 1998 April 19 *) A[complement[image[V,x_]]] := image[V,x] (* Theorem SR-A-C in SR1 proved 1998 October 18 *) A[complement[image[S,set[x_]]]] := complement[image[V,x]] (* Theorem DI-A-PC in DI added 1998 July 2 *) A[complement[P[x_]]] := complement[image[Di,complement[x]]] (* Theorem REG-C-A in REG2 proved 1999 March 18 *) A[complement[REGULAR]] := complement[image[V,complement[REGULAR]]] (* Corollary SP-A-C1 in SP3 proved 1998 December 8 *) A[complement[set[x_]]] := 0 (* Theorem DESC-A in REG1 proved 1999 March 18 *) A[DESCENDING] := 0 (* Theorem FIN-A in FINITE proved 2000 March 18 *) A[FINITE] := 0 (* added 2003 February 22 based on FIX-HULL.NB *) A[fix[HULL[x_]]] := A[x] (* added 2002 July 27 based on A-FP-UCL.NB *) A[fix[UCLOSURE]] := set[0] (* Theorem FUL-A-0 in FUL3 added 1998 February 7 *) A[FULL] := 0 (* added 2001 March 28 based on ADJOIN.NB *) A[image[ADJOIN[x_],y_]] := union[x,A[y],complement[image[V,set[x]]]] (* Theorem BA-A-SC in BIGCAP/BA1 proved 1998 December 9 *) A[image[BIGCAP,x_]] := A[U[x]] (* added 1999 October 5 based on CAP-CUP.1 *) A[image[CAP,x_]] := intersection[A[domain[x]],A[range[x]]] (* added 1999 October 5 based on CART.1 *) A[image[CART,x_]] := union[cart[A[domain[x]],A[range[x]]], complement[image[V,domain[x]]]] (* added 2003 October 28 based on APPLY.NB *) A[image[x_,cart[set[y_],set[z_]]]] := APPLY[x,PAIR[y,z]] (* added 2001 April 30 based on CLIQUES2.NB *) A[image[CLIQUES,x_]] := cliques[A[x]] (* added 1999 October 5 based on CAP-CUP.2 *) A[image[CUP,x_]] := complement[fix[composite[complement[inverse[E]],x,complement[E]]]] (* added 1999 October 5 based on CUP-SR.1 *) A[image[CUP,cart[x_,y_]]] := union[A[x],A[y]] (* Theorem SP-A-DI in SP3 proved 1998 October 8 *) A[image[Di,x_]] := complement[image[V,x]] (* added 2000 January 5 based on A-IM-DIF.NB *) A[image[DIF,x_]] := intersection[A[domain[x]],complement[U[range[x]]]] (* Theorem DJT-A-IM in DJT proved 1998 October 18 *) A[image[DISJOINT,x_]] := complement[image[V,x]] (* derived 2005 May 5 in S-DIV.NB *) A[image[DIV,x_]] := complement[image[V,intersection[omega,x]]] (* added 2001 April 10 based on HC-BA.NB *) A[image[HC,x_]] := H[A[x]] (* added 2001 December 03 based on HULL.NB *) A[image[HULL[x_],y_]] := A[intersection[x,image[S,y]]] (* added 2001 February 27 based on STUDY.NB *) A[image[IMAGE[id[x_]],y_]] := union[complement[image[V,y]],intersection[x,A[y]]] (* added 1999 October 7 based on FP-A.LOG *) A[image[IMAGE[inverse[DUP]],x_]] := fix[A[x]] (* derived 2005 May 17 based on NATMOD.NB *) A[image[image[inverse[NATADD],set[x_]],image[DIV,set[y_]]]] := natmod[x,y] (* added 2001 May 3 based on BA-IMG.NB *) A[image[IMAGE[inverse[POWER]],x_]] := image[inverse[POWER],A[x]] (* added 2002 February 17 based on IMG-IMG.NB *) A[image[IMAGE[SWAP],x_]] := union[complement[image[V,x]],inverse[A[x]]] (* added 2002 April 10 based on INVAR.NB *) A[image[INVAR,x_]] := complement[image[V,x]] (* added 1999 October 29 based on 1999 October 28 FIX-IDP.LOG *) A[image[inverse[IMAGE[DUP]],x_]] := fix[A[intersection[x,P[Id]]]] (* Theorem SR-IN-A in SR3 proved 1998 October 18 *) A[image[inverse[S],x_]] := complement[image[V,x]] (* added 1999 October 30 based on IMAGEINT.2 *) A[image[PAIRSET,x_]] := complement[fix[composite[Di,x,Di]]] (* Theorem POW-A in POW3 proved 1998 November 12 *) A[image[POWER,x_]] := P[A[x]] (* added 2000 May 9 based on Q-C-E.NB *) A[image[Q,x_]] := complement[image[V,x]] (* derived 2004 April 17 in REPLACE.NB *) A[image[RC[x_],y_]] := union[complement[image[V,intersection[y,P[x]]]], complement[image[V,set[x]]],intersection[x,complement[core[y,x]]]] (* Theorem SR-IM-A in SR3 proved 1998 August 15 *) A[image[S,x_]] := A[x] (* Theorem AP-SG-A in AP2 proved 1998 September 8 *) A[image[SINGLETON,x_]] := complement[image[Di,x]] (* added 2003 October 28 based on APPLY.NB *) A[image[x_,set[y_]]] := APPLY[x,y] (* added 2000 January 7 based on TC-CO.TXT *) A[image[TC,x_]] := A[intersection[FULL,image[S,x]]] (* Theorem A-IM-V in A1 *) A[image[V,x_]] := complement[image[V,x]] (* derived 2004 February 19 in REPLACE2.NB *) A[image[VERTSECT[x_],y_]] := ub[x,intersection[y,domain[VERTSECT[x]]]] (* added 2001 July 15 based on ZN-AGAIN.NB *) A[image[ZN,x_]] := complement[image[V,x]] (* added 2002 May 31 based on ALEPH-0.NB *) A[intersection[complement[omega],fix[CARD]]] := omega (* Theorem A-U-IMV in A1 proved 1998 December 10 *) A[intersection[x_,complement[image[V,y_]]]] := union[A[x],image[V,y]] (* Theorem SUC-IND5 in SUC-RELATION proved 1998 July 9 *) A[intersection[complement[P[complement[set[0]]]],invar[SUCC]]] := omega (* derived 2004 April 25 in ADJOIN.NB *) A[intersection[image[S,x_],image[S,y_]]] := union[A[x],A[y]] (* derived 2004 March 29 based on HULL.NB *) A[intersection[x_,image[S,set[y_]]]] := hull[x,y] (* Theorem A-I-IMV in A1 proved 1998 December 10 *) A[intersection[x_,image[V,y_]]] := union[A[x],complement[image[V,y]]] (* derived 2005 February 19 in ITR-OM-E.NB *) A[intersection[omega,complement[nat[x_]]]] := nat[x] (* added 2002 May 31 based on DICHOT.NB *) A[intersection[OMEGA,complement[omega]]] := omega (* added 2003 January 20 based on ONSUC7OT.NB *) (* singleton of 0 is the least ordinal that holds 0 *) A[intersection[OMEGA,complement[set[0]]]] := set[0] (* added 2003 January 20 based on ON-SUC-7.NB *) (* omega is the least limit ordinal *) A[intersection[OMEGA,complement[set[0]],fix[BIGCUP]]] := omega (* added 2001 July 12 based on RANK-1.NB *) A[intersection[OMEGA,image[inverse[ZN],set[x_]]]] := rank[x] (* added 2001 December 1 based on CARD-X.NB *) A[intersection[OMEGA,image[Q,set[x_]]]] := card[x] (* added 1999 August 13 based on session A-I-SS.LOG *) A[intersection[x_,set[y_]]] := union[y,complement[image[V,intersection[x,set[y]]]]] (* Theorem IVR-0-A in INVAR *) A[invar[x_]] := 0 (* Theorem OM-A in OM1 added 1998 February 7 *) A[omega] := 0 (* Theorem ON-A-DEM in ON5 added 1998 February 7 *) A[OMEGA] := 0 (* Theorem PC-A in PC1 *) A[P[x_]] := 0 (* derived 2005 February 22 in PRIMES.NB *) A[PRIMES] := succ[set[0]] (* added 1999 November 6 based on CO-2.LOG *) A[range[CART]] := 0 (* Theorem POW-RA-1 in POW5 *) A[range[POWER]] := set[0] (* Theorem SG-RA-A in SG2 proved 1998 February 3 *) A[range[SINGLETON]] := 0 (* added 2002 April 8 based on UCL-ACL.NB *) A[range[SUBVAR]] := set[0] (* Theorem REG-A in REG2 *) A[REGULAR] := 0 (* Theorem RUS-A in RUS2 *) A[RUSSELL] := 0 (* Theorem A-SS in A1 proved 1998 July 13 *) A[set[x_]] := union[x,complement[image[V,set[x]]]] (* derived 2004 August 29 in A-SS-AP.NB *) A[set[APPLY[x_,y_]]] := APPLY[x,y] (* derived 2004 August 1 in COMMON2.NB *) A[succ[set[x_]]] := intersection[x,set[x]] (* added 2001 December 9 based on EQUAL-V.NB *) A[TOPS] := set[0] (* Theorem A-7 in A1 *) A[union[x_,y_]] := intersection[A[x],A[y]] (* Theorem A-4 in A1 *) A[V] := 0 (* added 2003 February 25 based on Z.NB *) A[Z] := 0 (* Theorem ACL-0 in ACL1 proved 2001 September 29 *) Aclosure[0] := 0 (* added 2003 October 15 based on ACYCLIC.NB *) Aclosure[ACYCLIC] := ACYCLIC (* added 2002 January 17 based on ANTISYM3.NB *) Aclosure[ANTISYM] := ANTISYM (* added 2001 October 15 based on ACL-IMS.NB *) Aclosure[BIJ] := BIJ (* added 2003 May 21 based on BINCLOSE.NB *) Aclosure[binclosed[x_]] := binclosed[x] (* added 2002 May 11 based on PAIR.NB *) Aclosure[cart[set[x_],set[y_]]] := cart[set[x],set[y]] (* added 2001 October 15 based on ACL-IMS.NB *) Aclosure[cliques[x_]] := cliques[x] (* added 2003 February 23 based on ACL-CIMS.NB *) Aclosure[complement[image[S,x_]]] := complement[image[S,x]] (* added 2002 January 9 based on ACLOSURE.NB *) Aclosure[complement[P[complement[set[x_]]]]] := complement[P[complement[set[x]]]] (* added 2002 May 2 based on ACLOSED.NB *) Aclosure[EQV] := EQV (* added 2002 January 31 based on FIX-ACL.NB *) Aclosure[fix[ACLOSURE]] := fix[ACLOSURE] (* added 2002 January 18 based on CLIQUES.NB *) Aclosure[fix[composite[DISJOINT,IMAGE[x_]]]] := fix[composite[DISJOINT,IMAGE[x]]] (* added 2002 January 17 based on CLIQSWAP.NB *) Aclosure[fix[composite[DISJOINT,INVERSE]]] := fix[composite[DISJOINT,INVERSE]] (* derived 2004 May 4 in ALLCLOSED.NB *) Aclosure[fix[composite[S,IMAGE[x_],POWER]]] := fix[composite[S,IMAGE[x],POWER]] (* added 2001 October 14 based on ACL-4.NB *) Aclosure[fix[IMAGE[inverse[S]]]] := fix[IMAGE[inverse[S]]] (* added 2001 January 31 based on FIX-UCL.NB *) Aclosure[fix[UCLOSURE]] := fix[UCLOSURE] (* Corollary of Theorem IVR-FUL5 in INVAR proved 1999 December 29 *) Aclosure[FULL] := FULL (* added 2001 October 15 based on ACL-IMS.NB *) Aclosure[FUNS] := FUNS (* added 2001 October 15 based on ACL-IMS.NB *) Aclosure[FINITE] := FINITE (* added 2003 September 5 based on FIXHULL.NB *) Aclosure[fix[HULL[x_]]] := fix[HULL[x]] (* added 2001 October 15 based on ACL-IMS.NB *) Aclosure[H[FINITE]] := H[FINITE] (* added 2003 May 18 based on ACL-SQ.NB *) Aclosure[image[CART,Id]] := image[CART,Id] (* added 2003 May 18 based on ACL-SQ.NB *) Aclosure[image[CART,id[x_]]] := image[CART,id[Aclosure[x]]] (* restored 2001 October 14 based on IMS.NB *) Aclosure[image[inverse[S],x_]] := image[inverse[S],x] (* added 2003 June 22 based on HULL-RC.NB *) Aclosure[image[RC[x_],y_]] := image[RC[x],intersection[image[S,y],Uclosure[y]]] (* restored 2001 October 14 based on ACL-3.NB *) Aclosure[image[S,set[x_]]] := image[S,set[x]] (* added 2003 February 23 based on ACL-CIMS.NB *) Aclosure[image[V,x_]] := image[V,x] (* added 2002 May 6 based on HULL-ACL.NB *) Aclosure[intersection[x_,image[S,set[y_]]]] := intersection[Aclosure[x],image[S,set[y]]] (* added 2002 May 2 based on ACLOSED.NB *) Aclosure[intersection[OMEGA,fix[BIGCUP]]] := intersection[OMEGA,fix[BIGCUP]] (* added 2001 October 28 based on IVR-RFX.NB *) Aclosure[intersection[RFX,SYM]] := intersection[RFX,SYM] (* Corollary of Theorem IVR-BA in INVAR proved 1999 January 9 *) Aclosure[invar[x_]] := invar[x] (* Corollary of Theorem ON-BA1 in ON5 proved 1999 December 30 *) Aclosure[OMEGA] := OMEGA (* Theorem ACL-PC1 in ACL1 proved 2001 September 29 *) Aclosure[P[x_]] := P[x] (* derived 2004 April 27 in UCL-SS.NB *) Aclosure[set[0,x_]] := set[0,x] (* added 2002 March 9 based on PO-ACL.NB *) Aclosure[PO] := PO (* restored 2001 October 14 based on RA-POW.NB *) Aclosure[range[POWER]] := range[POWER] (* Theorem ACL-REG in ACL1 proved 2001 September 29 *) Aclosure[REGULAR] := REGULAR (* added 2001 October 28 based on IVR-RFX.NB *) Aclosure[RFX] := RFX (* derived 2004 August 7 in RS-1.NB *) Aclosure[RS[x_]] := RS[x] (* added 2001 October 15 based on ACL-UCL.NB *) Aclosure[set[x_]] := set[x] (* added 2001 October 14 based on RA-POW.NB *) Aclosure[SYM] := SYM (* added 2003 May 21 based on BINCLOSE.NB *) Aclosure[TOPS] := TOPS (* added 2002 January 30 based on ACL-TRV.NB *) Aclosure[TRV] := TRV (* added 2002 January 9 based on ACLOSURE.NB *) Aclosure[union[x_,complement[image[V,y_]]]] := union[Aclosure[x],complement[image[V,y]]] (* added 2002 January 9 based on ACLOSURE.NB *) Aclosure[union[x_,image[V,y_]]] := union[Aclosure[x],image[V,y]] (* added 2002 May 2 based on ACLOSED.NB *) Aclosure[union[range[SINGLETON],set[0]]] := union[range[SINGLETON],set[0]] (* added 2002 November 20 based on UCL-U.NB *) Aclosure[union[x_,set[0]]] := union[Aclosure[x],set[0]] (* Theorem ACL-V-1 in ACL1 proved 2001 September 29 *) Aclosure[V] := V (* added 2003 September 29 based on WF.NB *) Aclosure[WF] := WF (* added 2003 February 26 based on ACL-Z.NB *) Aclosure[Z] := union[Z,set[0]] (* Theorem ADJ-0 in ADJ proved 1999 March 11 *) ADJOIN[0] := Id (* added 2003 February 20 based on ADJOIN-V.NB *) ADJOIN[complement[image[V,x_]]] := id[image[V,x]] (* added 2003 February 20 based on ADJOIN-V.NB *) ADJOIN[image[V,x_]] := id[complement[image[V,x]]] (* derived 2004 April 25 in ADJOIN.NB *) ADJOIN[union[x_,complement[image[V,y_]]]] := composite[id[image[V,y]],ADJOIN[x]] ADJOIN[V] := 0 (* added 2001 November 15 based on EQ-0.NB *) and[equal[0,x_],equal[y_,x_]] := and[equal[0,x],equal[0,y]] (* added 2001 November 15 based on EQ-0.NB *) and[equal[0,x_],equal[x_,y_]] := and[equal[0,x],equal[0,y]] (* added 2002 September 10 based on IMV-RULE.NB *) and[equal[0,x_],equal[0,intersection[x_,y_]]] := equal[0,x] (* added 2002 September 8 based on REPLACE.NB *) and[equal[0,x_],equal[y_,union[x_,z_]]] := and[equal[0,x],equal[y,z]] (* added 2002 December 23 based on REPLACE.NB *) and[equal[0,fix[composite[y_,inverse[x_],Di]]],subclass[x_,y_], subclass[x_,cart[V,V]]] := subclass[x,funpart[y]] (* derived 2004 April 4 in IRR-TRV.NB *) and[equal[0,fix[composite[x_,x_]]],TRANSITIVE[x_]] := and[equal[0,fix[x]],TRANSITIVE[x]] (* derived 2004 December 30 in AXREG.NB *) and[equal[0,fix[E]],member[x_,x_]] := False (* added 2002 September 7 based on REPLACE.NB *) and[equal[0,intersection[x_,y_]],equal[V,union[x_,y_]]] := equal[y,complement[x]] (* derived 2004 April 4 in IRR-TRV.NB *) and[equal[0,intersection[x_,inverse[x_]]],TRANSITIVE[x_]] := and[equal[0,fix[x]],TRANSITIVE[x]] (* derived 2005 February 6 in DESCEND.NB *) and[equal[0,intersection[x_,P[complement[x_]]]],member[x_,y_]] := and[member[x,DESCENDING],member[x,y]] (* added 2002 December 23 based on REPLACE.NB *) and[equal[0,intersection[x_,y_]],subclass[x_,z_], subclass[z_,union[x_,y_]]] := equal[x,intersection[z,complement[y]]] (* added 2002 September 8 based on REPLACE.NB *) and[equal[0,intersection[x_,y_]],subclass[x_,union[y_,z_]]] := and[equal[0,intersection[x,y]],subclass[x,z]] (* added 1998 October 3 *) and[equal[0,x_],member[y_,x_]] := False (* added 2001 October 20 based in CART-SQ.NB *) and[equal[0,x_],member[x_,V]] := equal[0,x] (* derived 2005 January 21 in SS-0.NB *) and[equal[0,x_],not[member[x_,range[SINGLETON]]]] := equal[0,x] (* added 2001 November 15 *) and[equal[0,x_],not[member[x_,V]]] := False (* added 2001 November 17 based on UNWRAP.NB *) and[equal[0,second[x_]],not[member[first[x_],V]]] := False (* added 2001 November 15 based on EQ-0.NB *) and[equal[0,x_],subclass[x_,y_]] := equal[0,x] (* added 2001 November 15 based on EQ-0.NB *) and[equal[0,x_],subclass[y_,x_]] := and[equal[0,x],equal[0,y]] (* derived 2004 June 20 in X1604-56.NB *) and[equal[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]],PARTIALORDER[x_]] := TOTALORDER[x] (* derived 2004 June 26 in TOTALORD.NB removed 2004 June 27 because it causes looping and[equal[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]], subclass[intersection[x_,inverse[x_]],Id],TRANSITIVE[x_]] := TOTALORDER[x] *) (* derived 2004 March 20 in EQV-WRAP.NB *) and[equal[composite[Id,x_],inverse[x_]],TRANSITIVE[composite[Id,x_]]] := EQUIVALENCE[composite[Id,x]] (* derived 2004 October 28 in X.NB *) and[equal[domain[y_],domain[funpart[x_]]],subclass[y_,funpart[x_]]] := equal[y,funpart[x]] (* added 2001 December 16 based on COMMUTE.NB *) and[equal[x_,image[S,x_]], equal[x_,image[inverse[S],x_]]] := or[equal[0,x],equal[V,x]] (* derived 2004 January 15 in RC-OP.NB *) and[equal[x_,intersection[y_,complement[z_]]], equal[z_,intersection[y_,complement[x_]]]] := and[equal[0,intersection[x,z]],equal[y,union[x,z]]] (* added 2001 December 19 based on INV-IM.NB *) and[equal[x_,intersection[y_,z_]],subclass[y_,z_]] := and[equal[x,y],subclass[x,z]] (* derived 2004 March 20 in EQV-WRAP.NB *) and[equal[x_,inverse[x_]],TRANSITIVE[x_]] := EQUIVALENCE[x] (* derived 2004 March 20 in EQV-WRAP.NB *) and[equal[x_,inverse[x_]],TRANSITIVE[composite[Id,x_]]] := EQUIVALENCE[x] (* added 2001 November 15 based on UNWRAP-1.NB *) and[equal[x_,y_],member[x_,z_],member[y_,V]] := and[equal[x,y],member[x,z]] (* derived 2003 January 3 in OO-SUC-OM.NB *) and[equal[x_,y_],member[x_,omega],member[x_,y_]] := False (* derived 2005 April 26 in TRICHOT.NB *) and[equal[x_,nat[y_]],member[x_,nat[y_]]] := False (* derived 2005 April 28 in NATORDER.NB *) and[equal[x_,nat[y_]],member[nat[y_],x_]] := False (* derived 2005 April 26 in TRICHOT.NB *) and[equal[x_,nat[y_]],not[member[x_,nat[y_]]]] := equal[x,nat[y]] (* derived 2005 May 17 based on NATMOD.NB *) and[equal[z_,natmod[x_,y_]],member[z_,V]] := and[equal[z,natmod[x,y]],member[x,omega],member[y,omega]] (* added 2003 May 24 based on DIFCLOS.NB *) and[equal[x_,y_],not[subclass[x_,y_]]] := False (* derived 2005 February 10 in X3557.NB *) and[equal[omega,x_],member[x_,V]] := equal[omega,x] (* derived 2004 July 18 in WO-PO.NB *) and[equal[P[fix[x_]],union[domain[LEAST[x_]],set[0]]],PARTIALORDER[x_]] := WELLORDER[x] (* derived 2004 July 18 in WO-PO.NB *) and[equal[P[fix[x_]],union[domain[LEAST[x_]],set[0]]],TOTALORDER[x_]] := WELLORDER[x] (* added 2001 November 15 *) and[equal[set[x_],y_],member[y_,V]] := equal[set[x],y] (* added 2002 January 1 based on PAIR.NB *) and[equal[set[x_],set[y_]],member[x_,V]] := and[equal[x,y],member[x,V]] (* added 2000 October 4 based on NONEMPTY.LOG *) and[equal[x_,y_],subclass[x_,y_]] := equal[x,y] (* added 2001 November 16 based on INVERSE.NB *) and[equal[x_,y_],subclass[y_,x_]] := equal[x,y] (* added 2002 September 10 based on IMV-RULE.NB *) and[equal[x_,y_],subclass[x_,union[y_,z_]]] := equal[x,y] (* derived 2003 January 3 in OO-SUC-OM.NB *) and[equal[succ[x_],succ[y_]],member[x_,omega]] := and[equal[x,y],member[x,omega]] (* derived 204 August 22 in PARTREC.NB *) and[equal[V,domain[x_]],member[x_,V]] := False (* added 2001 November 22 based on THIN.NB *) and[equal[V,domain[VERTSECT[x_]]],FUNCTION[x_]] := FUNCTION[x] (* added 2001 November 27 based on IN-SS.NB *) and[equal[V,domain[VERTSECT[x_]]],FUNCTION[composite[Id,x_]]] := FUNCTION[composite[Id,x]] (* added 2001 November 15 based on EQ-V.NB *) and[equal[V,x_],equal[x_,y_]] := and[equal[V,x],equal[V,y]] (* added 2001 November 15 based on EQ-V.NB *) and[equal[V,x_],equal[y_,x_]] := and[equal[V,x],equal[V,y]] (* added 2002 September 10 based on IMV-RULE.NB *) and[equal[V,x_],equal[V,union[x_,y_]]] := equal[V,x] (* added 2001 November 15 based on EQ-V.NB *) and[equal[V,x_],member[x_,y_]] := False (* added 2001 November 15 based on EQ-V.NB *) and[equal[V,x_],subclass[x_,y_]] := and[equal[V,x],equal[V,y]] (* added 2001 November 15 based on EQ-V.NB *) and[equal[V,x_],subclass[y_,x_]] := equal[V,x] (* added 2002 September 7 based on REPLACE.NB *) and[equal[V,union[x_,y_]],member[x_,V],member[y_,V]] := False (* derived 2004 October 26 in AXCH.NB *) and[equal[V,union[x_,set[y_]]],not[member[y_,x_]]] := equal[x,complement[set[y]]] (* derived 2004 April 1 in EQV-EQ.NB *) and[EQUIVALENCE[x_],FUNCTION[x_]] := subclass[x,Id] (* derived 2004 December 5 in MAP-CO.NB *) and[FUNCTION[composite[Id,z_]],subclass[z_,cart[x_,y_]]] := and[FUNCTION[z],subclass[z,cart[x,y]]] (* derived 2004 November 12 in SETPFUNP.NB *) and[FUNCTION[x_],member[funpart[x_],y_]] := and[FUNCTION[x],member[x,y]] (* derived 2004 March 18 in RFX-WRAP.NB *) and[FUNCTION[x_],REFLEXIVE[x_]] := subclass[x,Id] (* derived 2004 November 12 in SETPFUNP.NB *) and[FUNCTION[setpart[x_]],member[x_,y_]] := and[FUNCTION[x],member[x,y]] (* derived 2004 December 5 in REPLACE.NB *) and[FUNCTION[x_],subclass[x_,cart[V,V]]] := FUNCTION[x] (* derived 2005 February 6 in DESCEND.NB *) and[member[0,x_],member[x_,DESCENDING]] := False (* derived 2004 June 19 in X14--.NB *) and[member[complement[x_],V],member[intersection[x_,y_],V]] := and[member[y,V],member[complement[x],V]] (* derived 2005 January 27 in DK-SU.NB *) and[member[x_,DEDEKIND],member[pair[x_,omega],Q]] := False (* derived 2005 January 27 in FINITE.NB *) and[member[x_,FINITE],member[pair[x_,omega],Q]] := False (* derived 2004 October 30 in MEMB-CO.NB *) and[member[first[w_],y_],member[pair[first[w_],second[w_]],x_]] := and[member[w,x],member[first[w],y]] (* revised 2003 June 2 based on SETHOOD.NB *) and[member[first[x_],y_],not[member[x_,V]]] := False (* added 2002 November 3 based on FLIP.NB *) and[member[first[x_],V],member[first[second[x_]],y_]] := member[first[second[x]],y] (* added 2001 November 16 based on INVERSE.NB *) and[member[first[x_],V],member[second[x_],y_]] := member[second[x],y] (* derived 2004 August 18 in X3080.NB *) and[member[x_,y_],member[domain[x_],V]] := member[x,y] (* derived 2004 August 18 in X3080.NB *) and[member[x_,y_],member[fix[x_],V]] := member[x,y] (* added 2002 October 8 based on INVAR-I.NB *) and[member[x_,y_],member[intersection[x_,z_],V]] := member[x,y] (* derived 2005 April 28 in NATORDER.NB *) and[member[x_,y_],member[y_,nat[z_]],not[member[x_,nat[z_]]]] := False (* derived 2005 May 26 in DIV-I.NB *) and[member[y_,x_],member[pair[x_,y_],DIV]] := and[equal[0,y],member[x,omega],not[equal[0,x]]] (* derived 2004 August 18 in X3080.NB *) and[member[x_,y_],member[range[x_],V]] := member[x,y] (* derived 2004 August 18 in X3080.NB *) and[member[x_,y_],member[rotate[x_],V]] := member[x,y] and[member[x_,y_],member[x_,V]] := member[x,y] (* derived 2005 February 13 in NAT.NB *) and[member[y_,nat[x_]],member[nat[x_],y_]] := False (* derived 2005 April 26 in TRICHOT.NB *) and[member[x_,nat[y_]],not[equal[x_,nat[y_]]]] := member[x,nat[y]] (* derived 2005 April 26 in TRICHOT.NB *) and[member[x_,nat[y_]],not[member[nat[y_],x_]]] := member[x,nat[y]] (* derived 2005 April 28 in NATORDER.NB *) and[member[x_,nat[y_]],not[subclass[x_,nat[y_]]]] := False (* derived 2005 June 27 in NAT-SUCC.NB *) and[member[x_,nat[y_]],subclass[x_,nat[y_]]] := member[x,nat[y]] (* derived 2005 April 28 in NATORDER.NB *) and[member[x_,nat[y_]],subclass[nat[y_],x_]] := False (* derived 2005 April 28 in NATORDER.NB *) and[member[nat[x_],y_],subclass[y_,nat[x_]]] := False (* added 2001 November 15 based on UNWRAP-1.NB *) and[member[x_,y_],not[member[x_,V]]] := False (* derived 2005 May 17 in DIVRULES.NB *) and[member[x_,omega],member[y_,image[inverse[DIV],succ[x_]]]] := and[member[x,omega],member[y,omega]] (* derived 2005 June 7 in O7COR1.NB *) and[member[x_,omega],member[x_,y_],member[y_,omega]] := and[member[x,y],member[y,omega]] (* derived 2005 April 26 in DICHOT.NB *) and[member[x_,omega],member[nat[y_],x_],not[subclass[nat[y_],x_]]] := False (* derived 2005 March 29 in DIV-SUB.NB *) and[member[x_,omega],member[pair[x_,y_],DIV]] := member[pair[x,y],DIV] (* derived 2005 March 29 in DIV-SUB.NB *) and[member[y_,omega],member[pair[x_,y_],DIV]] := member[pair[x,y],DIV] (* derived 2005 May 25 in MOD-A.NB *) and[member[y_,omega],member[pair[x_,natsub[y_,z_]],DIV]] := member[pair[x,natsub[y,z]],DIV] (* derived 2005 May 25 in MOD-A.NB *) and[member[z_,omega],member[pair[x_,natsub[y_,z_]],DIV]] := member[pair[x,natsub[y,z]],DIV] (* derived 2005 February 16 in X3730-38.NB *) and[member[x_,OMEGA],member[U[x_],OMEGA]] := member[x,OMEGA] (* derived 2005 February 19 in ITR-OM-E.NB *) and[member[x_,omega],not[equal[0,intersection[omega,x_]]]] := and[member[x,omega],not[equal[0,x]]] (* derived 2005 January 3 in ZERO.NB *) and[member[x_,omega],not[member[0,x_]]] := equal[0,x] (* derived 2005 February 17 in X3741-49.NB *) and[member[x_,OMEGA],subclass[x_,omega]] := or[equal[omega,x],member[x,omega]] (* derived 2005 February 16 in X3730-38.NB *) and[member[x_,OMEGA],subclass[U[x_],x_]] := member[x,OMEGA] (* derived 2005 January 29 in DIV.NB *) and[member[pair[x_,y_],DIV],member[pair[y_,x_],DIV]] := and[equal[x,y],member[x,omega]] (* derived 2005 May 26 in DIV-I.NB *) and[member[pair[x_,y_],DIV],not[subclass[x_,y_]]] := and[equal[0,y],member[x,omega],not[equal[0,x]]] (* derived 2005 May 25 in MOD-A.NB *) and[member[pair[x_,natsub[y_,z_]],DIV],subclass[z_,y_]] := member[pair[x,natsub[y,z]],DIV] (* derived 2005 January 21 in SS-A.NB *) and[member[x_,range[SINGLETON]],not[equal[0,x_]]] := member[x,range[SINGLETON]] (* added 2003 June 2 based on SETHOOD.NB *) and[member[second[x_],y_],not[member[x_,V]]] := False (* derived 2004 May 4 in ALLCLOSED.NB *) and[member[y_,z_],subclass[y_,domain[VERTSECT[x_]]]] := and[member[y,z],member[image[x,y],V]] (* derived 2005 January 15 in HILBERT.NB *) and[member[x_,y_],subclass[P[x_],x_]] := False (* derived 2004 May 4 in ALLCLOSED.NB *) and[member[y_,z_],subclass[P[y_],domain[VERTSECT[x_]]]] := and[member[y,z],member[image[x,P[y]],V]] (* added 2001 November 15 *) and[member[x_,y_],subclass[y_,set[x_]]] := and[equal[set[x],y],member[x,V]] (* added 2001 June 28 based on SETHOOD.NB *) and[member[x_,V],member[complement[x_],V]] := False (* added 2001 June 28 based on SETHOOD.NB *) and[member[x_,V],member[domain[x_],V]] := member[x,V] (* added 2002 November 3 based on FIRST.NB *) and[member[x_,V],member[first[x_],y_]] := member[first[x],y] (* added 2002 June 22 based on X-RO-ASS.NB *) and[member[x_,V],member[first[first[x_]],V]] := member[first[first[x]],V] (* derived 2004 March 29 based on HULL.NB *) and[member[y_,V],member[hull[x_,y_],z_]] := member[hull[x,y],z] (* derived 2004 August 1 in THINNESS.NB *) and[member[y_,V],member[image[trv[x_],y_],V]] := member[iterate[x,y],V] (* derived 2004 June 19 in X14--.NB *) and[member[x_,V],member[intersection[y_,complement[x_]],V]] := and[member[x,V],member[y,V]] (* derived 2004 April 18 in REPLACE.NB *) and[member[x_,V],member[intersection[y_,P[x_]],V]] := member[x,V] (* added 2003 January 25 based on INVAR.NB *) and[member[x_,V],member[invar[x_],V]] := False (* added 2002 October 15 based on MEMBER.NB *) and[member[u_,V],member[pair[u_,v_],composite[x_,y_]]] := member[pair[u,v],composite[x,y]] (* added 2002 October 15 based on MEMBER.NB *) and[member[v_,V],member[pair[u_,v_],composite[x_,y_]]] := member[pair[u,v],composite[x,y]] (* derived 2005 January 27 in DIV.NB *) and[member[x_,V],member[pair[x_,y_],DIV]] := member[pair[x,y],DIV] (* derived 2005 January 27 in DIV.NB *) and[member[y_,V],member[pair[x_,y_],DIV]] := member[pair[x,y],DIV] (* derived 2005 January 7 in CARD-K.NB *) and[member[x_,V],member[pair[x_,y_],K]] := member[pair[x,y],K] (* derived 2005 January 7 in CARD-K.NB *) and[member[y_,V],member[pair[x_,y_],K]] := member[pair[x,y],K] (* derived 2005 January 27 in Q.NB *) and[member[x_,V],member[pair[x_,y_],Q]] := member[pair[x,y],Q] (* derived 2005 January 27 in Q.NB *) and[member[y_,V],member[pair[x_,y_],Q]] := member[pair[x,y],Q] (* derived 2005 January 27 in ZN.NB *) and[member[x_,V],member[pair[x_,y_],ZN]] := member[pair[x,y],ZN] (* derived 2005 January 27 in ZN.NB *) and[member[y_,V],member[pair[x_,y_],ZN]] := member[pair[x,y],ZN] (* added 2001 June 28 based on SETHOOD.NB *) and[member[x_,V],member[range[x_],V]] := member[x,V] (* added 2002 November 3 based on FIRST.NB *) and[member[x_,V],member[second[x_],y_]] := member[second[x],y] (* added 2003 June 29 based on POWER.NB *) and[member[x_,V],member[U[x_],y_]] := member[U[x],y] (* added 2001 December 6 based on MEMBER.NB *) and[member[x_,V],member[y_,V],subclass[x_,y_]] := and[member[y,V],subclass[x,y]] (* derived 2004 July 22 in REPLACE.NB *) and[member[x_,V],not[equal[0,y_]],not[member[x_,A[y_]]]] := and[member[x,V],not[member[x,A[y]]]] (* added 2001 November 14 based on DI.NB *) and[member[x_,V],not[equal[V,x_]]] := member[x,V] (* derived 2004 September 23 in WF-LEX.NB *) and[member[x_,V],subclass[x_,image[wf[y_],x_]]] := equal[0,x] (* added 2002 May 14 based on IND-C.NB *) and[member[x_,V],subclass[x_,omega]] := subclass[x,omega] (* derived 2004 July 25 in CANTOR.NB *) and[member[x_,V],subclass[P[domain[funpart[x_]]],range[funpart[x_]]]] := False (* added 2003 June 5 based on REG.NB *) and[member[x_,V],subclass[x_,REGULAR]] := member[x,REGULAR] (* added 2001 November 15 *) and[member[x_,V],subclass[x_,set[y_]]] := subclass[x,set[y]] (* derived 2005 May 17 in NATRULES.NB *) and[not[equal[0,nat[x_]]],subclass[nat[x_],set[0]]] := equal[nat[x],set[0]] (* derived 2004 July 22 in REPLACE.NB *) and[not[equal[0,y_]],not[subclass[x_,A[y_]]]] := not[subclass[x,A[y]]] (* derived 2005 April 26 in TRICHOT.NB *) and[not[equal[nat[x_],nat[y_]]],not[member[nat[x_],nat[y_]]]] := member[nat[y],nat[x]] (* derived 2005 February 13 in NAT.NB *) and[not[member[nat[x_],nat[y_]]],not[member[nat[y_],nat[x_]]]] := equal[nat[x],nat[y]] (* derived 2004 July 25 in CANTOR.NB *) and[not[member[x_,V]],not[member[x_,y_]]] := not[member[x,V]] (* added 2003 October 7 based on WF-IND.NB *) and[not[member[x_,V]],not[member[first[x_],V]]] := not[member[x,V]] (* derived 2005 April 7 in WF-TO.NB *) and[PARTIALORDER[x_],subclass[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]]] := TOTALORDER[x] (* derived 2004 March 18 in RFX-WRAP.NB *) and[REFLEXIVE[composite[Id,x_]],subclass[x_,cart[V,V]]] := REFLEXIVE[x] (* derived 2004 March 18 in RFX-TRV.NB *) and[REFLEXIVE[composite[Id,x_]],TRANSITIVE[x_]] := and[REFLEXIVE[x],TRANSITIVE[x]] (* derived 2004 March 18 in RFX-TRV.NB *) and[REFLEXIVE[x_],subclass[x_,cart[V,V]]] := REFLEXIVE[x] (* derived 2004 March 21 in PO-WRAP.NB *) and[REFLEXIVE[x_],subclass[intersection[x_,inverse[x_]],Id],TRANSITIVE[x_]] := PARTIALORDER[x] (* derived 2004 March 18 in RFX-TRV.NB *) and[REFLEXIVE[x_],TRANSITIVE[composite[Id,x_]]] := and[REFLEXIVE[x],TRANSITIVE[x]] (* added 2001 November 17 based on EQ.NB *) and[subclass[x_,cart[V,z_]],subclass[x_,cart[y_,V]]] := subclass[x,cart[y,z]] (* added 2003 September 21 based on RFX-CORE.NB *) and[subclass[x_,cart[V,V]],subclass[x_,cart[y_,z_]]] := subclass[x,cart[y,z]] (* added 2001 March 4 based on SU-IN.NB *) and[subclass[x_,cart[V,V]],subclass[inverse[x_],y_]] := subclass[x,inverse[y]] (* derived 2004 March 18 in RFX-TRV.NB *) and[subclass[x_,cart[V,V]],TRANSITIVE[composite[Id,x_]]] := TRANSITIVE[x] (* derived 2004 March 18 in RFX-TRV.NB *) and[subclass[x_,cart[V,V]],TRANSITIVE[x_]] := TRANSITIVE[x] (* added 2003 October 7 based on WF-IND.NB *) and[subclass[x_,cart[V,V]],WELLFOUNDED[composite[Id,x_]]] := WELLFOUNDED[x] (* added 2003 July 6 based on ASSOCDEF.NB *) and[subclass[composite[u_,cross[v_,Id],inverse[ASSOC]],composite[x_,cross[y_,z_]]], subclass[image[inverse[v_],domain[domain[u_]]],cart[V,V]]] := subclass[composite[u,cross[v,Id]],composite[x,cross[y,z],ASSOC]] (* added 2001 December 20 based on SUBST-2.NB *) and[subclass[composite[Id,x_],y_],subclass[composite[Id,y_],x_]] := equal[composite[Id,x],composite[Id,y]] (* added 2002 October 25 based on ROTATE.NB *) and[subclass[composite[x_,id[w_]],y_], subclass[composite[y_,id[w_]],x_]] := equal[composite[x,id[w]],composite[y,id[w]]] (* derived 2004 March 18 in RFX-WRAP.NB *) and[subclass[domain[x_],fix[x_]],subclass[range[x_],fix[x_]]] := REFLEXIVE[composite[Id,x]] (* added 2001 April 27 based on MAP2.NB *) and[subclass[z_,FUNS],subclass[image[IMAGE[FIRST],z_],set[x_]]] := subclass[z,map[x,V]] (* derived 2004 April 20 in ID-REVU.NB *) and[subclass[x_,Id],subclass[y_,Id],subclass[domain[x_],domain[y_]]] := and[subclass[x,y],subclass[y,Id]] (* added 2001 April 27 based on MAP2.NB *) and[subclass[image[IMAGE[id[cart[V,V]]],z_],FUNS], subclass[U[z_],cart[V,V]]] := subclass[z,FUNS] (* added 2003 November 2 based on CHARHULL.NB *) and[subclass[x_,image[inverse[S],y_]],subclass[y_,image[inverse[S],x_]]] := equal[image[inverse[S],x],image[inverse[S],y]] (* added 2002 January 3 based on COMPOSE.NB *) and[subclass[intersection[x_,z_],y_],subclass[intersection[y_,z_],x_]] := equal[intersection[x,z],intersection[y,z]] (* derived 2004 March 20 in EQV-WRAP.NB *) and[subclass[inverse[x_],x_],TRANSITIVE[x_]] := EQUIVALENCE[x] (* derived 2004 March 20 in EQV-WRAP.NB *) and[subclass[x_,inverse[x_]],TRANSITIVE[x_]] := EQUIVALENCE[x] (* derived 2004 March 20 in EQV-WRAP.NB *) and[subclass[x_,inverse[x_]],TRANSITIVE[composite[Id,x_]]] := EQUIVALENCE[x] (* derived 2004 December 27 in TRV-RS.NB *) and[subclass[inverse[x_],x_],TRANSITIVE[composite[Id,x_]]] := EQUIVALENCE[composite[Id,x]] (* added 2001 April 27 based on MAP2.NB *) and[subclass[z_,map[x_,V]],subclass[U[z_],cart[V,y_]]] := subclass[z,map[x,y]] (* derived 2005 February 10 in X3557.NB *) and[subclass[x_,omega],subclass[image[BIGCUP,x_],x_]] := or[equal[omega,x],member[x,omega]] (* derived 2005 February 10 in X3557.NB *) and[subclass[x_,omega],subclass[image[inverse[SUCC],x_],x_]] := or[equal[omega,x],member[x,omega]] (* derived 2005 February 10 in X3557.NB *) and[subclass[x_,omega],subclass[image[inverse[SUCC],intersection[omega,x_]],x_]] := or[equal[omega,x],member[x,omega]] (* added 2001 November 17 based on EQ.NB *) and[subclass[P[x_],y_],subclass[U[y_],x_]] := equal[P[x],y] and[subclass[x_,y_],subclass[y_,x_]] := equal[x,y] (* derived 2004 August 7 in RS-1.NB *) and[subclass[x_,y_],subclass[x_,cart[V,V]],subclass[composite[y_,id[domain[x_]]],x_]] := equal[x,composite[y,id[domain[x]]]] (* derived 2004 December 25 in SELCO-LT.NB *) and[subclass[x_,y_],subclass[composite[Id,x_],y_]] := subclass[x,y] (* added 2001 December 19 based on INV-IM.NB *) and[subclass[x_,y_],subclass[intersection[x_,y_],z_]] := and[subclass[x,y],subclass[x,z]] (* derived 2004 July 23 in X23--.NB *) and[subclass[x_,y_],subclass[intersection[x_,z_],y_]] := subclass[x,y] (* added 2002 October 3 based on MONOSUB2.NB *) and[subclass[x_,y_],subclass[x_,z_],subclass[y_,z_]] := and[subclass[x,y],subclass[y,z]] (* added 2001 November 16 *) and[subclass[z_,x_],subclass[z_,y_], subclass[intersection[x_,y_],z_]] := equal[intersection[x,y],z] (* added 2001 November 17 based on EQ.NB *) and[subclass[x_,z_],subclass[y_,z_],subclass[z_,union[x_,y_]]] := equal[union[x,y],z] (* derived 2005 January 5 in TC-HC.NB *) and[subclass[x_,y_],subclass[U[x_],H[y_]]] := subclass[x,H[y]] (* derived 2005 April 7 in WF-TO.NB *) and[TOTALORDER[x_],WELLFOUNDED[intersection[Di,x_]]] := WELLORDER[x] (* added 2002 January 17 based on ANTISYM1.NB *) ANTISYMMETRIC[x_] := and[subclass[x,cart[V,V]],subclass[intersection[x,inverse[x]],Id]] (* Definition DF-AP in AP1.DEM *) apply[x_,y_] := U[image[x,set[y]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[0,x_] := V (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[ACLOSURE,x_] := union[Aclosure[x],complement[image[V,set[x]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[ADJOIN[x_],y_] := union[x,y, complement[image[V,set[x]]],complement[image[V,set[y]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[BIGCAP,x_] := union[A[x],complement[image[V,set[x]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[BIGCUP,x_] := union[complement[image[V,set[x]]],U[x]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[CAP,PAIR[x_,y_]] := union[complement[image[V,set[x]]],complement[image[V,set[y]]],intersection[x,y]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[CARD,x_] := union[card[x],complement[image[V,intersection[OMEGA,image[Q,set[x]]]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[cart[x_,y_],z_] := union[A[y],complement[image[V,intersection[x,set[z]]]]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[CART,PAIR[x_,y_]] := union[cart[x,y],complement[image[V,set[x]]],complement[image[V,set[y]]]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[COMPOSE,PAIR[x_,y_]] := union[complement[image[V,set[x]]],complement[image[V,set[y]]],composite[x,y]] (* added 2003 October 28 based on APPLY.NB *) APPLY[composite[x_,y_],z_] := A[image[x,image[y,set[z]]]] (* derived 2004 April 17 in REPLACE.NB *) APPLY[CORE[x_],y_] := union[complement[image[V,set[y]]],core[x,y]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[CROSS,PAIR[x_,y_]] := union[complement[image[V,set[x]]],complement[image[V,set[y]]],cross[x,y]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[cross[funpart[u_],funpart[v_]],PAIR[x_,y_]] := PAIR[APPLY[funpart[u],x],APPLY[funpart[v],y]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[CUP,PAIR[x_,y_]] := union[x,y,complement[image[V,set[x]]],complement[image[V,set[y]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[Di,x_] := complement[image[V,set[x]]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[DIF,PAIR[x_,y_]] := union[complement[image[V,set[x]]],complement[image[V,set[y]]],intersection[x,complement[y]]] (* derived 2004 December 10 in AP-IMG.NB *) APPLY[DORA,x_] := union[complement[image[V,set[x]]],PAIR[domain[x],range[x]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[DUP,x_] := PAIR[x,x] (* derived 2004 May 12 in EQUIV.NB *) APPLY[EQUIV,x_] := union[complement[image[V,set[x]]],eqv[x]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[FIRST,PAIR[x_,y_]] := union[x,complement[image[V,set[x]]],complement[image[V,set[y]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[FUNPART,x_] := union[complement[image[V,set[x]]],funpart[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[HC,x_] := union[complement[image[V,set[x]]],H[x]] (* revised 2004 March 29 based on HULL.NB *) APPLY[HULL[x_],y_] := hull[x,y] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[Id,x_] := union[x,complement[image[V,set[x]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[id[x_],y_] := union[y,complement[image[V,intersection[x,set[y]]]]] (* derived 2004 December 10 in AP-IMG.NB *) APPLY[IMAGE[x_],y_] := union[complement[image[V,set[y]]],complement[image[V,set[image[x,y]]]],image[x,y]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[image[inverse[NATADD],set[x_]],y_] := natsub[x,y] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[IMG,PAIR[x_,y_]] := union[complement[image[V,set[x]]],complement[image[V,set[y]]],image[x,y]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[INTADD,PAIR[x_,y_]] := intadd[x,y] (* added 2004 July 14 based on X2530-41.NB *) APPLY[inverse[DUP],x_] := union[first[x], image[V,intersection[complement[first[x]],second[x]]], image[V,intersection[complement[second[x]],first[x]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[inverse[plus[x_]],y_] := natsub[y,x] (* derived 2004 July 17 in AP-IN-SG.NB *) APPLY[inverse[SINGLETON],x_] := union[A[x],complement[image[V,intersection[range[SINGLETON],set[x]]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[LAMBHULL,x_] := union[complement[image[V,set[x]]],HULL[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[LEFT[x_],y_] := PAIR[x,y] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[MAP,PAIR[x_,y_]] := union[complement[image[V,set[x]]],complement[image[V,set[y]]],map[x,y]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[NATADD,PAIR[x_,y_]] := natadd[x,y] (* derived 2005 May 17 based on NATMOD.NB *) APPLY[NATMOD,PAIR[x_,y_]] := natmod[x,y] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[NATMUL,PAIR[x_,y_]] := natmul[x,y] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[PAIRSET,PAIR[x_,y_]] := union[complement[image[V,set[x]]],complement[image[V,set[y]]],set[x,y]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[PLUS,x_] := union[complement[image[V,intersection[omega,set[x]]]],plus[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[plus[x_],y_] := natadd[x,y] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[POWER,x_] := union[complement[image[V,set[x]]],P[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[RANK,x_] := union[complement[image[V,intersection[REGULAR,set[x]]]],rank[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[RC[x_],y_] := union[complement[image[V,set[x]]], image[V,intersection[y,complement[x]]],intersection[x,complement[y]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[RCF,x_] := union[complement[image[V,set[x]]],RC[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[RIGHT[x_],y_] := PAIR[y,x] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[rotate[w_],PAIR[x_,y_]] := APPLY[image[inverse[w],set[x]],y] (* added 2003 October 28 based on APPLY.NB *) APPLY[S,x_] := union[x,complement[image[V,set[x]]]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[SECOND,PAIR[x_,y_]] := union[y,complement[image[V,set[x]]],complement[image[V,set[y]]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[SINGLETON,x_] := union[complement[image[V,set[x]]],set[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[SUBVAR,x_] := union[complement[image[V,set[x]]],subvar[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[SUCC,x_] := union[complement[image[V,set[x]]],succ[x]] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[SWAP,PAIR[x_,y_]] := PAIR[y,x] (* derived 2004 August 17 in AP-PAIR.NB *) APPLY[SYMDIF,PAIR[x_,y_]] := union[complement[image[V,set[x]]],complement[image[V,set[y]]], intersection[x,complement[y]],intersection[y,complement[x]]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[TC,x_] := union[complement[image[V,set[x]]],tc[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[UCLOSURE,x_] := union[complement[image[V,set[x]]],Uclosure[x]] (* added 2003 October 28 based on APPLY.NB *) APPLY[union[x_,y_],z_] := intersection[APPLY[x,z],APPLY[y,z]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[V,x_] := complement[image[V,set[x]]] (* derived 2005 January 25 *) APPLY[VERTSECT[x_],y_] := union[complement[image[V,set[y]]],complement[image[V,set[image[x,set[y]]]]],image[x,set[y]]] (* derived 2004 August 10 in RS-3.NB *) APPLY[VERTSECT[RESTRICT],x_] := union[complement[image[V,set[x]]],RS[x]] (* added 2003 November 13 based on APPLY-SP.NB *) APPLY[VS,x_] := union[complement[image[V,set[x]]],composite[VERTSECT[x],id[domain[x]]]] (* derived 2004 September 25 in LAMB-WF.NB *) APPLY[WFPART,x_] := union[complement[image[V,set[x]]],wf[x]] (* derived 2004 November 16 in XS.NB *) APPLY[XS,x_] := union[complement[image[V,set[x]]],X[x]] (* assertions *) assert[p_] := Module[{w = Unique[]},equal[V,class[w,p]]] (* added 2003 July 1 based on ASSOC.NB *) associative[0] := True (* added 2003 July 1 based on ASSOC.NB *) associative[CAP] := True (* added 2003 July 1 based on ASSOC.NB *) associative[cart[cart[x_,x_],y_]] := True (* added 2003 July 1 based on ASSOC.NB *) associative[COMPOSE] := True (* added 2003 July 20 based on DIRECT12.NB *) associative[composite[CART,cross[IMAGE[FIRST],IMAGE[SECOND]]]] := True (* derived 2004 December 3 in TRVASSOC.NB *) associative[composite[COMPOSE,cross[IMAGE[id[trv[x_]]],IMAGE[id[trv[x_]]]]]] := True (* derived 2004 December 2 in PRECISE.NB *) associative[composite[COMPOSE,id[composite[inverse[IMAGE[SECOND]],IMAGE[FIRST]]]]] := True (* added 2003 August 9 based on ASS-ADDZ.NB *) associative[composite[cross[NATADD,NATADD],TWIST]] := True (* derived 2004 December 7 in ASV-DIV.NB *) associative[composite[FIRST,id[x_]]] := and[subclass[composite[x,inverse[x]],x],TRANSITIVE[composite[Id,x]]] (* added 2003 July 1 based on IN-DUP.NB *) associative[composite[id[x_],inverse[DUP]]] := True (* added 2003 July 7 based on PRGPOID.NB *) associative[composite[RIF,cross[SWAP,SWAP]]] := True (* derived 2004 December 7 in ASV-DIV.NB *) associative[composite[SECOND,id[x_]]] := and[subclass[composite[inverse[x],x],x],TRANSITIVE[composite[Id,x]]] (* added 2003 July 1 based on ASS-TRV.NB *) associative[composite[x_,SWAP]] := associative[composite[x,id[cart[V,V]]]] (* added 2003 July 13 based on ASS-1X2.NB *) associative[composite[SWAP,cross[x_,y_]]] := associative[cross[y,x]] (* added 2003 July 7 based on PRGPOID.NB *) associative[composite[SWAP,RIF]] := True (* derived 2004 December 3 in TRVASSOC.NB *) associative[composite[SWAP,RIF,id[cart[trv[x_],trv[x_]]]]] := True (* added 2003 July 13 based on ASS-1X2.NB *) associative[cross[FIRST,SECOND]] := True (* added 2003 July 13 based on ASS-1X2.NB *) associative[cross[SECOND,FIRST]] := False (* added 2003 July 1 based on ASSOC.NB *) associative[CUP] := True (* added 2003 July 1 based on ASSOC.NB *) associative[FIRST] := True (* added 2003 July 1 based on ASSOC.NB *) associative[Id] := False (* added 2003 August 9 based on ASS-ADDZ.NB *) associative[INTADD] := True (* added 2003 July 1 based on IN-DUP.NB *) associative[inverse[DUP]] := True (* added 2003 July 1 based on ASSOC.NB *) associative[NATADD] := True (* added 2003 July 1 based on ASSOC.NB *) associative[NATMUL] := True (* added 2003 July 7 based on PRGPOID.NB *) associative[RIF] := False (* added 2003 July 1 based on ASSOC.NB *) associative[SECOND] := True (* added 2003 July 1 based on ASSOC.NB *) associative[SYMDIF] := True (* added 2003 July 1 based on ASSOC.NB *) associative[V] := False (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[0] := V (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[cart[x_,y_]] := union[cliques[complement[x]],image[S,set[y]]] (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[composite[Id,x_]] := binclosed[x] (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[composite[x_,id[cart[V,V]]]] := binclosed[x] (* added 2003 May 21 based on BINCLOSE.NB *) binclosed[composite[x_,inverse[DUP]]] := invar[x] (* added 2003 May 23 based on BCL-TRV.NB *) binclosed[composite[x_,inverse[IMAGE[DUP]],E]] := invar[composite[x,E]] (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[composite[SWAP,RIF]] := image[inverse[IMAGE[id[cart[V,V]]]],TRV] (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[FIRST] := V (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[inverse[DUP]] := V (* derived 2004 May 2 in REGULAR.NB *) binclosed[REGULAR] := P[complement[REGULAR]] (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[SECOND] := V (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[union[x_,y_]] := intersection[binclosed[x],binclosed[y]] (* added 2003 May 23 based on BINCLOSE.NB *) binclosed[V] := set[0] (* Definition DF-CA in DF-FP-5 *) cantor[z_] := intersection[complement[fix[composite[inverse[E],z]]], domain[z]] (* revised 2003 May23 based on DEF-CLOS.NB *) CAPclosed := binclosed[CAP] (* added 2001 December 1 based on CARD-X.NB *) card[0] := 0 (* added 2001 December 10 based on CARD-ALL.NB *) card[card[x_]] := card[x] (* derived 2004 January 10 in CARD-FUN.NB *) card[domain[funpart[x_]]] := card[funpart[x]] (* derived 2004 January 10 in CARD-FUN.NB *) card[id[x_]] := card[x] (* derived 2004 January 10 in CARD-FUN.NB *) card[intersection[x_,image[V,y_]]] := intersection[card[x],image[V,y]] (* derived 2005 April 27 in CARDRANK.NB *) card[nat[x_]] := nat[x] (* added 2002 May 29 based on ALEPH0.NB *) card[omega] := omega (* derived 2005 January 11 in SET-SUCC.NB *) card[P[succ[set[0]]]] := succ[succ[succ[set[0]]]] (* derived 2004 January 10 in CARD-FUN.NB *) card[plus[x_]] := intersection[omega,image[V,intersection[omega,set[x]]]] (* derived 2004 January 10 in CARD-FUN.NB *) card[RC[x_]] := intersection[card[P[x]],image[V,set[x]]] (* added 2001 December 1 based on CARD-X.NB *) card[set[0]] := set[0] (* derived 2005 January 7 in CARD-ONE.NB *) card[set[x_]] := intersection[image[V,set[x]],set[0]] (* derived 2005 January 7 in CARD-OM.NB *) card[succ[omega]] := omega (* added 2001 December 2 based on CARD-FUN.NB *) card[union[x_,complement[image[V,set[y_]]]]] := union[card[x],complement[image[V,set[y]]]] (* Theorem CP-3A in CP1 *) cart[x_,0] := 0 (* Theorem CP-3B in CP1 *) cart[0,x_] := 0 (* Theorem IMV-CP01 in IM2 proved 1998 July 21 *) cart[complement[image[V,x_]],y_] := cart[V,intersection[complement[image[V,x]],y]] (* Theorem IMV-CP02 in IM2 proved 1998 July 21 *) cart[domain[x_],image[V,x_]] := cart[domain[x],V] (* Theorem IM-V-CP in IM2 proved 1998 February 5 *) cart[x_,image[V,x_]] := cart[x,V] (* Theorem IMV-CP03 in IM2 proved 1998 July 22 *) cart[image[z_,x_],image[V,x_]] := cart[image[z,x],V] (* Theorem IMV-CP04 in IM2 proved 1998 July 22 *) cart[image[z_,x_],intersection[y_,image[V,x_]]] := cart[image[z,x],y] (* Theorem IMV-CP05 in IM2 proved 1998 July 22 *) cart[image[V,x_],y_] := cart[V,intersection[image[V,x],y]] (* added 2001 November 22 based on CP-I-IMV.NB *) cart[intersection[x_,complement[image[V,y_]]],z_] := cart[x,intersection[z,complement[image[V,y]]]] (* Theorem IMV-CP06 in IM2 proved 1998 July 22 *) cart[x_,intersection[y_,image[V,x_]]] := cart[x,y] (* Theorem IMV-CP07 in IM2 proved 1998 July 22 *) cart[intersection[x_,image[V,y_]],z_] := cart[x,intersection[image[V,y],z]] (* added 2002 October 22 based on CO-ID.NB *) cart[inverse[x_],intersection[y_,image[V,domain[x_]]]] := cart[inverse[x],y] (* Theorem IMV-CP08 in IM2 proved 1998 July 22 *) cart[range[x_],image[V,x_]] := cart[range[x],V] (* dangerous rule found 2002 January 1 in PAIR-MEM.NB replaced with temporary rules for A[...] cart[set[x_],set[y_]] := set[PAIR[x,y]] *) (* added 2001 November 29 based on CO-SS.NB *) cart[union[x_,intersection[y_,complement[image[V,z_]]]],w_] := union[cart[x,w],cart[y,intersection[w,complement[image[V,z]]]]] (* added 2001 November 29 based on CO-SS.NB *) cart[union[x_,intersection[y_,image[V,z_]]],w_] := union[cart[x,w],cart[y,intersection[w,image[V,z]]]] (* introduced 2004 October 26 in AXCH.NB *) choicefunction[x_,y_] := and[FUNCTION[x],subclass[x,inverse[E]],equal[domain[x],y]] (* added 2000 December 9 based on CLIQUES.NB *) cliques[0] := set[0] (* added 2000 December 9 based on CLIQUES.NB *) cliques[cart[x_,y_]] := P[intersection[x,y]] (* added 2000 December 9 based on MORECLIQ.NB *) cliques[complement[cart[x_,y_]]] := union[P[complement[x]],P[complement[y]]] (* corrected 2002 June 4 *) cliques[complement[composite[inverse[x_],x_]]] := P[complement[domain[x]]] (* added 2000 December 14 based on CLIQUES.NB *) cliques[complement[composite[x_,inverse[x_]]]] := P[complement[range[x]]] (* derived 2004 January 13 in RA-RCF.NB *) cliques[complement[cross[x_,complement[inverse[y_]]]]] := cliques[complement[cross[inverse[x],complement[y]]]] (* added 2000 December 9 based on REPLACE.NB *) cliques[complement[cross[Di,Id]]] := image[inverse[IMAGE[SWAP]],FUNS] (* added 2000 December 9 based on CLIQUES.NB *) cliques[complement[cross[Id,Di]]] := image[inverse[IMAGE[id[cart[V,V]]]],FUNS] (* added 2000 December 17 based on Q.NB *) cliques[complement[E]] := fix[composite[DISJOINT,BIGCUP]] (* added 2000 December 17 based on Q.NB *) cliques[complement[inverse[x_]]] := cliques[complement[x]] (* added 2000 December 17 based on Q.NB *) cliques[complement[Q]] := set[0] (* derived 2004 May 2 in REGULAR.NB *) cliques[complement[REGULAR]] := P[complement[REGULAR]] (* added 2000 December 17 based on Q.NB *) cliques[complement[S]] := set[0] (* added 2000 December 9 based on CLIQUES.NB *) cliques[composite[Id,x_]] := cliques[x] (* added 2000 December 9 based on CLIQUES.NB *) cliques[composite[id[x_],y_]] := intersection[cliques[y],P[x]] (* added 2000 December 9 based on CLIQUES.NB *) cliques[composite[x_,id[y_]]] := intersection[cliques[x],P[y]] (* added 2001 December 31 based on DORA-DJ.NB *) cliques[composite[inverse[SECOND],Di,FIRST]] := intersection[image[inverse[DORA],DISJOINT],P[cart[V,V]]] (* added 2000 December 9 based on CLIQUES.NB *) cliques[Di] := set[0] (* revised 2002 April 18 based on REPLACE.NB *) cliques[DISJOINT] := succ[set[0]] (* added 2000 December 9 based on CLIQUES.NB *) cliques[Id] := union[range[SINGLETON],set[0]] (* added 2000 December 9 based on CLIQUES.NB *) cliques[id[x_]] := union[image[SINGLETON,x],set[0]] (* added 2003 October 8 based on FS-CUP.NB *) cliques[image[inverse[CUP],FUNS]] := image[inverse[BIGCUP],FUNS] (* added 2000 December 9 based on CLIQUES.NB *) cliques[intersection[x_,y_]] := intersection[cliques[x],cliques[y]] (* added 2000 December 9 based on CLIQUES.NB *) cliques[inverse[x_]] := cliques[x] (* added 2000 December 9 based on CLIQUES.NB *) cliques[PS] := set[0] (* derived 2004 May 2 in REGULAR.NB *) cliques[REGULAR] := REGULAR (* added 2000 December 14 based on CLIQUES.NB *) cliques[S] := union[range[SINGLETON],set[0]] (* added 2002 January 17 based on ANTISYM3.NB *) cliques[union[cart[Id,V],composite[Di,SWAP,id[Di]]]] := ANTISYM (* added 2002 January 18 based on THINRULE.NB *) cliques[union[x_,complement[cart[y_,y_]]]] := image[inverse[IMAGE[id[y]]],cliques[x]] (* added 2002 April 23 based on TRICHOT.NB *) cliques[union[E,inverse[S]]] := cliques[union[S,inverse[E]]] (* added 2000 December 9 based on CLIQUES.NB *) cliques[V] := V (* derived 2004 December 21 in COMUTANT.NB *) commutant[0] := V (* derived 2004 December 21 in COMUTANT.NB *) commutant[composite[Id,x_]] := commutant[x] (* derived 2004 December 21 in COMUTANT.NB *) commutant[E] := P[complement[cart[V,V]]] (* derived 2004 December 21 in COMUTANT.NB *) commutant[Id] := V (* derived 2004 December 21 in COMUTANT.NB *) commutant[id[x_]] := P[intersection[complement[cart[x,complement[x]]],complement[cart[complement[x],x]]]] (* derived 2004 December 21 in COMUTANT.NB *) commutant[inverse[x_]] := image[inverse[IMAGE[SWAP]],commutant[x]] (* derived 2004 December 21 in COMUTANT.NB *) commutant[S] := P[complement[cart[V,V]]] (* derived 2004 December 21 in COMUTANT.NB *) commutant[V] := P[complement[cart[V,V]]] (* added 2001 May 18 *) commute[x_,y_] := equal[composite[x,y],composite[y,x]] (* Theorem C-2A in C1 *) complement[0] := V (* from ADJ-C.LOG *) complement[ADJOIN[x_]] := union[complement[cart[V,image[V,set[x]]]], composite[Di,ADJOIN[x]]] (* Theorem BA-DI2 in BIGCAP/BA1 proved 1998 December 11 *) complement[BIGCAP] := union[complement[cart[complement[set[0]],V]], composite[Di,BIGCAP]] (* Theorem BC-C in BIGCUP/BC proved 1998 December 12 *) complement[BIGCUP] := union[complement[cart[V,V]], composite[Di,BIGCUP]] (* Theorem C-1 in C1 *) complement[complement[x_]] := x (* derived 2004 April 22 in PSM-VS.NB *) complement[composite[complement[E],x_]] := union[complement[cart[V,V]],composite[S,VERTSECT[x]]] (* added 2002 October 22 based on C-CO-X.NB *) complement[composite[cross[w_,composite[id[x_],y_]],z_]] := union[complement[cart[V,cart[V,x]]],complement[composite[cross[w,y],z]]] (* added 2002 October 22 based on C-CO-X.NB *) complement[composite[cross[composite[id[w_],x_],y_],z_]] := union[complement[cart[V,cart[w,V]]],complement[composite[cross[x,y],z]]] (* added 2002 October 22 based on C-CO-X.NB *) complement[composite[w_,cross[x_,composite[y_,id[z_]]]]] := union[complement[cart[cart[V,z],V]],complement[composite[w,cross[x,y]]]] (* added 2002 October 22 based on C-CO-X.NB *) complement[composite[w_,cross[composite[x_,id[y_]],z_]]] := union[complement[cart[cart[y,V],V]],complement[composite[w,cross[x,z]]]] (* added 2000 November 26 based on GLB-LUB.NB complement[composite[x_,inverse[E]]] := union[complement[cart[V,V]],UB[complement[x]]] *) (* added 2000 November 14 based on MAX.NB *) complement[composite[complement[x_],inverse[E]]] := union[complement[cart[V,V]],UB[x]] (* Theorem DJT-DEF in DJT proved 1998 July 27 *) complement[composite[E,inverse[E]]] := union[complement[cart[V,V]],DISJOINT] (* removed 2000 November 7 complement[cross[x_,y_]] := union[complement[cart[cart[V,V],cart[V,V]]], composite[inverse[FIRST],complement[x],FIRST], composite[inverse[SECOND],complement[y],SECOND]] *) (* added 2002 October 22 based on C-CO-X.NB *) complement[cross[composite[id[w_],x_],y_]] := union[complement[cart[V,cart[w,V]]],complement[cross[x,y]]] (* added 2002 October 22 based on C-CO-X.NB *) complement[cross[w_,composite[id[x_],y_]]] := union[complement[cart[V,cart[V,x]]],complement[cross[w,y]]] (* added 2002 October 22 based on C-CO-X.NB *) complement[cross[x_,composite[y_,id[z_]]]] := union[complement[cart[cart[V,z],V]],complement[cross[x,y]]] (* added 2002 October 22 based on C-CO-X.NB *) complement[cross[composite[x_,id[y_]],z_]] := union[complement[cart[cart[y,V],V]],complement[cross[x,z]]] (* Theorem DI-C-ID in DI added 1998 July 2 *) complement[Di] := union[Id,complement[cart[V,V]]] (* Theorem DJT-C2 in DJT *) complement[DISJOINT] := union[composite[E,inverse[E]], complement[cart[V,V]]] (* added 1998 July 2 *) complement[DUP] := union[complement[cart[V,Id]], composite[DUP,Di]] (* added 1998 July 2 *) complement[FIRST] := union[complement[cart[cart[V,V],V]], composite[Di,FIRST]] (* added 1998 February 7 *) complement[fix[E]] := RUSSELL (* added 1998 July 2 *) complement[id[x_]] := union[complement[cart[x,x]],composite[id[x],Di,id[x]]] (* Theorem DI-ID-C in DI added 1998 July 2 *) complement[Id] := union[Di,complement[cart[V,V]]] (* added 1998 July 2; revised 1999 July 14; removed 2000 November 7 complement[IMAGE[z_]] := union[ complement[cart[P[domain[VERTSECT[z]]],range[IMAGE[z]]]], composite[id[range[IMAGE[z]]],Di,IMAGE[z]]] *) (* Theorem C-4B in C1 *) complement[intersection[x_,y_]] := union[complement[x],complement[y]] (* added 1998 August 11 *) complement[inverse[BIGCAP]] := union[complement[cart[V,complement[set[0]]]], composite[inverse[BIGCAP],Di]] (* added 1998 July 2 *) complement[inverse[BIGCUP]] := union[complement[cart[V,V]], composite[inverse[BIGCUP],Di]] (* added 1998 July 2 *) complement[inverse[DUP]] := union[complement[cart[Id,V]], composite[Di,inverse[DUP]]] (* added 1998 July 2 *) complement[inverse[FIRST]] := union[complement[cart[V,cart[V,V]]], composite[inverse[FIRST],Di]] (* added 2000 November 23 based on VS-3.NB *) complement[inverse[LB[x_]]] := union[complement[cart[V,V]], composite[E,complement[x]]] (* added 1998 August 11 *) complement[inverse[POWER]] := union[complement[cart[V,V]], composite[inverse[POWER],Di]] (* added 2002 May 25 based on ON-SUC-1.NB *) complement[inverse[PS]] := union[Id,complement[inverse[S]]] (* added 1998 July 2 *) complement[inverse[SECOND]] := union[complement[cart[V,cart[V,V]]], composite[inverse[SECOND],Di]] (* added 1998 July 3 *) complement[inverse[SINGLETON]] := union[complement[cart[V,V]], composite[inverse[SINGLETON],Di]] (* revised 2002 November 26 based on C-SUCC.NB *) complement[inverse[SUCC]] := union[complement[cart[range[SUCC],V]],composite[inverse[SUCC],Di]] (* added 2000 November 7 based on UB-1.NB *) complement[inverse[UB[x_]]] := union[complement[cart[V,V]], composite[E,complement[inverse[x]]]] (* added 2000 November 7 based on LB-2.NB *) complement[LB[x_]] := union[complement[cart[V,V]], composite[complement[inverse[x]],inverse[E]]] (* added 1998 August 11 *) complement[POWER] := union[complement[cart[V,V]],composite[Di,POWER]] (* Theorem PS-C1 in PS1 proved 1998 November 28 *) complement[PS] := union[Id,complement[S]] (* Theorem RUS-C in RUS/1 *) complement[RUSSELL] := fix[E] (* added 1998 July 2 *) complement[SECOND] := union[complement[cart[cart[V,V],V]], composite[Di,SECOND]] (* Theorem AP-DI-SG proved 1998 December 16 *) complement[SINGLETON] := union[complement[cart[V,V]], composite[Di,SINGLETON]] (* revised 2002 November 26 based on C-SUCC.NB *) complement[SUCC] := union[complement[cart[V,range[SUCC]]],composite[Di,SUCC]] (* added 1998 July 2; removed 2002 November 26 based on SWAP-DI.NB complement[SWAP] := union[complement[cart[cart[V,V],cart[V,V]]], composite[id[cart[V,V]],Di,SWAP]] *) (* added 2000 November 7 based on UB-1.NB *) complement[UB[x_]] := union[complement[cart[V,V]], composite[complement[x],inverse[E]]] (* Theorem C-4A in C1 *) complement[union[x_,y_]] := intersection[complement[x],complement[y]] (* Theorem C-2B in C1 *) complement[V] := 0 (* Theorem CO-0A in CO1 *) composite[0,x_] := 0 (* Theorem CO-0B in CO1 *) composite[x_,0] := 0 (* added 2001 May 10 based on ACLOSURE.NB *) composite[ACLOSURE,ACLOSURE] := ACLOSURE (* added 2002 November 20 based on UCL-U.NB *) composite[ACLOSURE,ADJOIN[set[0]]] := composite[ADJOIN[set[0]],ACLOSURE] (* added 2001 October 15 based on ACL-IMS.NB *) composite[ACLOSURE,CLIQUES] := CLIQUES (* derived 2005 February 17 in NAT-ACL.NB *) composite[ACLOSURE,id[omega]] := id[omega] (* derived 2005 February 17 in NAT-ACL.NB *) composite[ACLOSURE,id[OMEGA]] := id[OMEGA] (* added 2003 May 19 based on CAPCLOSE.NB *) composite[ACLOSURE,IMAGE[CAP],CART,DUP] := ACLOSURE (* added 2003 May 18 based on ACL-SQ.NB *) composite[ACLOSURE,IMAGE[CART],IMAGE[DUP]] := composite[IMAGE[CART],IMAGE[DUP],ACLOSURE] (* added 2001 October 2 based on IMS.NB *) composite[ACLOSURE,IMAGE[inverse[S]]] := IMAGE[inverse[S]] (* added 2003 May 19 based on ACL-IPOW.NB *) composite[ACLOSURE,IMAGE[POWER]] := composite[IMAGE[POWER],ACLOSURE] (* added 2001 May 10 based on ACLOSURE.NB *) composite[ACLOSURE,POWER] := POWER (* added 2002 April 8 based on UCL-ACL.NB *) composite[ACLOSURE,SINGLETON] := SINGLETON (* derived 2004 August 10 in RS-3.NB *) composite[ACLOSURE,VERTSECT[RESTRICT]] := VERTSECT[RESTRICT] (* added 1999 November 3 based on CURRY.NB *) composite[ADJOIN[x_],ADJOIN[y_]] := ADJOIN[union[x,y]] (* added 2002 August 18 based on DISTRIB.NB *) composite[ADJOIN[x_],CAP] := composite[CAP,cross[ADJOIN[x],ADJOIN[x]]] (* added 2000 September 22 based on LEFT.NB *) composite[ADJOIN[complement[image[V,set[x_]]]],LEFT[x_]] := LEFT[x] (* added 2000 September 22 based on LEFT.NB *) composite[ADJOIN[complement[image[V,set[x_]]]],RIGHT[x_]] := RIGHT[x] (* added 2001 May 2 based on ADJOIN.NB *) composite[ADJOIN[x_],complement[inverse[S]]] := composite[id[image[S,set[x]]],complement[inverse[S]]] (* added 1999 November 21 based on 1999/NOV/20/CUT-ADJ.NB *) composite[ADJOIN[x_],id[image[S,set[x_]]]] := id[image[S,set[x]]] (* added 2003 September 11 based on ID-IMV.NB *) composite[ADJOIN[x_],y___,id[image[V,set[x_]]]] := composite[ADJOIN[x],y] (* added 2002 May 24 based on ADJOIN.NB *) composite[ADJOIN[x_],IMAGE[id[complement[x_]]]] := ADJOIN[x] (* Theorem ADJ-CO3 in ADJ proved 1999 November 23 *) composite[ADJOIN[x_],S] := composite[id[image[S,set[x]]],S] (* added 2002 May 24 based on ADJOIN.NB *) composite[ADJOIN[set[0]],id[omega],SUCC] := composite[id[omega],SUCC] (* added 2002 May 24 based on ADJOIN.NB *) composite[ADJOIN[set[0]],IMAGE[SUCC],id[omega]] := composite[id[omega],SUCC] (* added 2001 May 20 based on IDEA.NB *) composite[ADJOIN[set[0]],POWER] := POWER (* added 2002 October 24 based on SUBVAR.NB *) composite[ADJOIN[set[0]],SUBVAR] := SUBVAR (* added 2003 May 30 based on RESTRICT.NB *) composite[ASSOC,cross[cross[x_,y_],z_]] := composite[cross[x,cross[y,z]],ASSOC] (* added 2002 June 25 based on ASSOC.NB *) composite[ASSOC,cross[inverse[FIRST],Id]] := cross[Id,inverse[SECOND]] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[ASSOC,cross[RIGHT[x_],Id]] := cross[Id,LEFT[x]] (* added 2002 October 22 based on CO-ID.NB *) composite[ASSOC,id[cart[cart[V,V],V]]] := ASSOC (* derived 2004 March 23 in TRV-K.NB *) composite[ASSOC,id[cart[x_,y_]],inverse[FIRST]] := composite[cross[Id,composite[id[cart[V,y]],inverse[FIRST]]],id[x]] (* added 1999 October 17 based on ASSOC.2 *) composite[ASSOC,id[cart[V,V]]] := ASSOC (* added 1999 November 6 based on CO-4.LOG *) composite[ASSOC,inverse[FIRST]] := cross[Id,inverse[FIRST]] (* added 1999 October 31 based on ASSOC.1 *) composite[ASSOC,inverse[ROT]] := composite[SWAP,ROT] (* added 1999 November 6 based on CO-4.LOG *) composite[ASSOC,inverse[SECOND]] := composite[inverse[SECOND],inverse[SECOND]] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[ASSOC,LEFT[x_]] := composite[LEFT[first[x]],LEFT[second[x]]] (* added 1999 November 3 based on ASS-DIF.TXT *) composite[ASSOC,RIGHT[x_]] := cross[Id,RIGHT[x]] (* modified 1999 December 15 based on PERMUTE.NB *) composite[ASSOC,ROT] := composite[SWAP,id[cart[cart[V,V],V]]] (* added 2001 May 10 based on UCLOS-2.NB *) composite[BIGCAP,ACLOSURE] := BIGCAP (* added 2001 May 8 based on BC-BA.NB *) composite[BIGCAP,CLIQUES] := cart[V,set[0]] (* Corollary BA-5C in BIGCAP/BA1 proved 1998 December 15 *) composite[BIGCAP,complement[inverse[S]]] := composite[inverse[S],complement[inverse[E]]] (* added 1999 December 16 based on BIGCAP.NB *) composite[BIGCAP,CUP] := union[composite[BIGCAP,inverse[LEFT[0]]], composite[BIGCAP,inverse[RIGHT[0]]], composite[CAP,cross[BIGCAP,BIGCAP]]] (* Theorem BA-E3 in BIGCAP/BA1 proved 1998 October 1 *) composite[BIGCAP,E] := inverse[S] (* added 2002 October 22 based on CO-ID.NB *) composite[BIGCAP,id[complement[set[0]]]] := BIGCAP (* derived 2004 December 15 in LB-UB-RS.NB *) composite[BIGCAP,id[intersection[x_,complement[set[0]]]]] := composite[BIGCAP,id[x]] (* derived 2005 January 27 in BA-OM.NB *) composite[BIGCAP,id[omega]] := cart[intersection[omega,complement[set[0]]],set[0]] (* derived 2005 January 27 in BA-ON.NB *) composite[BIGCAP,id[OMEGA]] := cart[intersection[OMEGA,complement[set[0]]],set[0]] (* corrected 1998 August 9 *) composite[BIGCAP,id[range[POWER]]] := cart[range[POWER],set[0]] (* added 1998 July 31 *) composite[BIGCAP,id[range[SINGLETON]]] := inverse[SINGLETON] (* added 2001 May 2 based on ADJOIN.NB *) composite[BIGCAP,IMAGE[ADJOIN[x_]]] := composite[ADJOIN[x],BIGCAP] (* added 1999 September 24 based on BIGCAP.LOG *) composite[BIGCAP,IMAGE[BIGCAP]] := composite[BIGCAP,BIGCUP] (* revised 2001 December 24 based on REPLACE.NB *) composite[BIGCAP,IMAGE[CAP]] := composite[CAP,cross[BIGCAP,BIGCAP],DORA] (* revised 2001 December 24 based on REPLACE.NB *) composite[BIGCAP,IMAGE[CART]] := composite[CART,cross[BIGCAP,BIGCAP],DORA] (* added 2001 April 30 based on CLIQUES2.NB *) composite[BIGCAP,IMAGE[CLIQUES]] := composite[CLIQUES,BIGCAP] (* revised 2001 December 24 based on BC-BA.NB *) composite[BIGCAP,IMAGE[DIF]] := composite[DIF,cross[BIGCAP,BIGCUP],DORA] (* added 2001 April 10 based on HC-BA.NB *) composite[BIGCAP,IMAGE[HC]] := composite[HC,BIGCAP] (* added 2001 March 9 based on IMG-CUT.NB *) composite[BIGCAP,IMAGE[IMAGE[id[x_]]]] := composite[IMAGE[id[x]],BIGCAP] (* added 2001 May 3 based on BA-IMG.NB *) composite[BIGCAP,IMAGE[IMAGE[inverse[DUP]]]] := composite[IMAGE[inverse[DUP]],BIGCAP] (* added 2001 May 3 based on BA-IMG.NB *) composite[BIGCAP,IMAGE[IMAGE[inverse[POWER]]]] := composite[IMAGE[inverse[POWER]],BIGCAP] (* added 2002 February 17 based on IMG-IMG.NB *) composite[BIGCAP,IMAGE[IMAGE[SWAP]]] := composite[IMAGE[SWAP],BIGCAP] (* added 2001 May 3 based on BA-IMG.NB *) composite[BIGCAP,IMAGE[inverse[IMAGE[DUP]]]] := composite[IMAGE[inverse[DUP]],BIGCAP,IMAGE[id[P[Id]]]] (* added 2000 January 18 based on BIGCAP.NB *) composite[BIGCAP,IMAGE[inverse[S]]] := cart[complement[set[0]],set[0]] (* added 1999 September 23 based on BIGCAP.LOG *) composite[BIGCAP,IMAGE[POWER]] := composite[POWER,BIGCAP] (* added 2000 January 18 based on BIGCAP.NB *) composite[BIGCAP,IMAGE[SINGLETON]] := union[id[range[SINGLETON]], cart[intersection[complement[range[SINGLETON]], complement[set[0]]],set[0]]] (* derived 2004 May 14 in REPLACE.NB *) composite[BIGCAP,IMAGE[VERTSECT[x_]]] := composite[VERTSECT[UB[x]],IMAGE[id[domain[VERTSECT[x]]]]] (* added 2003 May 12 based on APPLY.NB *) composite[BIGCAP,IMG,cross[FUNPART,SINGLETON]] := composite[inverse[SINGLETON],IMG,cross[Id,SINGLETON]] (* added 2003 June 6 based on ACL-UCL.NB *) composite[BIGCAP,inverse[ACLOSURE],E] := inverse[S] (* added 2000 December 20 based on BA-BC.NB *) composite[BIGCAP,inverse[BIGCUP]] := inverse[S] (* added 2002 April 10 based on INVAR.NB *) composite[BIGCAP,inverse[LB[INVAR]]] := INVAR (* added 2001 May 10 based on UCLOS-1.NB *) composite[BIGCAP,inverse[S]] := composite[inverse[E],ACLOSURE] (* added 2002 January 11 based on KURA.NB *) composite[BIGCAP,KURA] := composite[SINGLETON,FIRST] (* added 1999 October 6 based on CAP.1 *) composite[BIGCAP,PAIRSET] := CAP (* corrected 1998 August 9 *) composite[BIGCAP,POWER] := cart[V,set[0]] (* added 1998 July 31 *) composite[BIGCAP,SINGLETON] := Id (* added 1998 July 30 *) composite[BIGCAP,S] := union[cart[set[0],V],composite[inverse[S],BIGCAP]] (* added 2001 May 8 based on BC-BA.NB *) composite[BIGCAP,SUBVAR] := cart[V,set[0]] (* added 2001 May 10 based on UCLOS-1.NB *) composite[BIGCAP,UCLOSURE] := cart[V,set[0]] (* added 2002 January 29 based on FUNPART.NB *) composite[BIGCAP,VERTSECT[x_],id[domain[funpart[x_]]]] := funpart[x] (* added 2001 September 9 based on ACLOSURE.NB *) composite[BIGCUP,ACLOSURE] := BIGCUP (* added 2002 November 19 based on ADJOIN.NB *) composite[BIGCUP,ADJOIN[x_]] := composite[ADJOIN[U[x]],BIGCUP] (* added 2002 January 22 based on UCLUCL.NB *) composite[BIGCUP,BIGCUP,IMAGE[id[P[x_]]],VERTSECT[inverse[BIGCUP]]] := union[cart[union[complement[Uclosure[x]],set[0]],set[0]],id[Uclosure[x]]] (* added 2001 May 8 based on BC-BA.NB *) composite[BIGCUP,CLIQUES] := IMAGE[inverse[DUP]] (* added 2003 July 4 based on COARSER.NB *) composite[BIGCUP,COARSER] := BIGCUP (* Theorem POW-C-BC in POW3 proved 1998 December 15 *) composite[BIGCUP,complement[inverse[S]]] := composite[inverse[POWER],complement[inverse[S]]] (* added 1999 October 9 based on CUP-LOG.1 *) composite[BIGCUP,CUP] := composite[CUP,cross[BIGCUP,BIGCUP]] (* Theorem BC-CO-E2 in BIGCUP/BC proved 1998 February 5 *) composite[BIGCUP,E] := S (* derived 2005 February 16 in BC-OM.NB *) composite[BIGCUP,id[intersection[omega,complement[set[0]]]]] := composite[inverse[SUCC],id[omega]] (* added 2002 May 25 based on SUCC-ID.NB *) composite[BIGCUP,id[omega],SUCC] := id[omega] (* added 2002 May 25 based on SUCC-ID.NB *) composite[BIGCUP,id[OMEGA],SUCC] := id[OMEGA] composite[BIGCUP,id[P[range[SINGLETON]]]] := inverse[IMAGE[SINGLETON]] (* Theorem POW-BC10 in BC5 proved 1999 January 27 *) composite[BIGCUP,id[range[POWER]]] := inverse[POWER] (* Theorem BC-SG-5 in BIGCUP/BC proved 1998 November 20 *) composite[BIGCUP,id[range[SINGLETON]]] := inverse[SINGLETON] (* added 2001 May 11 based on ACLOS-IM.NB *) composite[BIGCUP,IMAGE[ACLOSURE]] := composite[IMAGE[BIGCAP],IMAGE[inverse[S]]] (* Corollary IMG-BC-6 in IMG4 proved 1998 November 19 *) composite[BIGCUP,IMAGE[BIGCUP]] := composite[BIGCUP,BIGCUP] (* added 2001 March 9 based on BC-IMG.TXT *) composite[BIGCUP,IMAGE[CAP],CART] := composite[CAP,cross[BIGCUP,BIGCUP]] (* added 2001 March 9 based on BC-IMG.TXT *) composite[BIGCUP,IMAGE[CART],CART] := composite[CART,cross[BIGCUP,BIGCUP]] (* derived 2004 October 4 in REPLACE.NB *) composite[BIGCUP,IMAGE[CART],IMAGE[DUP],CLIQUES] := CORE[intersection[RFX,SYM]] (* added 2001 May 4 based on CLIQUES.NB *) composite[BIGCUP,IMAGE[CLIQUES],POWER] := CLIQUES (* added 2001 March 9 based on IM-CPS.NB *) composite[BIGCUP,IMAGE[COMPOSE],CART] := composite[COMPOSE,cross[BIGCUP,BIGCUP]] (* added 2003 February 20 based on BC-IMG.NB *) composite[BIGCUP,IMAGE[CORE[x_]],POWER] := CORE[x] (* added 2001 March 9 based on BC-IMG.TXT *) composite[BIGCUP,IMAGE[CROSS],CART] := composite[CROSS,cross[BIGCUP,BIGCUP]] (* revised 2001 December 24 based on BC-BA.NB *) composite[BIGCUP,IMAGE[CUP]] := composite[CUP,cross[BIGCUP,BIGCUP],DORA] (* added 2001 March 8 based on IMAGEDIF.NB *) composite[BIGCUP,IMAGE[DIF],CART,cross[Id,SINGLETON]] := composite[DIF,cross[BIGCUP,Id]] (* added 2001 March 8 based on IMIMG.NB *) composite[BIGCUP,IMAGE[DIF],CART,cross[SINGLETON,Id]] := union[cart[cart[V,set[0]],set[0]], composite[DIF,cross[Id,BIGCAP]]] (* added 2001 April 1 based on HF-CONT.NB *) composite[BIGCUP,IMAGE[HC],POWER] := HC (* derived 2004 October 7 in BC-IM-PC.NB *) composite[BIGCUP,IMAGE[HULL[intersection[T2,TOPS]]],POWER] := HULL[intersection[T2,TOPS]] (* added 2002 February 16 based on IMG-HULL.NB *) composite[BIGCUP,IMAGE[HULL[t_]],POWER,id[image[inverse[S],t_]]] := HULL[t] (* derived 2004 October 7 in BC-IM-PC.NB *) composite[BIGCUP,IMAGE[HULL[TOPS]],POWER] := HULL[TOPS] (* added 2002 February 16 based on HULL-TRV.NB *) composite[BIGCUP,IMAGE[HULL[TRV]],POWER] := composite[HULL[TRV],IMAGE[id[cart[V,V]]]] (* added 2002 November 19 based on CORE.NB *) composite[BIGCUP,IMAGE[id[complement[set[0]]]]] := BIGCUP (* added 2003 February 20 based on BC-IMG.NB *) composite[BIGCUP,IMAGE[id[x_]],IMAGE[inverse[S]]] := composite[BIGCUP,IMAGE[CORE[x]]] (* added 2001 May 2 based on COREHULL.NB *) composite[BIGCUP,IMAGE[id[x_]],POWER] := CORE[x] (* from IMG-SG.LOG 1999 April 16 *) composite[BIGCUP,IMAGE[id[range[SINGLETON]]]] := IMAGE[inverse[SINGLETON]] (* added 1999 September 24 based on SESSION1.LOG *) composite[BIGCUP,IMAGE[IMAGE[x_]]] := composite[IMAGE[x],BIGCUP,IMAGE[id[P[domain[VERTSECT[x]]]]]] (* added 2001 March 9 based on BC-IMG.TXT *) composite[BIGCUP,IMAGE[IMG],CART] := composite[IMG,cross[BIGCUP,BIGCUP]] (* added 2001 March 9 based on BC-IMG.TXT *) composite[BIGCUP,IMAGE[inverse[BIGCUP]]] := IMAGE[inverse[S]] (* Theorem HER-CO2 in HER *) composite[BIGCUP,IMAGE[inverse[S]]] := BIGCUP (* revised 2001 December 24 based on BC-BA.NB *) composite[BIGCUP,IMAGE[PAIRSET]] := composite[CUP,DORA] (* Theorem HER-CO3 in HER added 1998 August 4 *) composite[BIGCUP,IMAGE[POWER]] := IMAGE[inverse[S]] (* added 2003 June 11 based on VS.NB *) composite[BIGCUP,IMAGE[SECOND],VS] := IMAGE[SECOND] (* Theorem IMG-BC-4 in IMG4 proved 1998 November 19 *) composite[BIGCUP,IMAGE[SINGLETON]] := Id (* derived 2004 January 22 in U-SBV-PC.NB *) composite[BIGCUP,IMAGE[SUBVAR],POWER] := SUBVAR (* added 2002 April 27 based on FULSUC-D.NB *) composite[BIGCUP,IMAGE[SUCC]] := composite[BIGCUP,SUCC] (* added 2001 May 8 based on BC-BA.NB *) composite[BIGCUP,IMAGE[SYMDIF]] := composite[CUP,intersection[ composite[inverse[FIRST],BIGCUP,IMAGE[DIF]], composite[inverse[SECOND],BIGCUP,IMAGE[DIF],IMAGE[SWAP]]]] (* added 2000 October 26 based on TC-6.NB *) composite[BIGCUP,IMAGE[TC]] := composite[BIGCUP,TC] (* added 2001 May 11 based on UCLOS-IM.NB *) composite[BIGCUP,IMAGE[UCLOSURE]] := composite[IMAGE[BIGCUP],IMAGE[inverse[S]]] (* derived 2004 May 14 in REPLACE.NB *) composite[BIGCUP,IMAGE[VERTSECT[x_]]] := IMAGE[thinpart[x]] (* derived 2004 August 14 in ZN-RULES.NB *) composite[BIGCUP,IMAGE[ZN]] := composite[IMAGE[ZN],BIGCUP] (* added 2000 December 20 based on BA-BC.NB *) composite[BIGCUP,inverse[BIGCAP]] := S (* derived 2003 December 31 in COARSER.NB *) composite[BIGCUP,inverse[COARSER]] := BIGCUP (* added 2003 February 6 based on OM-SC-2B.NB *) composite[BIGCUP,inverse[IMAGE[inverse[SUCC]]],E] := composite[S,SUCC] (* derived 2004 December 21 in COMUTANT.NB *) composite[BIGCUP,inverse[LB[COMMUTE]]] := COMMUTE (* added 2002 April 10 based on INVAR.NB *) composite[BIGCUP,inverse[LB[INVAR]]] := INVAR (* derived 2004 December 21 in SBCOMMUT.NB *) composite[BIGCUP,inverse[LB[SUBCOMMUTE]]] := SUBCOMMUTE (* added 2001 May 10 based on UCLOS-1.NB *) composite[BIGCUP,inverse[S]] := composite[inverse[E],UCLOSURE] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[BIGCUP,inverse[UB[SUBCOMMUTE]]] := inverse[SUBCOMMUTE] (* added 2003 June 6 based on ACL-UCL.NB *) composite[BIGCUP,inverse[UCLOSURE],E] := S (* added 2002 January 11 based on KURA.NB *) composite[BIGCUP,KURA] := PAIRSET (* derived 2004 December 22 in UCL-COMT.NB *) composite[BIGCUP,LB[LB[COMMUTE]]] := LB[COMMUTE] (* derived 2004 December 23 in UCLSBCMT.NB *) composite[BIGCUP,LB[LB[SUBCOMMUTE]]] := UB[SUBCOMMUTE] (* derived 2004 December 24 in LB-SBCMT.NB *) composite[BIGCUP,LB[UB[SUBCOMMUTE]]] := LB[SUBCOMMUTE] (* added 2001 April 27 based on MAP3.NB *) composite[BIGCUP,MAP] := CART (* added 1999 October 6 based on CUP.1 *) composite[BIGCUP,PAIRSET] := CUP (* Theorem POW-BC4 in POW4 *) composite[BIGCUP,POWER] := Id (* follows from Theorems BC-SR-3 and BC-UB-2 in BIGCUP/BC *) composite[BIGCUP,S] := composite[inverse[POWER],S] (* Theorem BC-SG-4 in BIGCUP/BC *) composite[BIGCUP,SINGLETON] := Id (* added 2002 April 21 based on ON.NB *) composite[BIGCUP,SUCC,id[FULL]] := id[FULL] (* added 2001 April 1 based on HF-CONT.NB *) composite[BIGCUP,TC,POWER] := TC (* added 2003 January 25 based on TC-ZN.NB *) composite[BIGCUP,TC,SINGLETON] := TC (* added 2001 May 10 based on UCLOS-1.NB *) composite[BIGCUP,UCLOSURE] := BIGCUP (* derived 2004 December 24 in UCL-LBUB.NB *) composite[BIGCUP,VERTSECT[COARSER]] := composite[POWER,BIGCUP] (* added 2002 January 20 based on UU.NB *) composite[BIGCUP,VERTSECT[inverse[BIGCUP]]] := POWER (* added 2003 May 31 based on RS-CO.NB *) composite[BIGCUP,VERTSECT[RESTRICT]] := IMAGE[id[cart[V,V]]] (* added 2001 July 17 based on ZN-IMG4.NB *) composite[BIGCUP,VERTSECT[ZN]] := IMAGE[ZN] (* added 2000 September 20 based on CAP-CUP.LOG *) composite[CAP,cross[CAP,Id],inverse[ASSOC]] := composite[CAP,cross[Id,CAP]] (* added 2000 September 20 based on CAP-CUP.LOG *) composite[CAP,cross[CAP,Id],inverse[ROT]] := composite[CAP,cross[CAP,Id]] (* added 2000 September 20 based on CAP-CUP.LOG *) composite[CAP,cross[CAP,Id],ROT] := composite[CAP,cross[CAP,Id]] (* added 2001 October 9 based on TRV-1.NB *) composite[CAP,cross[CART,CART],TWIST] := composite[CART,cross[CAP,CAP]] (* added 1999 December 24 based on COMPOSE.NB *) composite[CAP,cross[CART,Id]] := composite[COMPOSE,cross[COMPOSE,Id], cross[cross[IMAGE[DUP],Id],IMAGE[DUP]],inverse[ROT]] (* added 1999 December 21 based on CROSS.NB *) composite[CAP,cross[CROSS,CROSS]] := composite[CROSS,cross[CAP,CAP],TWIST] (* derived 2003 December 26 in DISTRIB.NB *) composite[CAP,cross[CUP,CUP],TWIST,cross[DUP,Id]] := composite[CUP,cross[Id,CAP]] (* derived 2003 December 26 in DISTRIB.NB *) composite[CAP,cross[CUP,CUP],TWIST,cross[Id,DUP]] := composite[CUP,cross[CAP,Id]] (* added 1999 November 16 based on DISJOINT.NB *) composite[CAP,cross[DISJOINT,DISJOINT]] := composite[DISJOINT,CUP] (* added 1999 November 3 based on CURRY.NB *) composite[CAP,cross[Id,CAP],ASSOC] := composite[CAP,cross[CAP,Id]] (* added 1999 November 16 based on CAP-CUP.NB *) composite[CAP,cross[inverse[S],inverse[S]]] := composite[inverse[S],CAP] (* added 1999 October 5 based on ASSOC.1 *) composite[CAP,cross[SINGLETON,SINGLETON]] := union[cart[Di,set[0]],composite[SINGLETON,inverse[DUP]]] (* Added 1999 August 14 on basis of CAP-CART.LOG session *) composite[CAP,DUP] := Id (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[ACLOSURE]] := composite[FIRST,id[ACLOSURE]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[ADJOIN[x_]]] := composite[FIRST,id[ADJOIN[x]]] (* added 1999 December 19 based on CAP.NB *) composite[CAP,id[cart[set[x_],y_]]] := composite[IMAGE[id[x]], id[intersection[y,image[V,set[x]]]],inverse[LEFT[x]]] (* based on 1999/DEC/16/CAP.NB *) composite[CAP,id[cart[x_,set[y_]]]] := composite[IMAGE[id[y]], id[intersection[x,image[V,set[y]]]],inverse[RIGHT[y]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[cart[x_,V]],inverse[FIRST]] := composite[inverse[S],id[x]] (* added 2002 October 22 based on CO-ID.NB *) composite[CAP,id[cart[V,V]]] := CAP (* added 1999 November 3 based on CURRY.NB *) composite[CAP,id[complement[cart[V,V]]]] := 0 (* added 2003 September 21 based on RFX-CORE.NB *) composite[CAP,id[composite[CART,DUP,IMAGE[inverse[DUP]]]],inverse[FIRST]] := CORE[RFX] (* added 2001 March 31 based on HF.NB *) composite[CAP,id[composite[POWER,HC]],inverse[FIRST]] := HC (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[CORE[x_]]] := composite[SECOND,id[CORE[x]]] (* added 1999 October 30 based on IM-S-DJ.NB *) composite[CAP,id[DISJOINT]] := cart[DISJOINT,set[0]] (* added 2001 November 27 based on FUNPART1.NB *) composite[CAP,id[FUNPART]] := composite[SECOND,id[FUNPART]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[HC]] := composite[SECOND,id[HC]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[HULL[x_]]] := composite[FIRST,id[HULL[x]]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,id[Id]] := inverse[DUP] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[IMAGE[id[x_]]]] := composite[SECOND,id[IMAGE[id[x]]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[IMAGE[inverse[S]]]] := composite[FIRST,id[IMAGE[inverse[S]]]] (* added 2001 October 30 based on SYM-CORE.NB *) composite[CAP,id[IMAGE[SWAP]],inverse[FIRST]] := CORE[SYM] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[inverse[CORE[x_]]]] := composite[FIRST,id[inverse[CORE[x]]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[inverse[HC]]] := composite[FIRST,id[inverse[HC]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[inverse[IMAGE[id[x_]]]]] := composite[FIRST,id[inverse[IMAGE[id[x]]]]] (* added 2003 November 6 based on HULL-EQV.NB *) composite[CAP,id[INVERSE],inverse[FIRST]] := composite[CORE[SYM],id[P[cart[V,V]]]] (* added 1999 December 6 based on RESTRICT.NB *) composite[CAP,id[inverse[S]]] := composite[SECOND,id[inverse[S]]] (* added 2001 March 1 based on CAP-2ND.NB *) composite[CAP,id[x_],inverse[SECOND]] := composite[CAP,id[inverse[x]],inverse[FIRST]] (* derived 2004 May 9 in OOPART.NB *) composite[CAP,id[OOPART]] := composite[SECOND,id[OOPART]] (* added 1999 November 17 based on NEWRULES.1 *) composite[CAP,id[S]] := composite[FIRST,id[S]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[TC]] := composite[FIRST,id[TC]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CAP,id[UCLOSURE]] := composite[FIRST,id[UCLOSURE]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],CUP]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],DIF]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],FIRST]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],SECOND]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],SYMDIF]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],CAP]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],DIF]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],FIRST]]] := FIRST (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],SECOND]]] := SECOND (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],SYMDIF]]] := SYMDIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],CAP]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],CUP]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],DIF,SWAP]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],FIRST]]] := DIF (* added 1999 December 9 based on BUILDCAP.NB *) composite[CAP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],inverse[DUP]]]] := cart[Id,set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],SECOND]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],SYMDIF]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],DIF,SWAP], composite[inverse[SECOND],DIF]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],CAP]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],CUP]]] := FIRST (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],DIF]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],SYMDIF]]] := DIF (* derived 2004 May 9 in OOPART.NB *) composite[CAP,intersection[composite[inverse[FIRST],FUNPART], composite[inverse[SECOND],IMAGE[SWAP],FUNPART,IMAGE[SWAP]]]] := OOPART (* added 2002 May 5 based on HULL.NB *) composite[CAP,intersection[composite[inverse[FIRST],HULL[x_]], composite[inverse[SECOND],HULL[y_]]]] := composite[HULL[union[x,y]], id[intersection[image[inverse[S],x],image[inverse[S],y]]]] (* added 2001 March 1 based on CO-INE.NB *) composite[CAP,intersection[composite[inverse[FIRST],IMAGE[id[x_]]], composite[inverse[SECOND],IMAGE[id[y_]]]]] := IMAGE[id[intersection[x,y]]] (* added 1999 December 9 based on BUILDCAP.NB *) composite[CAP,intersection[composite[inverse[FIRST],inverse[DUP]], composite[inverse[SECOND],DIF]]] := cart[Id,set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],CAP]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],CUP]]] := SECOND (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],DIF]]] := cart[cart[V,V],set[0]] (* added 1999 December 9 based on BUILDCAP.NB *) composite[CAP,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],SYMDIF]]] := composite[DIF,SWAP] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],CAP]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],CUP]]] := SYMDIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],DIF]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[CAP,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],FIRST]]] := DIF (* Inverse of Theorem CAPCUP-2 added 2000 July 24 *) composite[CAP,inverse[CUP]] := inverse[S] (* Theorem CAP1ST-2 in CAP proved 1999 August 14 *) composite[CAP,inverse[FIRST]] := inverse[S] (* added 2001 November 11 based on PAIRSET.NB *) composite[CAP,inverse[PAIRSET]] := composite[BIGCAP,id[range[PAIRSET]]] (* Theorem CAP2ND-2 in CAP proved 1999 August 14 *) composite[CAP,inverse[SECOND]] := inverse[S] (* added 1999 September 23 based on CAP-LOG.4 *) composite[CAP,LEFT[x_]] := composite[IMAGE[id[x]],id[image[V,set[x]]]] (* added 1999 September 23 based on CAP-LOG.3 *) composite[CAP,RIGHT[x_]] := composite[IMAGE[id[x]],id[image[V,set[x]]]] (* Theorem CAP-SW in CAP proved 1999 September 23 *) composite[CAP,SWAP] := CAP (* added 2001 December 10 based on CARD-ALL.NB *) composite[CARD,CARD] := CARD (* added 2003 December 9 based on ITER-K.NB *) composite[CARD,id[FINITE]] := composite[id[omega],CARD] (* added 2002 October 22 based on CO-ID.NB *) composite[CARD,id[image[Q,OMEGA]]] := CARD (* added 2002 May 28 based on CARD-OM.NB *) composite[CARD,id[omega]] := id[omega] (* derived 2004 January 10 in CARD-FUN.NB *) composite[CARD,IMAGE[DUP]] := CARD (* derived 2004 January 10 in CARD-FUN.NB *) composite[CARD,IMAGE[FIRST],FUNPART] := composite[CARD,FUNPART] (* derived 2004 January 10 in CARD-FUN.NB *) composite[CARD,IMAGE[FIRST],id[FUNS]] := composite[CARD,id[FUNS]] (* derived 2004 January 10 in CARD-FUN.NB *) composite[CARD,LAMBHULL] := composite[CARD,IMAGE[inverse[S]]] (* derived 2004 January 10 in CARD-FUN.NB *) composite[CARD,PLUS] := cart[omega,set[omega]] (* added 2001 December 14 based on CARD-Q.NB *) composite[CARD,Q] := CARD (* derived 2004 January 10 in CARD-FUN.NB *) composite[CARD,RCF] := composite[CARD,POWER] (* derived 2005 January 7 in CARD-ONE.NB *) composite[CARD,SINGLETON] := cart[V,set[set[0]]] (* derived 2004 January 10 in CARD-FUN.NB *) composite[CARD,VS] := composite[CARD,IMAGE[FIRST]] (* Theorem CO-IM1 in CO3 *) composite[x_,cart[y_,z_]] := cart[y,image[x,z]] (* Theorem CO-IM1' in CO3 *) composite[cart[x_,y_],z_] := cart[image[inverse[z],x],y] (* added 1999 October 5 based on SGIMCPSS.LOG *) composite[CART,cross[SINGLETON,SINGLETON]] := composite[SINGLETON,id[cart[V,V]]] (* added 2000 January 3 based on CART-DUP.NB *) composite[CART,DUP,SINGLETON] := composite[SINGLETON,DUP] (* added 1999 November 6 based on CART-OO.NB *) composite[CART,id[cart[complement[set[0]],complement[set[0]]]]] := composite[id[complement[set[0]]],CART] (* discovered 1999 December 16 in CART.NB *) composite[CART,id[cart[set[x_],y_]]] := composite[IMAGE[composite[id[cart[x,V]],inverse[SECOND]]],id[y], inverse[LEFT[x]]] (* discovered 1999 December 16 in CART.NB *) composite[CART,id[cart[x_,set[y_]]]] := composite[IMAGE[composite[id[cart[V,y]],inverse[FIRST]]],id[x], inverse[RIGHT[y]]] (* added 2002 October 22 based on CO-ID.NB *) composite[CART,id[cart[V,V]]] := CART (* added 1999 November 9 based on CART-CUR.NB *) composite[CART,LEFT[x_]] := composite[IMAGE[composite[id[cart[x,V]],inverse[SECOND]]], id[image[V,set[x]]]] (* added 1999 November 9 based on CART-CUR.NB *) composite[CART,RIGHT[x_]] := composite[IMAGE[composite[id[cart[V,x]],inverse[FIRST]]], id[image[V,set[x]]]] (* added 2001 April 30 based on CLIQUES2.NB *) composite[CLIQUES,CAP] := composite[CAP,cross[CLIQUES,CLIQUES]] (* added 2001 April 30 based on CLIQUES2.NB *) composite[CLIQUES,CART] := composite[CAP,cross[POWER,POWER]] (* added 2001 April 30 based on CLIQUES3.NB *) composite[CLIQUES,IMAGE[DUP]] := composite[ADJOIN[set[0]],IMAGE[SINGLETON]] (* added 2001 April 30 based on CLIQUES4.NB *) composite[CLIQUES,IMAGE[id[x_]]] := composite[IMAGE[id[cliques[x]]],CLIQUES] (* added 2001 April 30 based on CLIQUES2.NB *) composite[CLIQUES,IMAGE[SWAP]] := CLIQUES (* added 2001 April 30 based on CLIQUES2.NB *) composite[CLIQUES,INVERSE] := composite[CLIQUES,id[P[cart[V,V]]]] (* added 2003 July 4 based on COARSER.NB *) composite[COARSER,COARSER] := COARSER (* added 2003 July 4 based on COARSER.NB *) composite[COARSER,E] := E (* derived 2003 December 31 in COARSER.NB *) composite[COARSER,inverse[BIGCUP]] := inverse[BIGCUP] (* derived 2003 December 31 in COARSER.NB *) composite[COARSER,POWER] := POWER (* added 2003 July 4 based on COARSER.NB *) composite[COARSER,S] := S (* added 2001 December 26 based on COMMUTE.NB *) composite[COMMUTE,COMMUTE] := cart[V,V] (* added 2003 January 30 *) composite[COMMUTE,complement[E]] := cart[V,V] (* added 2003 January 30 *) composite[COMMUTE,complement[S]] := cart[complement[set[0]],V] (* added 2003 October 21 based on COMMUTE.NB *) composite[COMMUTE,DISJOINT] := cart[V,V] (* derived 2004 December 21 in COMUTANT.NB *) composite[COMMUTE,IMAGE[DUP]] := intersection[composite[inverse[IMAGE[SWAP]],inverse[INVAR]],inverse[INVAR]] (* added 2001 May 18 based on COMMUTE5.NB *) composite[COMMUTE,IMAGE[id[cart[V,V]]]] := COMMUTE (* added 2003 October 21 based on COMMUTE.NB *) composite[COMMUTE,inverse[S]] := cart[V,V] (* Theorem ID-C-CP1 in ID-CO proved 1998 November 19 *) composite[w_,complement[cart[x_,y_]]] := union[cart[V,image[w,complement[y]]], cart[complement[x],range[w]]] (* Theorem ID-C-CP2 in ID-CO proved 1998 November 19 *) composite[complement[cart[x_,y_]],z_] := union[cart[domain[z],complement[y]], cart[image[inverse[z],complement[x]],V]] (* derived 2004 February 17 in SU-IM-C.NB *) composite[complement[x_],complement[composite[complement[inverse[x_]],UB[x_]]]] := composite[complement[x],inverse[E]] (* added 2002 November 14 based on POW-SUC.NB *) composite[complement[composite[Di,SECOND, GREATEST[complement[cross[SUCC,SUCC]]]]], id[intersection[P[cart[omega,V]], subvar[union[cross[SUCC,SUCC],id[cart[set[0],V]]]]]],E] := rotate[composite[inverse[power[SUCC]],SWAP]] (* added 2002 November 13 based on NORM-ADD.NB *) composite[complement[composite[Di,SECOND,GREATEST[complement[cross[SUCC,SUCC]]]]], id[intersection[P[cart[omega,V]],subvar[union[cross[SUCC,SUCC], id[cart[set[0],V]]]]]],inverse[IMAGE[id[cart[V,omega]]]], inverse[IMAGE[SWAP]],E] := rotate[NATADD] (* added 2001 July 8 based on TAKEAWAY.NB *) composite[complement[composite[E,x_]]] := inverse[LB[complement[x]]] (* added 2001 July 8 based on ZN-2.NB *) composite[complement[composite[x_,inverse[E]]]] := UB[complement[x]] (* derived 2005 January 29 in DIV.NB *) composite[complement[DIV],inverse[DIV]] := composite[complement[DIV],id[omega]] (* added 1999 October 23 based on VS-S-LOG.2 but later removed composite[complement[E],x_] := union[cart[complement[domain[VERTSECT[x]]],V], composite[complement[S],VERTSECT[x]]] *) (* Theorem E-C-E-C in E-C proved 1999 March 26 *) composite[complement[E],complement[E]] := cart[V,V] (* Theorem E-C-C-IN in E-C proved 1998 September 4 *) composite[complement[E],complement[inverse[E]]] := cart[V,V] (* added 1998 August 23 on basis of ASSOC-3.LOG *) composite[complement[E],complement[inverse[S]]] := cart[V,V] (* 1999 March 25 session E-C-S-CO.LOG *) composite[complement[E],complement[S]] := cart[complement[set[0]],V] (* added 1999 October 5 based on CART.2 *) composite[complement[E],cross[inverse[E],inverse[E]]] := composite[complement[S],CART] (* Theorem E-C-DI-2 proved 1998 November 11 *) composite[complement[E],Di] := cart[V,V] (* added 1999 October 23 based on E-CO-DJT *) composite[complement[E],DISJOINT] := cart[V,V] (* added 1999 October 29 based on 1999 October 28 FIX-IDP.LOG *) composite[complement[E],DUP] := composite[inverse[IMAGE[inverse[DUP]]],complement[E]] (* Theorem SP-E-C-E in SP3 proved 1999 January 19 *) composite[complement[E],E] := cart[V,V] (* added 2002 February 4 based on RCF-NORM.NB *) composite[complement[E],id[DISJOINT],inverse[CUP]] := composite[complement[S],RCF] (* added 2001 March 31 based on HF-AGAIN.NB *) composite[complement[E],intersection[composite[inverse[S],HC],inverse[E]]] := composite[complement[S],HC] (* added 2002 April 10 based on INVAR.NB *) composite[complement[E],INVAR] := cart[V,V] (* Theorem SR-C-CO2 in SR/C *) composite[complement[E],inverse[E]] := composite[Id,complement[S]] (* added 2000 November 7 based on IMAGE.NB *) composite[complement[E],x_,inverse[E]] := union[cart[complement[P[domain[VERTSECT[x]]]],V], composite[complement[S],IMAGE[x]]] (* added 2000 August 9 based on DOROTEST.NB *) composite[complement[E],inverse[FIRST]] := cart[V,V] (* added 1999 October 17 based on STRANGE.2 *) composite[complement[E],inverse[PAIRSET],inverse[S]] := composite[complement[S],CART,DUP] (* Theorem POW-SR-C in POW3 proved 1998 November 21 *) composite[complement[E],inverse[S]] := composite[complement[S],POWER] (* added 2000 August 9 based on DOROTEST.NB *) composite[complement[E],inverse[SECOND]] := cart[V,V] (* Theorem AP-SG-C5 in AP2 proved 1998 November 20 *) composite[complement[E],inverse[SINGLETON]] := composite[complement[S],id[range[SINGLETON]]] (* added 2000 May 24 based on VS-K.NB *) composite[complement[E],K] := cart[V,V] (* added 1999 October 23 based on VS-S-LOG.2 *) composite[complement[E],PS] := cart[V,V] (* derived 2004 December 31 in IN-RK.NB *) composite[complement[E],RANK] := composite[inverse[IMAGE[inverse[RANK]]],complement[E],id[REGULAR]] (* added 2002 November 24 based on CHAL.NB *) composite[complement[E],rotate[E]] := composite[complement[S],IMG,cross[Id,SINGLETON]] (* 1999 March 25 session YET-MORE.LOG *) composite[complement[E],S] := cart[V,V] (* added 2000 September 12 based on CHAL-IMG.NB *) composite[complement[E],SWAP,inverse[rotate[composite[IMG,SWAP]]]] := cart[V,V] (* added 2003 July 5 based on PLUS-ISO.NB *) composite[complement[E],SWAP,inverse[rotate[NATADD]]] := composite[complement[S],PLUS] (* added 2002 November 16 based on EQUIDIFF.NB *) composite[complement[EQUIDIFF],EQUIDIFF] := composite[complement[EQUIDIFF],id[cart[omega,omega]]] (* derived 2004 June 6 in EQV-C.NB *) composite[complement[eqv[x_]],eqv[x_]] := composite[complement[eqv[x]],id[fix[eqv[x]]]] (* added 2002 November 12 based on VS-RULES.NB *) composite[complement[IMAGE[x_]],id[P[domain[VERTSECT[x_]]]]] := composite[Di,IMAGE[x]] (* discovered 1998 October 27 in SESSION6.LOG *) composite[complement[image[V,x_]],y_] := cart[domain[y],complement[image[V,x]]] (* discovered 1998 October 27 in SESSION6.LOG *) composite[x_,complement[image[V,y_]]] := cart[V,intersection[complement[image[V,y]],range[x]]] (* added 2003 June 23 based on INVAR.NB *) composite[complement[INVAR],CART] := intersection[composite[complement[S],SECOND],composite[E,inverse[E],FIRST]] (* added 2002 June 23 based on INVARTRV.NB *) composite[complement[INVAR],HULL[TRV],inverse[S]] := composite[Id,complement[INVAR]] (* added 2002 April 10 based on INVAR.NB *) composite[complement[INVAR],inverse[E]] := composite[complement[INVAR],BIGCUP] (* derived 2004 January 22 in INVAR.NB *) composite[complement[INVAR],inverse[S]] := composite[Id,complement[INVAR]] (* added 2003 June 23 based on INVAR.NB *) composite[complement[INVAR],SINGLETON,DUP] := 0 (* added 2003 June 23 based on INVAR.NB *) composite[complement[INVAR],SINGLETON,inverse[FIRST]] := E (* added 2003 June 23 based on INVAR.NB *) composite[complement[INVAR],SINGLETON,inverse[SECOND]] := composite[id[complement[set[0]]],complement[E]] (* added 2003 June 23 based on INVAR.NB *) composite[complement[INVAR],SINGLETON,cross[Id,E]] := composite[E,FIRST] (* derived 2004 February 17 in SU-IM-C.NB *) composite[complement[inverse[x_]],complement[composite[complement[x_],LB[x_]]]] := composite[complement[inverse[x]],inverse[E]] (* derived 2005 January 29 in DIV.NB *) composite[complement[inverse[DIV]],DIV] := composite[complement[inverse[DIV]],id[omega]] (* derived 2004 December 24 in A.NB *) composite[complement[inverse[E]],BIGCAP,inverse[LB[x_]]] := composite[complement[inverse[E]],x] (* derived 2004 December 24 in A.NB *) composite[complement[inverse[E]],BIGCAP,inverse[UB[x_]]] := composite[complement[inverse[E]],inverse[x]] (* derived 2004 December 24 in A.NB *) composite[complement[inverse[E]],BIGCUP,inverse[LB[x_]]] := cart[V,V] (* derived 2004 December 24 in A.NB *) composite[complement[inverse[E]],BIGCUP,inverse[UB[x_]]] := cart[V,V] (* added 1999 October 5 based on CAP-SR.2 *) composite[complement[inverse[E]],CAP] := union[composite[complement[inverse[E]],FIRST], composite[complement[inverse[E]],SECOND]] (* added 1999 October 5 based on CART.1 *) composite[complement[inverse[E]],CART] := union[cart[cart[V,V],complement[cart[V,V]]], composite[inverse[FIRST],complement[inverse[E]],FIRST], composite[inverse[SECOND],complement[inverse[E]],SECOND]] (* added 2003 January 30 *) composite[complement[inverse[E]],COMMUTE] := cart[V,V] (* Theorem E-C-IN-C in E2 proved 1998 September 4 *) composite[complement[inverse[E]],complement[E]] := cart[V,V] (* Added 2000 September 26 based on VERTSECT.NB *) composite[complement[inverse[E]],complement[inverse[E]]] := cart[V,V] composite[complement[inverse[E]],complement[inverse[S]]] := cart[V,V] (* added 2000 December 16 based on Q-CA.NB *) composite[complement[inverse[E]],complement[Q]] := cart[V,V] (* Theorem E-C-IN-S in E2 proved 1998 November 21 *) composite[complement[inverse[E]],complement[S]] := cart[complement[set[0]],V] (* 1998 August 25 *) composite[complement[inverse[E]],Di] := cart[V,V] (* added 1999 October 26 based on DIF-LOG.3 *) composite[complement[inverse[E]],DIF] := union[composite[complement[inverse[E]],FIRST],composite[inverse[E],SECOND]] (* inverse of Theorem DJT-E-C in DJT *) composite[complement[inverse[E]],DISJOINT] := cart[V,V] (* derived 2005 May 5 in S-DIV.NB *) composite[complement[inverse[E]],DIV] := cart[omega,V] (* Theorem DI-CO-E1 in DI added 1998 July 2 *) composite[complement[inverse[E]],E] := Di (* added 2003 April 1 based on HULL.NB *) composite[complement[inverse[E]],HULL[x_],S] := composite[complement[inverse[E]],HULL[x]] (* added 2003 May 31 based on IMAGE-DJ.NB *) composite[complement[inverse[E]],id[x_],complement[E]] := composite[inverse[E],id[image[DISJOINT,x]],E] (* added 2001 January 1 based on TC-1.NB *) composite[complement[inverse[E]],id[FULL],E] := composite[complement[inverse[E]],TC,SINGLETON] (* derived 2005 May 17 in S-OM-C-E.NB *) composite[complement[inverse[E]],id[omega],inverse[S]] := cart[V,V] (* added 2001 December 2 based on CARD-FUN.NB *) composite[complement[inverse[E]],id[OMEGA],Q] := composite[complement[inverse[E]],CARD] (* added 2003 June 18 based on CUT-CORE.NB *) composite[complement[inverse[E]],id[P[x_]],DISJOINT] := cart[V,V] (* added 2003 June 23 based on DI-RULES.NB *) composite[complement[inverse[E]],id[P[x_]],E] := composite[Di,id[x]] (* added 2001 May 2 based on COREHULL.NB *) composite[complement[inverse[E]],id[x_],S] := composite[complement[inverse[E]],HULL[x]] (* added 2000 January 10 based on PC-U.NB *) composite[complement[inverse[E]],id[range[POWER]]] := composite[complement[inverse[S]],inverse[POWER]] (* derived 2003 December 30 in T2.NB *) composite[complement[inverse[E]],id[Uclosure[x_]],complement[inverse[S]]] := composite[complement[inverse[E]],id[x],complement[inverse[S]]] (* derived 2003 December 30 in T2.NB *) composite[complement[inverse[E]],id[Uclosure[x_]],E] := composite[complement[inverse[E]],id[x],E] (* derived 2004 May 14 in REPLACE.NB *) composite[complement[inverse[E]],IMAGE[x_],E] := composite[complement[x],id[domain[VERTSECT[x]]]] (* added 2001 February 27 based on STUDY.NB *) composite[complement[inverse[E]],IMAGE[id[x_]]] := union[cart[V,complement[x]],composite[Id,complement[inverse[E]]]] (* added 2003 October 15 based on ACYCLIC.NB *) composite[complement[inverse[E]],IMAGE[inverse[DUP]],id[TRV],S] := composite[complement[inverse[E]],IMAGE[inverse[DUP]],HULL[TRV]] (* added 2003 October 7 based on WF-IND.NB *) composite[complement[inverse[E]],IMAGE[SWAP],id[TRV],S] := composite[complement[inverse[E]],INVERSE,HULL[TRV]] (* added 2002 April 10 based on INVAR.NB *) composite[complement[inverse[E]],INVAR] := cart[V,V] (* Theorem BA-E-IN3 in BIGCAP/BA1 proved 1998 December 8 *) composite[complement[inverse[E]],inverse[E]] := composite[complement[inverse[E]],BIGCAP] (* derived 2004 December 24 in A.NB *) composite[complement[inverse[E]],inverse[LB[x_]]] := cart[V,V] (* derived 2004 December 24 in A.NB *) composite[complement[inverse[E]],inverse[UB[x_]]] := cart[V,V] (* discovered 1999 December 20 in CANCEL.NB *) composite[complement[inverse[E]],inverse[POWER],S] := composite[complement[inverse[E]],BIGCUP] (* added 1998 July 31 *) composite[complement[inverse[E]],inverse[S]] := cart[V,V] (* derived 2004 December 22 in UCL-COMT.NB *) composite[complement[inverse[E]],LB[LB[x_]]] := cart[V,V] (* derived 2004 December 22 in UCL-COMT.NB *) composite[complement[inverse[E]],LB[UB[x_]]] := cart[V,V] (* Theorem POW-CO5 in POW3 proved 1998 November 12 *) composite[complement[inverse[E]],POWER] := composite[Id,complement[inverse[S]]] (* added 2000 May 9 based on Q-C-E.NB *) composite[complement[inverse[E]],Q] := cart[V,V] (* derived 2004 August 10 in RS-3.NB *) composite[complement[inverse[E]],RESTRICT] := cart[V,V] (* derived 2005 May 17 based on NATMOD.NB *) composite[complement[inverse[E]],rotate[composite[inverse[DIV],rotate[NATADD]]]] := composite[complement[inverse[E]],NATMOD,SWAP] (* derived 2005 May 17 based on NATMOD.NB *) composite[complement[inverse[E]],rotate[NATADD],cross[Id,DIV]] := composite[complement[inverse[E]],NATMOD] (* added 1998 August 23 *) composite[complement[inverse[E]],S] := composite[Id,complement[inverse[E]]] (* derived 2004 May 14 in REPLACE.NB *) composite[complement[inverse[E]],VERTSECT[x_]] := composite[complement[x],id[domain[VERTSECT[x]]]] (* added 2001 July 14 based on ZN-IMG.NB *) composite[complement[inverse[E]],ZN] := cart[V,V] (* added 2003 May 10 based on APPLY.NB *) composite[complement[inverse[E]],rotate[E]] := composite[complement[inverse[E]],BIGCAP,IMG,cross[Id,SINGLETON]] (* Theorem AP-SG-C2 proved 1998 September 7 *) composite[complement[inverse[E]],SINGLETON] := Di (* added 2003 January 30 *) composite[complement[inverse[E]],SUBCOMMUTE] := cart[V,V] (* added 2000 August 16 based on DIF.NB *) composite[complement[inverse[E]],SYMDIF] := union[composite[complement[inverse[E]],CUP],composite[inverse[E],CAP]] (* added 2002 May 18 based on FUNPART.NB *) composite[complement[inverse[image[inverse[IMG],range[SINGLETON]]]],SINGLETON] := composite[inverse[FUNPART],inverse[IMAGE[FIRST]],complement[E]] (* added 2002 May 18 based on FUNPART.NB *) composite[complement[inverse[image[inverse[IMG],range[SINGLETON]]]],inverse[E],IMAGE[SINGLETON]] := composite[inverse[FUNPART],inverse[IMAGE[FIRST]],complement[S]] (* derived 2004 December 17 in RFXTRV-C.NB *) composite[complement[inverse[rfx[trv[x_]]]],rfx[trv[x_]]] := composite[complement[inverse[rfx[trv[x]]]],id[fix[trv[x]]]] (* added 2003 January 30 *) composite[complement[inverse[S]],COMMUTE] := cart[V,complement[set[0]]] (* Theorem ID-SR-E in ID-CO proved 1998 November 28 *) composite[complement[inverse[S]],complement[E]] := cart[V,complement[set[0]]] (* 1999 March 25 session CO-C-NEW.LOG *) composite[complement[inverse[S]],complement[inverse[E]]] := cart[V,complement[set[0]]] composite[complement[inverse[S]],complement[inverse[S]]] := cart[V,complement[set[0]]] (* added 2000 December 16 based on Q-CA.NB *) composite[complement[inverse[S]],complement[Q]] := cart[V,complement[set[0]]] (* Theorem ID-SR-C in ID-CO proved 1998 November 28 *) composite[complement[inverse[S]],complement[S]] := cart[complement[set[0]],complement[set[0]]] (* added 1999 October 6 based on CAP-CUP.LOG *) composite[complement[inverse[S]],CAP] := union[composite[complement[inverse[S]],FIRST], composite[complement[inverse[S]],SECOND]] (* 1998 August 25 *) composite[complement[inverse[S]],Di] := cart[V,complement[set[0]]] (* added 1999 October 26 based on DIF-LOG.3 *) composite[complement[inverse[S]],DIF] := union[composite[complement[inverse[S]],FIRST], composite[E,inverse[E],SECOND]] (* inverse of rule found in TEST1.LOG *) composite[complement[inverse[S]],DISJOINT] := cart[V,complement[set[0]]] (* derived 2005 May 5 in S-DIV.NB *) composite[complement[inverse[S]],DIV] := cart[omega,complement[set[0]]] (* added 1998 August 23 *) composite[complement[inverse[S]],E] := composite[complement[inverse[S]],SINGLETON] (* added 2003 February 20 based on HULL-S.NB *) composite[complement[inverse[S]],HULL[x_],S] := composite[complement[inverse[S]],HULL[x]] (* added 2001 December 2 based on CARD-FUN.NB *) composite[complement[inverse[S]],id[OMEGA],Q] := composite[complement[inverse[S]],CARD] (* added 2001 May 2 based on COREHULL.NB *) composite[complement[inverse[S]],id[x_],S] := composite[complement[inverse[S]],HULL[x]] (* derived 2003 December 30 in T2.NB *) composite[complement[inverse[S]],id[Uclosure[x_]],complement[inverse[S]]] := composite[complement[inverse[S]],id[x],complement[inverse[S]]] (* derived 2003 December 30 in T2.NB *) composite[complement[inverse[S]],id[Uclosure[x_]],E] := composite[complement[inverse[S]],id[x],E] (* added 2002 April 10 based on INVAR-S.NB *) composite[complement[inverse[S]],INVAR] := cart[V,complement[set[0]]] (* Theorem BA-SR-C2 in BIGCAP/BA1 proved 1998 December 8 *) composite[complement[inverse[S]],inverse[E]] := composite[complement[inverse[S]],BIGCAP] (* added 2003 May 31 based on CUT-CO.NB *) composite[complement[inverse[S]],inverse[IMAGE[id[x_]]]] := composite[complement[inverse[S]],id[P[x]]] (* added 2000 January 10 based on PC-U.NB *) composite[complement[inverse[S]],inverse[POWER],S] := composite[complement[inverse[S]],BIGCUP] (* added 2003 May 31 based on RS-CO.NB *) composite[complement[inverse[S]],inverse[RESTRICT]] := composite[complement[inverse[S]],id[P[cart[V,V]]]] (* added 1998 July 31 *) composite[complement[inverse[S]],inverse[S]] := cart[V,complement[set[0]]] (* added 2000 May 9 based on Q-C-E.NB *) composite[complement[inverse[S]],Q] := cart[V,complement[set[0]]] (* added 2003 May 31 based on RS-CO.NB *) composite[complement[inverse[S]],RESTRICT] := cart[V,complement[set[0]]] (* Theorem SR-C-CO3 in SR/C *) composite[complement[inverse[S]],S] := composite[Id,complement[inverse[S]]] (* added 2003 January 30 *) composite[complement[inverse[S]],SUBCOMMUTE] := cart[V,complement[set[0]]] (* added 2000 August 16 based on SYMDIF.NB *) composite[complement[inverse[S]],SYMDIF] := union[composite[complement[inverse[S]],CUP],composite[E,inverse[E],CAP]] (* derived 2004 May 14 in REPLACE.NB *) composite[complement[inverse[S]],VERTSECT[x_]] := composite[E,complement[x],id[domain[VERTSECT[x]]]] (* derived 2005 January 29 in TRV-RFX.NB *) composite[complement[inverse[trv[rfx[x_]]]],trv[rfx[x_]]] := composite[complement[inverse[trv[rfx[x]]]],id[fix[x]]] (* added 2001 July 8 based on TAKEAWAY.NB *) composite[complement[omega]] := cart[V,V] (* added 2001 July 8 based on TAKEAWAY.NB *) composite[complement[OMEGA]] := cart[V,V] (* added 2000 December 16 based on Q-CA.NB *) composite[complement[Q],complement[E]] := cart[V,V] (* added 2000 December 16 based on Q-CA.NB *) composite[complement[Q],complement[S]] := cart[complement[set[0]],V] (* added 2000 December 16 based on Q-CA.NB *) composite[complement[Q],DISJOINT] := cart[V,V] (* Theorem Q-C-CO-2 in Q proved 2000 May 7 *) composite[complement[Q],Q] := composite[Id,complement[Q]] (* discovered 2000 May 7 in Q-CO.NB *) composite[complement[Q],SINGLETON] := cart[V,complement[range[SINGLETON]]] (* derived 2004 December 17 in RFXTRV-C.NB *) composite[complement[rfx[trv[x_]]],inverse[rfx[trv[x_]]]] := composite[complement[rfx[trv[x]]],id[fix[trv[x]]]] (* revised 1999 December 19 based on REVISED.NB *) composite[complement[S],ADJOIN[x_]] := union[cart[V, intersection[complement[image[S,set[x]]],image[V,set[x]]]], composite[complement[S],id[image[V,set[x]]]]] (* Theorem IMG-BC-8 in IMG4 proved 1998 November 21 *) composite[complement[S],BIGCUP] := composite[inverse[POWER],complement[S]] (* Theorem E-C-SR in E-C proved 1998 November 19 *) composite[complement[S],complement[E]] := cart[V,V] (* added 1998 August 23 on basis of ASSOC-3.LOG *) composite[complement[S],complement[inverse[E]]] := cart[V,V] (* Theorem SR-C-IN in SR-C proved 1998 November 21 *) composite[complement[S],complement[inverse[S]]] := cart[V,V] (* Theorem SR-C-SR in SR-C proved 1998 November 21 *) composite[complement[S],complement[S]] := cart[complement[set[0]],V] (* added 1999 October 6 based on CAP-CUP.LOG *) composite[complement[S],CUP] := union[composite[complement[S],FIRST],composite[complement[S],SECOND]] (* Theorem SR-C-DI1 in SR-C proved 1998 November 28 *) composite[complement[S],Di] := cart[V,V] (* Theorem SR-C-DJT in SR-C proved 1998 December 6 *) composite[complement[S],DISJOINT] := cart[V,V] (* Theorem RUS-CO-2 in RUS2 *) composite[complement[S],E] := cart[V,V] (* added 2001 May 2 based on COREHULL.NB *) composite[complement[S],id[x_],inverse[S]] := composite[complement[S],CORE[x]] (* added 2002 March 12 based on TRV.NB *) composite[complement[S],id[TRV],S] := cart[P[cart[V,V]],V] (* derived 2003 December 30 in T2.NB *) composite[complement[S],id[Uclosure[x_]],complement[E]] := composite[complement[S],id[x],complement[E]] (* derived 2003 December 30 in T2.NB *) composite[complement[S],id[Uclosure[x_]],complement[S]] := composite[complement[S],id[x],complement[S]] (* added 2002 May 16 based on IVR-NEW.NB *) composite[complement[S],IMG,id[cart[x_,y_]],inverse[SECOND]] := union[cart[intersection[y,complement[P[domain[VERTSECT[U[x]]]]]],V], composite[complement[S],IMAGE[U[x]],id[y]]] (* added 2003 January 25 based on INVAR.NB *) composite[complement[S],INVAR] := cart[V,V] (* Theorem BA-5B in BIGCAP/BA1 proved 1998 December 14 *) composite[complement[S],inverse[BIGCAP]] := composite[complement[E],S] (* Theorem POW-BC-C in POW3 proved 1998 November 21 *) composite[complement[S],inverse[BIGCUP]] := composite[complement[S],POWER] (* Theorem POW-CO6 in POW3 proved 1998 November 21 *) composite[complement[S],inverse[E]] := composite[inverse[POWER],complement[S]] (* added 2003 May 31 based on CUT-CO.NB *) composite[complement[S],inverse[IMAGE[id[x_]]],S] := cart[P[x],V] (* derived 2004 January 29 in UB-LB-CO.NB *) composite[complement[S],inverse[LB[x_]]] := composite[complement[E],x] (* Theorem SR-C-CO6 in SR/C *) composite[complement[S],inverse[S]] := composite[Id,complement[S]] (* derived 2004 January 29 in UB-LB-CO.NB *) composite[complement[S],inverse[UB[x_]]] := composite[complement[E],inverse[x]] (* Theorem SR-C-K in SR/C proved 2000 May 24 *) composite[complement[S],K] := cart[V,V] (* added 1999 October 6 based on PAIRSET.1 *) composite[complement[S],PAIRSET] := union[composite[complement[E],FIRST],composite[complement[E],SECOND]] (* added 1998 August 9 *) composite[complement[S],PS] := cart[V,V] (* added 2003 May 31 based on RS-CO.NB *) composite[complement[S],RESTRICT] := composite[complement[S],IMAGE[id[cart[V,V]]]] (* Theorem RUS-CO-1 in RUS2 *) composite[complement[S],S] := cart[V,V] (* Theorem AP-SG-C3 in AP2 *) composite[complement[S],SINGLETON] := composite[Id,complement[E]] (* derived 2004 May 14 in REPLACE.NB *) composite[complement[S],VERTSECT[x_]] := composite[complement[E],thinpart[x]] (* added 2001 July 8 based on TAKEAWAY.NB *) composite[complement[set[0]]] := cart[V,V] (* derived 2005 January 29 in TRV-RFX.NB *) composite[complement[trv[rfx[x_]]],inverse[trv[rfx[x_]]]] := composite[complement[trv[rfx[x]]],id[fix[x]]] (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[ACYCLIC,P[Id]]] := ACYCLIC (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[ANTISYM,P[Id]]] := ANTISYM (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[BIJ,P[Id]]] := BIJ (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[cliques[x_],P[Id]]] := intersection[cliques[x],P[cart[V,V]]] (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[FINITE,P[Id]]] := intersection[FINITE,P[cart[V,V]]] (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[image[inverse[S],x_],P[Id]]] := intersection[image[inverse[S],x],P[cart[V,V]]] (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[REGULAR,P[Id]]] := P[cart[REGULAR,REGULAR]] (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[TRV,P[Id]]] := TRV (* derived 2004 December 12 in RESTRICT.NB *) image[COMPOSE,cart[WF,P[Id]]] := WF (* added 2003 May 30 based on RESTRICT.NB *) composite[COMPOSE,cross[composite[COMPOSE,cross[Id,IMAGE[DUP]]],IMAGE[DUP]]] := composite[COMPOSE,cross[Id,composite[CAP,cross[IMAGE[DUP],IMAGE[DUP]]]],ASSOC] (* added 2000 September 7 based on CUT.NB *) composite[COMPOSE,cross[x_,composite[IMAGE[id[cart[V,V]]],y_]]] := composite[COMPOSE,cross[x,y]] (* added 2000 September 7 based on CUT.NB *) composite[COMPOSE,cross[composite[IMAGE[id[cart[V,V]]],x_],y_]] := composite[COMPOSE,cross[x,y]] (* added 1999 December 21 based on CROSCOMP.NB *) composite[COMPOSE,cross[CROSS,CROSS]] := composite[CROSS,cross[COMPOSE,COMPOSE],TWIST] (* revised 1999 December 15 based on CHECK-C3.TXT *) composite[COMPOSE,cross[Id,CART]] := composite[CART,SWAP,cross[IMG,Id],inverse[ASSOC],cross[Id,SWAP]] (* added 1999 December 4 based on COMPOSE.NB *) composite[COMPOSE,cross[Id,COMPOSE],ASSOC] := composite[COMPOSE,cross[COMPOSE,Id]] (* discovered 1999 December 13 in NEWIDEAS.NB *) composite[COMPOSE,cross[IMAGE[DUP],IMAGE[DUP]]] := composite[IMAGE[DUP],CAP] (* added 1999 December 25 based on COMPOSE3.NB *) composite[COMPOSE,cross[IMAGE[id[cart[V,V]]],x_]] := composite[COMPOSE,cross[Id,x]] (* added 1999 December 25 based on COMPOSE3.NB *) composite[COMPOSE,cross[x_,IMAGE[id[cart[V,V]]]]] := composite[COMPOSE,cross[x,Id]] (* added 1999 December 14 based on COMPOSE2.NB *) composite[COMPOSE,cross[CART,IMAGE[SWAP]]] := composite[CART,cross[IMG,Id],ROT] (* derived 2004 December 10 in DIV-TRV.NB *) composite[COMPOSE,cross[COMPOSE,Id],inverse[ASSOC]] := composite[COMPOSE,cross[Id,COMPOSE]] (* added 2002 December 18 based on CPS-PLUS.NB *) composite[COMPOSE,cross[composite[INVERSE,PLUS],PLUS]] := composite[VERTSECT[EQUIDIFF],id[cart[omega,omega]]] (* derived 2004 December 19 in QO-IDEM.NB *) composite[COMPOSE,DUP,CORE[RFX],HULL[TRV]] := composite[CORE[RFX],HULL[TRV]] (* derived 2004 May 12 in EQUIV.NB *) composite[COMPOSE,DUP,EQUIV] := EQUIV (* derived 2004 December 19 in QO-IDEM.NB *) composite[COMPOSE,DUP,id[intersection[RFX,TRV]]] := id[intersection[RFX,TRV]] (* added 2002 April 4 based on IDP.NB *) composite[COMPOSE,DUP,IMAGE[DUP]] := IMAGE[DUP] (* added 2001 January 28 based on GENERAL.NB *) composite[COMPOSE,DUP,IMAGE[id[cart[V,V]]]] := composite[COMPOSE,DUP] (* added 2003 May 10 based on LAMBHULL.NB *) composite[COMPOSE,DUP,LAMBHULL] := LAMBHULL (* added 2002 February 3 based on RCF.NB *) composite[COMPOSE,DUP,RCF] := composite[IMAGE[DUP],POWER] (* added 2003 May 30 based on RESTRICT.NB *) composite[COMPOSE,id[cart[x_,P[Id]]],inverse[FIRST]] := composite[RESTRICT,id[x]] (* derived 2004 December 6 in IDP.NB *) composite[COMPOSE,id[cart[P[Id],P[Id]]]] := composite[CAP,id[cart[P[Id],P[Id]]]] (* added 2003 May 30 based on RESTRICT.NB *) composite[COMPOSE,id[cart[P[Id],V]],inverse[SECOND]] := composite[IMAGE[SWAP],RESTRICT,IMAGE[SWAP]] (* derived 2004 December 10 in DIV-TRV.NB *) composite[COMPOSE,id[cart[V,x_]],inverse[FIRST],COMPOSE,id[cart[V,y_]],inverse[FIRST]] := composite[COMPOSE,id[cart[V,image[COMPOSE,cart[y,x]]]],inverse[FIRST]] (* derived 2004 December 10 in DIV-TRV.NB *) composite[COMPOSE,id[cart[x_,V]],inverse[SECOND],COMPOSE,id[cart[y_,V]],inverse[SECOND]] := composite[COMPOSE,id[cart[image[COMPOSE,cart[x,y]],V]],inverse[SECOND]] (* added 2002 October 22 based on CO-ID.NB *) composite[COMPOSE,id[cart[V,V]]] := COMPOSE (* added 1999 November 28 based on COMPOSE1.NB *) composite[COMPOSE,id[composite[IMAGE[DUP],IMAGE[FIRST]]],inverse[FIRST]] := IMAGE[id[cart[V,V]]] (* added 1999 December 25 based on COMPOSE2.NB *) composite[COMPOSE,id[composite[inverse[IMAGE[SECOND]],inverse[IMAGE[DUP]]]], inverse[SECOND]] := IMAGE[id[cart[V,V]]] (* added 2002 June 11 based on FUNPART.NB *) composite[COMPOSE,id[INVERSE],inverse[FIRST],FUNPART] := composite[IMAGE[DUP],IMAGE[SECOND],FUNPART] (* added 2002 June 11 based on FUNPART.NB *) composite[COMPOSE,id[INVERSE],inverse[FIRST],IMAGE[DUP]] := IMAGE[DUP] (* derived 2004 January 7 in VSLAMBDA.NB *) composite[COMPOSE,intersection[composite[inverse[FIRST],VS], composite[inverse[SECOND],IMAGE[DUP],IMAGE[FIRST]]]] := VS (* added 2003 July 1 based on ASS-TRV.NB *) composite[COMPOSE,inverse[FIRST],COMPOSE,inverse[FIRST]] := composite[COMPOSE,inverse[FIRST]] (* added 2003 July 1 based on ASS-TRV.NB *) composite[COMPOSE,inverse[SECOND],COMPOSE,inverse[SECOND]] := composite[COMPOSE,inverse[SECOND]] (* revised 1999 December 19 based on REVISED.NB *) composite[COMPOSE,LEFT[x_]] := composite[IMAGE[cross[Id,x]], id[image[V,set[x]]]] (* revised 1999 December 19 based on REVISED.NB *) composite[COMPOSE,RIGHT[x_]] := composite[IMAGE[cross[inverse[x],Id]], id[image[V,set[x]]]] (* added 2001 December 27 based on CP-I.NB *) composite[COMPOSE,SWAP,cross[IMAGE[DUP],IMAGE[DUP]]] := composite[CAP,cross[IMAGE[DUP],IMAGE[DUP]]] (* added 1999 January 2 based on REMOVE-X.NB *) composite[COMPOSE,SWAP,cross[x_,IMAGE[id[cart[V,V]]]]] := composite[COMPOSE,SWAP,cross[x,Id]] (* added 1999 January 2 based on REMOVE-X.NB *) composite[COMPOSE,SWAP,cross[IMAGE[id[cart[V,V]]],x_]] := composite[COMPOSE,SWAP,cross[Id,x]] (* added 2003 August 31 based on CAP-CORE.NB *) composite[CORE[Aclosure[x_]],CAP] := composite[CAP,cross[CORE[Aclosure[x]],CORE[Aclosure[x]]]] (* added 2003 August 31 based on CAP-CORE.NB *) composite[CORE[binclosed[x_]],CAP] := composite[CAP,cross[CORE[binclosed[x]],CORE[binclosed[x]]]] (* added 2002 May 3 based on CORE-UCL.NB *) composite[CORE[x_],CORE[x_]] := CORE[x] (* added 2003 September 4 based on IDEMCORE.NB *) composite[CORE[x_],CORE[intersection[x_,y_]]] := CORE[intersection[x,y]] (* added 2001 October 27 based on CORE-UCL.NB *) composite[CORE[DESCENDING],id[DESCENDING]] := id[DESCENDING] (* added 2002 November 21 based on UCLFPIMG.NB *) composite[CORE[fix[IMAGE[x_]]],id[fix[IMAGE[x_]]]] := id[fix[IMAGE[x]]] (* added 2003 March 9 based on CORE-HER.NB *) composite[CORE[fix[IMAGE[inverse[S]]]],IMAGE[inverse[S]]] := IMAGE[inverse[S]] (* added 2003 March 16 based on CORE-UCL.NB *) composite[CORE[fix[UCLOSURE]],POWER] := POWER (* derived 2004 May 4 in CRHL-FIX.NB *) composite[CORE[x_],id[x_]] := id[x] (* added 2002 May 3 based on CORE-UCL.NB *) composite[CORE[x_],id[Uclosure[x_]]] := id[Uclosure[x]] (* added 2003 September 4 based on IDEMCORE.NB *) composite[CORE[x_],IMAGE[id[U[x_]]]] := CORE[x] (* added 2003 September 4 based on IDEMCORE.NB *) composite[CORE[intersection[x_,y_]],CORE[y_]] := CORE[intersection[x,y]] (* derived 2004 October 4 in REPLACE.NB *) composite[CORE[intersection[RFX,SYM]],EQUIV] := EQUIV (* derived 2004 October 4 in REPLACE.NB *) composite[CORE[intersection[RFX,SYM]],id[EQV]] := id[EQV] (* added 2001 October 28 based on IVR-RFX.NB *) composite[CORE[intersection[RFX,SYM]],id[intersection[RFX,SYM]]] := id[intersection[RFX,SYM]] (* added 2003 August 31 based on CAP-CORE.NB *) composite[CORE[invar[x_]],CAP] := composite[CAP,cross[CORE[invar[x]],CORE[invar[x]]]] (* added 2001 October 27 based on CORE-UCL.NB *) composite[CORE[invar[x_]],id[invar[x_]]] := id[invar[x]] (* derived 2005 January 5 in CORE-ON.NB *) composite[CORE[OMEGA],HC] := CORE[OMEGA] (* derived 2005 January 5 in CORE-ON.NB *) composite[CORE[OMEGA],IMAGE[id[OMEGA]]] := CORE[OMEGA] (* added 2003 May 23 Based on DEF-CLOS.NB *) composite[CORE[range[POWER]],POWER] := POWER (* added 2003 September 24 based on PO-FACTS.NB *) composite[CORE[RFX],CAP] := composite[CAP,cross[CORE[RFX],CORE[RFX]]] (* derived 2004 December 18 in RFX-WRAP.NB *) composite[CORE[RFX],CART] := composite[CART,DUP,CAP] (* derived 2004 October 4 in RFSYMCOR.NB *) composite[CORE[RFX],CORE[SYM]] := CORE[intersection[RFX,SYM]] (* derived 2004 December 18 in RFX-WRAP.NB *) composite[CORE[RFX],CROSS] := composite[CROSS,cross[CORE[RFX],CORE[RFX]]] (* added 2001 October 28 based on IVR-RFX.NB *) composite[CORE[RFX],id[RFX]] := id[RFX] (* derived 2004 December 17 in RFX.NB *) composite[CORE[RFX],IMAGE[id[cart[V,V]]]] := CORE[RFX] (* derived 2004 December 17 in RFX.NB *) composite[CORE[RFX],IMAGE[SWAP]] := composite[INVERSE,CORE[RFX]] (* added 2001 October 27 based on CORE-UCL.NB *) composite[CORE[subvar[x_]],id[subvar[x_]]] := id[subvar[x]] (* added 2003 August 31 based on CAP-CORE.NB *) composite[CORE[SYM],CAP] := composite[CAP,cross[CORE[SYM],CORE[SYM]]] (* derived 2004 October 4 in RFSYMCOR.NB *) composite[CORE[SYM],CORE[RFX]] := CORE[intersection[RFX,SYM]] (* derived 2004 May 12 in EQUIV.NB *) composite[CORE[SYM],EQUIV] := EQUIV (* derived 2004 May 12 in EQUIV.NB *) composite[CORE[SYM],HULL[TRV]] := composite[EQUIV,id[P[cart[V,V]]]] (* added 2001 October 27 based on CORE-UCL.NB *) composite[CORE[SYM],id[SYM]] := id[SYM] (* added 2001 October 10 based on REPLACE.NB *) composite[CORE[SYM],IMAGE[id[cart[V,V]]]] := CORE[SYM] (* derived 2004 January 1 in SUB-T1.NB *) composite[CORE[T1],POWER] := POWER (* added 2003 March 16 based on REL-TOP.NB *) composite[CORE[TOPS],POWER] := POWER (* added 2003 July 14 based on X12ASSOC.NB *) composite[cross[x_,composite[y_,FIRST]],ASSOC] := composite[cross[x,y],FIRST] (* added 2003 July 1 based on ASSOC.NB *) composite[cross[x_,composite[y_,id[cart[V,V]]]],ASSOC] := composite[cross[x,y],ASSOC] (* added 2003 July 14 based on X12ASSOC.NB *) composite[cross[x_,composite[y_,SECOND]],ASSOC] := cross[composite[x,FIRST],y] (* added 2002 June 7 based on RIF-SWAP.NB *) composite[cross[composite[x_,SECOND],composite[y_,FIRST]], id[composite[inverse[SECOND],FIRST]]] := composite[RIF,cross[cross[Id,x],cross[y,Id]]] (* Theorem X-CO-2 in X3 *) composite[cross[u_,v_],cross[x_,y_]] := cross[composite[u,x],composite[v,y]] (* added 2000 September 7 based on CUT.NB *) composite[CROSS,cross[composite[IMAGE[id[cart[V,V]]],x_],y_]] := composite[CROSS,cross[x,y]] (* added 2000 September 7 based on CUT.NB *) composite[CROSS,cross[x_,composite[IMAGE[id[cart[V,V]]],y_]]] := composite[CROSS,cross[x,y]] (* added 2000 September 7 based on CUT.NB *) composite[CROSS,cross[x_,IMAGE[id[cart[V,V]]]]] := composite[CROSS,cross[x,Id]] (* added 2000 September 7 based on CUT.NB *) composite[CROSS,cross[IMAGE[id[cart[V,V]]],x_]] := composite[CROSS,cross[Id,x]] (* added 1999 November 28 based on CROSS-1.NB *) composite[CROSS,cross[IMAGE[id[cart[V,V]]],IMAGE[id[cart[V,V]]]]] := CROSS (* added 1999 October 17 based on CROSS.2 *) composite[CROSS,cross[SINGLETON,SINGLETON]] := union[ cart[union[cart[V,complement[cart[V,V]]],cart[complement[cart[V,V]],V]], set[0]],composite[SINGLETON,TWIST]] (* Theorem X-DUP-1 in X1 proved 1998 November 29 *) composite[cross[x_,y_],DUP] := intersection[composite[inverse[FIRST],x], composite[inverse[SECOND],y]] (* added 2000 September 1 based on SESSION1 *) composite[cross[x_,FIRST],ASSOC] := composite[cross[x,Id],FIRST] (* added 2001 January 20 based on COMBINAT.NB *) composite[cross[FIRST,FIRST], id[composite[inverse[SECOND],SECOND]]] := composite[RIF,cross[SWAP,Id]] (* added 2001 February 8 based on TWIST-4.NB *) composite[cross[FIRST,FIRST],id[x_], cross[inverse[SECOND],inverse[SECOND]]] := inverse[twist[x]] (* derived 2004 May 9 in OOPART.NB *) composite[cross[FIRST,FIRST],id[SWAP]] := composite[FIRST,id[SWAP]] (* added 2003 August 10 based on RODIRECT.NB *) composite[cross[FIRST,FIRST],TWIST] := composite[FIRST,id[cart[cart[V,V],cart[V,V]]]] (* added 2002 June 25 based on ASSOC.NB *) composite[cross[FIRST,Id],id[composite[inverse[FIRST],SECOND]], cross[Id,inverse[SECOND]]] := ASSOC (* added 2000 September 1 based on SESSION1 *) composite[cross[FIRST,x_],inverse[ASSOC]] := cross[Id,composite[x,SECOND]] (* added 2007 based on RIF-IN.NB *) composite[cross[x_,FIRST],inverse[RIF]] := cross[composite[x,inverse[SECOND]],Id] (* added 2002 June 7 based on RIF.NB *) composite[cross[FIRST,x_],inverse[RIF]] := composite[SWAP,inverse[rotate[composite[x,SWAP]]],SECOND] (* added 2000 September 1 based on SESSION1 *) composite[cross[FIRST,x_],inverse[ROT]] := composite[SWAP,cross[x,Id],FIRST] (* added 2000 September 1 based on SESSION1 *) composite[cross[FIRST,x_],ROT] := composite[SWAP,cross[composite[x,SECOND],Id]] (* added 2002 December 28 based on REPLACE.NB *) composite[cross[FIRST,SECOND],id[composite[inverse[FIRST],SECOND]]] := composite[RIF,cross[SWAP,SWAP]] (* added 2001 February 8 based on TWIST-4.NB *) composite[cross[FIRST,SECOND],id[x_], cross[inverse[SECOND],inverse[FIRST]]] := twist[composite[x,SWAP]] (* added 2003 July 20 based on DIRECT12.NB *) composite[cross[FIRST,SECOND],TWIST] := cross[FIRST,SECOND] (* derived 2004 January 4 in VS-IMIN.NB *) composite[cross[Id,BIGCUP],DORA,VS] := DORA (* Theorem X-CO-4 in X3 proved 2000 August 1 *) composite[cross[u_,v_],id[cart[x_,y_]]] := cross[composite[u,id[x]],composite[v,id[y]]] (* added 2003 July 17 based on DIR-PROD.NB *) composite[cross[x_,id[cart[V,V]]],TWIST] := composite[cross[x,Id],TWIST] (* added 2003 July 17 based on DIR-PROD.NB *) composite[cross[id[cart[V,V]],x_],TWIST] := composite[cross[Id,x],TWIST] (* added 1999 October 9 based on CROSS.2 *) composite[CROSS,id[cart[V,V]]] := CROSS (* discovered 1998 October 17 *) composite[cross[x_,y_],id[complement[cart[u_,v_]]]] := union[cross[x,composite[y,id[complement[v]]]],cross[composite[x,id[complement[u]]],y]] (* added 1998 September 6 *) composite[cross[x_,y_],id[Id]] := composite[intersection[composite[inverse[FIRST],x],composite[inverse[SECOND],y]],inverse[DUP]] (* derived 2004 November 23 in A8-AXCH.NB *) composite[cross[x_,y_],id[id[z_]]] := composite[intersection[composite[inverse[FIRST],x],composite[inverse[SECOND],y]],id[z],inverse[DUP]] (* added 1999 October 14 based on X-ID-CO.1 *) composite[cross[x_,y_],id[z_],inverse[FIRST]] := intersection[composite[inverse[FIRST],x],composite[inverse[SECOND],y,z]] (* added 1999 October 14 based on X-ID-CO.1 *) composite[cross[x_,y_],id[z_],inverse[SECOND]] := intersection[composite[inverse[SECOND],y],composite[inverse[FIRST],x,inverse[z]]] (* added 2003 June 11 based on VS.NB *) composite[cross[Id,inverse[SINGLETON]], inverse[rotate[composite[IMG,SWAP]]]] := union[composite[inverse[E],IMAGE[SWAP],VS], composite[LEFT[0],complement[inverse[E]],IMAGE[FIRST]]] (* derived 2004 May 9 in OOPART.NB *) composite[cross[Id,inverse[SINGLETON]], inverse[rotate[composite[inverse[SINGLETON],IMG,SWAP]]]] := composite[inverse[E],IMAGE[SWAP],FUNPART] (* added 2002 May 20 based on ITER-X.NB *) composite[cross[x_,Id],iterate[cross[Id,y_],z_]] := iterate[cross[Id,y],composite[z,inverse[x]]] (* added 2002 May 20 based on ITER-X.NB *) composite[cross[Id,x_],iterate[cross[y_,Id],z_]] := iterate[cross[y,Id],composite[x,z]] (* added 1999 December 15 based on PILFRULE.NB *) composite[cross[Id,SWAP],ASSOC] := composite[SWAP,ROT,cross[SWAP,Id]] (* added 1999 November 13 based on CARTDORA.NB *) composite[cross[u_,v_],intersection[composite[inverse[FIRST],x_], composite[inverse[SECOND],y_]]] := intersection[composite[inverse[FIRST],u,x],composite[inverse[SECOND],v,y]] (* added 2003 July 20 based on DIRECT12.NB *) composite[cross[inverse[DUP],inverse[DUP]],TWIST] := composite[id[cart[V,V]],inverse[DUP]] (* added 2000 December 9 based on REPLACE.NB *) composite[cross[x_,y_],inverse[E],IMAGE[id[cart[V,V]]]] := composite[cross[x,y],inverse[E]] (* Theorem X-1ST-IN in X3 proved 2000 August 2 *) composite[cross[x_,y_],inverse[FIRST]] := composite[id[cart[V,range[y]]],inverse[FIRST],x] (* added 2002 May 22 based on INVERSE.NB *) composite[cross[inverse[x_],Id],power[x_]] := composite[cross[Id,x],power[x]] (* Theorem X-2ND-IN in X3 proved 2000 August 2 *) composite[cross[x_,y_],inverse[SECOND]] := composite[id[cart[range[x],V]],inverse[SECOND],y] (* revised 1999 December 19 based on REVISED.NB *) composite[CROSS,LEFT[x_]] := composite[IMAGE[composite[id[composite[inverse[FIRST],x,FIRST]], cross[inverse[SECOND],inverse[SECOND]]]], id[image[V,set[x]]]] (* added 1999 November 4 based on X-CURRY.LOG *) composite[cross[x_,y_],LEFT[z_]] := composite[id[cart[image[x,set[z]],V]],inverse[SECOND],y] (* added 2002 May 21 based on RIF.NB *) composite[cross[x_,y_],RIF] := composite[RIF,cross[cross[Id,x],cross[y,Id]]] (* revised 1999 December 19 based on REVISED.NB *) composite[CROSS,RIGHT[x_]] := composite[IMAGE[composite[id[composite[inverse[SECOND],x,SECOND]], cross[inverse[FIRST],inverse[FIRST]]]], id[image[V,set[x]]]] (* added 1999 November 4 based on X-CURRY.LOG *) composite[cross[x_,y_],RIGHT[z_]] := composite[id[cart[V,image[y,set[z]]]],inverse[FIRST],x] (* added 2002 December 23 based on EQDF.NB *) composite[cross[rotate[NATADD],inverse[power[SUCC]]],inverse[RIF]] := composite[SWAP,EQUIDIFF] (* added 2002 December 23 based on RIF-TW.NB *) composite[cross[rotate[NATADD],NATADD],inverse[RIF]] := composite[SWAP,inverse[rotate[NATADD]],NATADD] (* added 2002 December 23 based on RIF-TW.NB *) composite[cross[rotate[NATADD],rotate[NATADD]],inverse[RIF]] := composite[inverse[NATADD],rotate[NATADD],SWAP] (* added 2002 December 23 based on RIF-TW.NB *) composite[cross[rotate[NATADD],composite[rotate[NATADD],SWAP]],inverse[RIF]] := composite[SWAP,EQUIDIFF] (* added 2001 December 23 based on DORA-1.NB *) composite[cross[S,S],DORA] := composite[inverse[CART],S,IMAGE[id[cart[V,V]]]] (* added 2000 September 1 based on SESSION1 *) composite[cross[x_,SECOND],ASSOC] := cross[composite[x,FIRST],Id] (* added 2001 January 20 based on RIF-2.NB *) composite[cross[SECOND,FIRST], id[composite[inverse[SECOND],FIRST]]] := RIF (* added 2001 February 8 based on TWIST-4.NB *) composite[cross[SECOND,FIRST],id[x_], cross[inverse[FIRST],inverse[SECOND]]] := twist[composite[SWAP,x]] (* added 2003 July 20 based on DIRECT12.NB *) composite[cross[SECOND,FIRST],TWIST] := composite[SWAP,cross[SECOND,FIRST]] (* added 2000 September 1 based on SESSION1 *) composite[cross[SECOND,x_],inverse[ASSOC]] := composite[cross[Id,x],SECOND] (* added 2007 based on RIF-IN.NB *) composite[cross[SECOND,x_],inverse[RIF]] := cross[Id,composite[x,inverse[FIRST]]] (* added 2002 June 7 based on RIF.NB *) composite[cross[x_,SECOND],inverse[RIF]] := composite[inverse[rotate[x]],FIRST] (* added 2000 September 1 based on SESSION1 *) composite[cross[SECOND,x_],inverse[ROT]] := composite[SWAP,cross[composite[x,FIRST],Id]] (* added 2000 September 1 based on SESSION1 *) composite[cross[SECOND,x_],ROT] := composite[cross[Id,x],FIRST] (* added 2001 January 20 based on COMBINAT.NB *) composite[cross[SECOND,SECOND], id[composite[inverse[FIRST],FIRST]]] := composite[RIF,cross[Id,SWAP]] (* added 2001 January 18 in TWIST-1.NB *) composite[cross[SECOND,SECOND],id[x_], cross[inverse[FIRST],inverse[FIRST]]] := twist[x] (* added 2003 August 10 based on RODIRECT.NB *) composite[cross[SECOND,SECOND],TWIST] := composite[SECOND,id[cart[cart[V,V],cart[V,V]]]] (* Theorem X-SW-1C in X1 proved 1999 September 11 *) composite[cross[x_,y_],SWAP] := composite[SWAP,cross[y,x]] (* added 1999 December 15 based on PILFRULE.NB *) composite[cross[SWAP,Id],inverse[ASSOC]] := composite[inverse[ROT],SWAP,cross[Id,SWAP]] (* added 1999 November 4 based on 1999/NOV/03/WORK/FLIP-ROT.2 *) composite[cross[SWAP,Id],inverse[ROT]] := composite[ROT,cross[SWAP,Id]] (* added 1999 December 15 based on PERMUTE.NB *) composite[cross[SWAP,Id],ROT] := composite[inverse[ROT],cross[SWAP,Id]] (* added 2002 December 30 based on 9-TWIST.NB *) composite[cross[TWIST,TWIST],TWIST,cross[TWIST,TWIST]] := composite[TWIST,cross[TWIST,TWIST],TWIST] (* derived 2003 December 26 in DISTRIB.NB *) composite[CUP,cross[CAP,CAP],TWIST,cross[DUP,Id]] := composite[CAP,cross[Id,CUP]] (* derived 2003 December 26 in DISTRIB.NB *) composite[CUP,cross[CAP,CAP],TWIST,cross[Id,DUP]] := composite[CAP,cross[CUP,Id]] (* derived 2003 December 27 in DISTRBIN.NB *) composite[CUP,cross[CART,CART],TWIST,cross[DUP,Id]] := composite[CART,cross[Id,CUP]] (* derived 2003 December 27 in DISTRBIN.NB *) composite[CUP,cross[CART,CART],TWIST,cross[Id,DUP]] := composite[CART,cross[CUP,Id]] (* derived 2003 December 27 in DISTRBIN.NB *) composite[CUP,cross[COMPOSE,COMPOSE],TWIST,cross[DUP,Id]] := composite[COMPOSE,cross[Id,CUP]] (* derived 2003 December 27 in DISTRBIN.NB *) composite[CUP,cross[COMPOSE,COMPOSE],TWIST,cross[Id,DUP]] := composite[COMPOSE,cross[CUP,Id]] (* added 2002 January 19 based on PO.NB *) composite[CUP,cross[composite[SINGLETON,x_],composite[SINGLETON,y_]]] := composite[PAIRSET,cross[x,y]] (* derived 2004 February 17 in AX-PRS.NB *) composite[CUP,cross[composite[SINGLETON,x_],SINGLETON]] := composite[PAIRSET,cross[x,Id]] (* derived 2003 December 27 in DISTRBIN.NB *) composite[CUP,cross[CROSS,CROSS],TWIST,cross[DUP,Id]] := composite[CROSS,cross[Id,CUP]] (* derived 2003 December 27 in DISTRBIN.NB *) composite[CUP,cross[CROSS,CROSS],TWIST,cross[Id,DUP]] := composite[CROSS,cross[CUP,Id]] (* added 2000 September 20 based on KELLEY4A.LOG *) composite[CUP,cross[CUP,Id],inverse[ASSOC]] := composite[CUP,cross[Id,CUP]] (* added 2000 September 21 based on PERMS1.NB *) composite[CUP,cross[CUP,Id],inverse[ROT]] := composite[CUP,cross[CUP,Id]] (* added 2000 September 20 based on KELLEY4A.LOG *) composite[CUP,cross[CUP,Id],ROT] := composite[CUP,cross[CUP,Id]] (* derived 2003 December 26 in DISTRIB.NB *) composite[CUP,cross[DIF,DIF],TWIST,cross[DUP,Id]] := composite[DIF,cross[Id,CAP]] (* added 1999 November 16 based on DISJOINT.NB *) composite[CUP,cross[DISJOINT,DISJOINT]] := composite[DISJOINT,CAP] (* added 1999 November 3 based on ASS-DIF.TXT *) composite[CUP,cross[Id,CUP],ASSOC] := composite[CUP,cross[CUP,Id]] (* derived 2003 December 27 in DISTRBIN.NB *) composite[CUP,cross[IMG,IMG],TWIST,cross[DUP,Id]] := composite[IMG,cross[Id,CUP]] (* derived 2003 December 27 in DISTRBIN.NB *) composite[CUP,cross[IMG,IMG],TWIST,cross[Id,DUP]] := composite[IMG,cross[CUP,Id]] (* added 1999 November 16 based on CAP-CUP.NB *) composite[CUP,cross[inverse[S],inverse[S]]] := composite[inverse[S],CUP] (* derived 2004 February 17 in AX-PRS.NB *) composite[CUP,cross[SINGLETON,composite[SINGLETON,x_]]] := composite[PAIRSET,cross[Id,x]] (* added 1999 October 2 based on PAIRSET.9 *) composite[CUP,cross[SINGLETON,SINGLETON]] := PAIRSET (* Theorem CUP-DUP2 in CUP proved 1999 August 12 *) composite[CUP,DUP] := Id (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[ACLOSURE]] := composite[SECOND,id[ACLOSURE]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[ADJOIN[x_]]] := composite[SECOND,id[ADJOIN[x]]] (* discovered 1999 December 16 in CUP.NB *) composite[CUP,id[cart[x_,set[y_]]]] := composite[ADJOIN[y],id[x],inverse[RIGHT[y]]] (* discovered 1999 December 16 in CUP.NB *) composite[CUP,id[cart[set[x_],y_]]] := composite[ADJOIN[x],id[y],inverse[LEFT[x]]] (* added 2001 March 9 based on BC-IMG.TXT *) composite[CUP,id[BIGCUP],inverse[FIRST]] := composite[BIGCUP,IMAGE[SUCC]] (* derived 2004 March 23 in TRV-K.NB *) composite[CUP,id[cart[V,FINITE]],inverse[FIRST]] := union[Id,trv[K]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[cart[x_,V]],inverse[FIRST]] := composite[S,id[x]] (* derived 2004 March 23 in TRV-K.NB *) composite[CUP,id[cart[V,x_]],inverse[FIRST],CUP] := composite[CUP, cross[Id,composite[CUP,id[cart[V,x]],inverse[FIRST]]]] (* added 2003 November 28 based on FIN-IND.NB *) composite[CUP,id[cart[V,range[SINGLETON]]],inverse[FIRST]] := union[K,id[complement[set[0]]]] (* derived 2004 March 23 in TRV-K.NB *) composite[CUP,id[cart[V,union[range[SINGLETON],set[0]]]],inverse[FIRST]] := union[Id,K] (* added 2002 October 22 based on CO-ID.NB *) composite[CUP,id[cart[V,V]]] := CUP (* added 1999 November 3 based on ASS-DIF.TXT *) composite[CUP,id[complement[cart[V,V]]]] := 0 (* added 2000 October 26 based on TC-4.NB *) composite[CUP,id[composite[BIGCUP,TC]],inverse[FIRST]] := TC (* added 2003 September 24 based on PO-FACTS.NB *) composite[CUP,id[composite[CUP,cross[IMAGE[DUP],IMAGE[DUP]],DORA, id[P[cart[V,V]]]]],inverse[FIRST]] := HULL[RFX] (* added 2003 December 9 based on ITER-K.NB *) composite[CUP,id[composite[id[range[SINGLETON]],DISJOINT]],inverse[FIRST]] := K (* added 2002 May 24 based on ADJOIN.NB *) composite[CUP,id[composite[SINGLETON,id[x_]]],inverse[FIRST]] := composite[SUCC,id[x]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[CORE[x_]]] := composite[FIRST,id[CORE[x]]] (* added 2000 June 2 based on DJ-U.NB *) composite[CUP,id[DISJOINT],inverse[FIRST]] := S (* added 2000 June 2 based on DJ-U.NB *) composite[CUP,id[DISJOINT],inverse[SECOND]] := S (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[HC]] := composite[FIRST,id[HC]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[HULL[x_]]] := composite[SECOND,id[HULL[x]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[Id]] := inverse[DUP] (* derived 2004 June 6 in EQV-TRV.NB *) composite[CUP,id[IMAGE[eqv[x_]]],inverse[FIRST]] := HULL[invar[eqv[x]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[IMAGE[id[x_]]]] := composite[FIRST,id[IMAGE[id[x]]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[IMAGE[inverse[S]]]] := composite[SECOND,id[IMAGE[inverse[S]]]] (* derived 2004 June 15 in HULIVRSW.NB *) composite[CUP,id[IMAGE[SWAP]],inverse[FIRST]] := HULL[invar[SWAP]] (* derived 2004 June 6 in EQV-TRV.NB *) composite[CUP,id[IMAGE[trv[x_]]],inverse[FIRST]] := HULL[invar[x]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[inverse[CORE[x_]]]] := composite[SECOND,id[inverse[CORE[x]]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[inverse[HC]]] := composite[SECOND,id[inverse[HC]]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[inverse[IMAGE[id[x_]]]]] := composite[SECOND,id[inverse[IMAGE[id[x]]]]] (* added 2003 November 6 based on HULL-EQV.NB *) composite[CUP,id[INVERSE],inverse[FIRST]] := HULL[SYM] (* added 1999 December 6 based on RESTRICT.NB *) composite[CUP,id[inverse[S]]] := composite[FIRST,id[inverse[S]]] (* added 2001 March 1 based on CAP-2ND.NB *) composite[CUP,id[x_],inverse[SECOND]] := composite[CUP,id[inverse[x]],inverse[FIRST]] (* added 1999 November 17 based on NEWRULES.1 *) composite[CUP,id[S]] := composite[SECOND,id[S]] (* added 2001 August 5 based on RK-U.NB *) composite[CUP,id[SINGLETON],inverse[FIRST]] := SUCC (* added 2001 August 5 based on RK-U.NB *) composite[CUP,id[SUCC],inverse[FIRST]] := SUCC (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[TC]] := composite[SECOND,id[TC]] (* derived 2004 May 11 in CAP-CORE.NB *) composite[CUP,id[UCLOSURE]] := composite[SECOND,id[UCLOSURE]] (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],CUP]]] := CUP (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],DIF]]] := FIRST (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],FIRST]]] := FIRST (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],SECOND]]] := SECOND (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],SYMDIF]]] := CUP (* added 2003 September 4 based on IDEMCORE.NB *) composite[CUP,intersection[composite[inverse[FIRST],CORE[x_]], composite[inverse[SECOND],CORE[y_]]]] := CORE[union[x,y]] (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],CUP]]] := CUP (* added 1999 December 2 based on SYMDIF-2.NB *) composite[CUP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],DIF,SWAP]]] := SYMDIF (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],FIRST]]] := FIRST (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],SECOND]]] := CUP (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],SYMDIF]]] := SYMDIF (* added 1999 December 7 based on BUILD-1.NB *) composite[CUP,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],CUP]]] := CUP (* added 1999 December 7 based on BUILD-1.NB *) composite[CUP,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],DIF]]] := FIRST (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],SYMDIF]]] := CUP (* added 2003 September 4 based on IDEMCORE.NB *) composite[CUP,intersection[composite[inverse[FIRST],IMAGE[id[x_]]], composite[inverse[SECOND],IMAGE[id[y_]]]]] := IMAGE[id[union[x,y]]] (* added 1999 December 7 based on BUILD-1.NB *) composite[CUP,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],DIF]]] := CUP (* added 1999 December 7 based on BUILD-DJ.NB *) composite[CUP,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],SYMDIF]]] := CUP (* added 2002 January 10 based on PAIRSET.NB *) composite[CUP,intersection[composite[inverse[FIRST],SINGLETON,x_], composite[inverse[SECOND],SINGLETON,y_]]] := composite[PAIRSET, intersection[composite[inverse[FIRST],x],composite[inverse[SECOND],y]]] (* added 1999 December 7 based on BUILD-1.NB *) composite[CUP,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],DIF]]] := SYMDIF (* Theorem CAPCUP-2 in CAP proved 2000 July 24 *) composite[CUP,inverse[CAP]] := S (* added 1999 October 5 based on CUP-1-2.LOG *) composite[CUP,inverse[FIRST]] := S (* added 2001 November 11 based on PAIRSET.NB *) composite[CUP,inverse[PAIRSET]] := composite[BIGCUP,id[range[PAIRSET]]] (* added 1999 October 5 based on CUP-1-2.LOG *) composite[CUP,inverse[SECOND]] := S (* added 1999 September 23 based on ADJOIN-1.LOG and CART-LOG.1 *) composite[CUP,LEFT[x_]] := ADJOIN[x] (* added 1999 September 23 based on ADJOIN-1.LOG *) composite[CUP,RIGHT[x_]] := ADJOIN[x] (* Theorem CUP-SW in CUP proved 1999 September 23 *) composite[CUP,SWAP] := CUP (* Theorem DI-C-E in DI proved 1998 December 16 *) composite[Di,complement[E]] := cart[V,V] (* derived 2004 June 12 based on X1196.NB *) composite[Di,complement[funpart[x_]]] := cart[V,V] (* Theorem E-C-DI-1 proved 1998 November 11 *) composite[Di,complement[inverse[E]]] := cart[V,V] (* Theorem SR-C-DI2 in SR-C proved 1998 December 16 *) composite[Di,complement[inverse[S]]] := cart[V,V] (* added 2000 May 25 based on K.NB *) composite[Di,complement[K]] := cart[V,V] (* 1998 August 25 *) composite[Di,complement[S]] := cart[complement[set[0]],V] (* Theorem SP-DI-DI in SP3 proved 1998 November 11 *) composite[Di,Di] := cart[V,V] (* Theorem SP-DJT-1 in SP3 proved 1998 September 3 *) composite[Di,DISJOINT] := cart[V,V] (* added 2004 July 14 based on X2530-41.NB *) composite[Di,DUP] := union[cart[V,union[Di,complement[cart[V,V]]]],composite[DUP,Di]] (* Theorem SP-DI-E in SP2 proved 1998 November 11 *) composite[Di,E] := cart[V,V] (* added 2002 May 19 based on DI-FUNP.NB *) composite[Di,funpart[x_]] := composite[complement[x],id[domain[funpart[x]]]] (* added 2002 April 10 based on INVAR.NB *) composite[Di,INVAR] := cart[V,V] (* added 1998 July 2 *) composite[Di,inverse[E]] := composite[inverse[SINGLETON],Di, id[complement[set[0]]]] (* added 1998 September 24 *) composite[Di,inverse[S]] := union[cart[V,complement[set[0]]], cart[complement[set[0]],V]] (* added 1999 August 31 based on 12-CO-DI *) composite[Di,inverse[FIRST]] := cart[V,V] (* added 1999 August 31 based on 12-CO-DI *) composite[Di,inverse[SECOND]] := cart[V,V] (* added 2001 July 15 based on FUNPART.NB *) composite[Di,inverse[ZN]] := cart[V,V] (* added 2000 May 24 based on K.NB *) composite[Di,K] := cart[V,V] (* 1998 August 25 *) composite[Di,PS] := cart[V,V] (* added 2001 July 15 based on FUNPART.NB *) composite[Di,Q] := union[cart[V,complement[set[0]]], cart[complement[set[0]],V]] (* Theorem PS-DI-SR in PS1 proved 1998 August 25 *) composite[Di,S] := cart[V,V] (* added 2000 September 5 based on CART-DIF.NB *) composite[DIF,cross[CART,CART],TWIST,cross[Id,DUP]] := composite[CART,cross[DIF,Id]] (* added 2000 September 5 based on CART-DIF.NB *) composite[DIF,cross[CART,CART],TWIST,cross[DUP,Id]] := composite[CART,cross[Id,DIF]] (* added 1999 November 3 based on ASS-DIF.TXT *) composite[DIF,cross[Id,CUP],ASSOC] := composite[DIF,cross[DIF,Id]] (* added 2002 December 23 based on REPLACE.NB *) composite[DIF,cross[Id,DIF],ASSOC] := composite[CUP, intersection[composite[inverse[FIRST],CAP,cross[FIRST,Id]], composite[inverse[SECOND],DIF,FIRST]]] (* added 1999 November 16 based on DIF.NB *) composite[DIF,cross[inverse[S],S]] := composite[inverse[S],DIF] (* added 1999 October 26 based on DIF-LOG.1 *) composite[DIF,DUP] := cart[V,set[0]] (* discovered 1999 December 16 in DIF.NB *) composite[DIF,id[cart[set[x_],y_]]] := composite[RC[x],IMAGE[id[x]],id[y],inverse[LEFT[x]]] (* discovered 1999 December 16 in DIF.NB *) composite[DIF,id[cart[x_,set[y_]]]] := composite[IMAGE[id[complement[y]]],id[x],inverse[RIGHT[y]]] (* added 1999 October 26 based on DIF-LOG.1 *) composite[DIF,id[cart[V,V]]] := DIF (* added 1999 October 26 based on DIF-LOG.2 ad hoc rule *) composite[DIF,id[complement[cart[V,V]]]] := 0 (* added 1999 December 7 based on RESTRICT.NB *) composite[DIF,id[DISJOINT]] := composite[FIRST,id[DISJOINT]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,id[Id]] := cart[Id,set[0]] (* added 1999 November 17 based on NEWRULES.1 *) composite[DIF,id[S]] := cart[S,set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],CUP]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],DIF]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],FIRST]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],SECOND]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],SYMDIF]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],CAP]]] := SYMDIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],DIF]]] := SECOND (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],FIRST]]] := composite[DIF,SWAP] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],SECOND]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],CUP], composite[inverse[SECOND],SYMDIF]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],CAP]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],CUP]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],DIF,SWAP]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],FIRST]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],SECOND]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],SYMDIF]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],DIF,SWAP], composite[inverse[SECOND],DIF]]] := composite[DIF,SWAP] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],CAP]]] := DIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],CUP]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],DIF]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],SYMDIF]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],CAP]]] := composite[DIF,SWAP] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],CUP]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],DIF]]] := SECOND (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],SYMDIF]]] := CAP (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],CAP]]] := SYMDIF (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],CUP]]] := cart[cart[V,V],set[0]] (* added 1999 December 8 based on BUILDALL.TXT *) composite[DIF,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],DIF]]] := composite[DIF,SWAP] (* added 1999 October 28 based on MOREDIF1.NB *) composite[DIF,inverse[FIRST]] := inverse[S] (* added 1999 October 28 based on MOREDIF1.NB *) composite[DIF,inverse[SECOND]] := DISJOINT (* added 1999 October 31 based on RC-DIF.NB *) composite[DIF,LEFT[x_]] := composite[RC[x],IMAGE[id[x]]] (* revised 1999 December 19 based on REVISED.NB *) composite[DIF,RIGHT[x_]] := composite[IMAGE[id[complement[x]]], id[image[V,set[x]]]] (* added 1999 December 7 based on RESTRICT.NB *) composite[DIF,SWAP,id[DISJOINT]] := composite[SECOND,id[DISJOINT]] (* added 1999 December 6 based on RESTRICT.NB *) composite[DIF,SWAP,id[inverse[S]]] := cart[inverse[S],set[0]] (* added 2003 October 21 based on COMMUTE.NB *) composite[DISJOINT,COMMUTE] := cart[V,V] (* Theorem DJT-E-C in DJT *) composite[DISJOINT,complement[E]] := cart[V,V] (* added 1999 October 23 based on E-CO-DJT *) composite[DISJOINT,complement[inverse[E]]] := cart[V,V] (* added August 23 based on ASSOC-2.LOG *) composite[DISJOINT,complement[inverse[S]]] := cart[V,V] (* added 2000 December 16 based on Q-CA.NB *) composite[DISJOINT,complement[Q]] := cart[V,V] (* Theorem DJT-SR-C in DJT proved 1998 August 6 *) composite[DISJOINT,complement[S]] := cart[complement[set[0]],V] (* added 2000 January 2 based on DC.NB *) composite[DISJOINT,COMPOSE,inverse[FIRST]] := cart[V,V] (* added 2000 January 2 based on DC.NB *) composite[DISJOINT,COMPOSE,inverse[SECOND]] := cart[V,V] (* Theorem SP-DJT-2 in SP3 proved 1998 September 3 *) composite[DISJOINT,Di] := cart[V,V] (* Theorem DJT-DJT in DJT *) composite[DISJOINT,DISJOINT] := cart[V,V] (* Theorem DJT-CO-E in DJT proved 1998 August 23 *) composite[DISJOINT,E] := composite[Id,complement[E]] (* added 1999 December 19 based on DISJOINT.NB *) composite[DISJOINT,id[P[x_]],DISJOINT] := cart[V,V] (* added 2003 June 18 based on CUT-CORE.NB *) composite[DISJOINT,id[P[x_]],E] := composite[complement[E],id[x]] (* added 1999 December 19 based on DISJOINT.NB *) composite[DISJOINT,id[P[x_]],S]:= composite[DISJOINT,id[P[x]]] (* derived 2003 December 30 in T2.NB *) composite[DISJOINT,id[Uclosure[x_]],E] := composite[DISJOINT,id[x],E] (* added 1999 December 19 based on DISJOINT.NB *) composite[DISJOINT,IMAGE[id[x_]],S] := composite[DISJOINT,IMAGE[id[x]]] (* added 1999 November 13 based on ANTISYMM.NB *) composite[DISJOINT,IMAGE[id[union[x_,complement[cart[V,V]]]]]]:= intersection[composite[DISJOINT,IMAGE[id[x]]], composite[DISJOINT,IMAGE[id[complement[cart[V,V]]]]]] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[DISJOINT,inverse[GREATEST[x_]]] := composite[complement[E],id[fix[x]]] (* added 1999 December 19 based on DISJOINT.NB *) composite[DISJOINT,inverse[IMAGE[id[x_]]]] := composite[DISJOINT,id[P[x]]] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[DISJOINT,inverse[LEAST[x_]]] := composite[complement[E],id[fix[x]]] (* inverse of Theorem DJT-CO-S in DJT *) composite[DISJOINT,inverse[S]] := cart[V,V] (* derived 2004 December 22 in UCL-COMT.NB *) composite[DISJOINT,LB[LB[x_]]] := cart[V,V] (* derived 2004 December 22 in UCL-COMT.NB *) composite[DISJOINT,LB[UB[x_]]] := cart[V,V] (* Theorem Q-DJ-2 in Q proved 2000 May 12 *) composite[DISJOINT,Q] := cart[V,V] (* added 1999 December 19 based on RC-5.NB *) composite[DISJOINT,RC[x_]] := composite[inverse[IMAGE[id[x]]],inverse[S], id[intersection[image[V,set[x]],P[x]]]] (* Theorem DJT-SR-1 in DJT proved 1998 August 23 *) composite[DISJOINT,S] := DISJOINT (* Theorem SG-DJT-2 in SG1 proved 1998 September 4 *) composite[DISJOINT,SINGLETON] := composite[Id,complement[E]] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[DISJOINT,SUBCOMMUTE] := cart[V,V] (* derived 2005 January 29 in DIV.NB *) composite[DIV,complement[inverse[DIV]]] := composite[id[omega],complement[inverse[DIV]]] (* added 2002 August 30 based on DIVIDES.NB *) composite[DIV,DIV] := DIV (* derived 2005 May 3 in DIV-E.NB *) composite[DIV,E] := union[cart[omega,set[0]],composite[id[omega],E]] (* derived 2005 April 21 in FACT-DIV.NB *) composite[DIV,id[intersection[omega,x_]]] := composite[DIV,id[x]] (* added 2002 October 22 based on CO-ID.NB *) composite[DIV,id[omega]] := DIV (* derived 2005 January 29 in DIV.NB *) composite[DIV,inverse[DIV]] := cart[omega,omega] (* added 2001 December 18 based on DORA.NB *) composite[DORA,CART] := union[cart[union[cart[V,set[0]], cart[set[0],V]],cart[set[0],set[0]]], id[cart[complement[set[0]],complement[set[0]]]]] (* derived 2004 December 17 in RFX.NB *) composite[DORA,CORE[RFX]] := composite[DUP,IMAGE[inverse[DUP]]] (* derived 2005 January 6 in DJ-U-Q.NB *) composite[DORA,CUP] := composite[cross[CUP,CUP],TWIST,cross[DORA,DORA]] (* added 2001 December 19 based on REPLACE.NB *) composite[DORA,id[complement[set[0]]],CART] := id[cart[complement[set[0]],complement[set[0]]]] (* added 2001 December 19 based on DORA-CO.NB *) composite[DORA,IMAGE[DUP]] := DUP (* added 2001 December 19 based on DORA-CO.NB *) composite[DORA,IMAGE[id[cart[V,V]]]] := DORA (* added 2001 December 19 based on DORA-CO.NB *) composite[DORA,IMAGE[SWAP]] := composite[SWAP,DORA] (* derived 2004 July 26 in IMAGDORA.NB *) composite[DORA,inverse[IMAGE[id[cart[V,V]]]]] := composite[DORA,id[P[cart[V,V]]]] (* added 2003 February 4 based on PLUS-Q.NB *) composite[DORA,PLUS] := composite[LEFT[omega],RC[omega],id[omega]] (* added 2002 February 4 based on RCF-NORM.NB *) composite[DORA,RCF] := composite[DUP,POWER] (* added 2001 December 19 based on DORA-CO.NB *) composite[DORA,SINGLETON] := union[cart[complement[cart[V,V]], cart[set[0],set[0]]],cross[SINGLETON,SINGLETON]] (* Theorem BA-IN-E2 in BIGCAP/BA1 proved 1998 November 24 *) composite[E,complement[E]] := composite[inverse[BIGCAP],complement[E]] (* Theorem SR-C-CO1 in SR/C *) composite[E,complement[inverse[E]]] := composite[Id,complement[inverse[S]]] composite[E,complement[inverse[S]]] := composite[complement[inverse[S]],POWER] (* Theorem BA-SR-C1 in BIGCAP\BA1 proved 1998 December 8 *) composite[E,complement[S]] := composite[inverse[BIGCAP],complement[S]] (* added 1998 July 2 *) composite[E,Di] := composite[id[complement[set[0]]], Di,SINGLETON] (* Theorem BC-E-2 in BIGCUP/BC *) composite[E,E] := composite[inverse[BIGCUP],E] (* added 2001 February 6 based on ROT-2.NB *) composite[E,FIRST,intersection[x_,composite[inverse[SECOND],inverse[E]]]] := inverse[fix[composite[inverse[SECOND],inverse[x],inverse[E],CART]]] (* added 2001 February 6 based on ROT-2.NB *) composite[E,SECOND,intersection[x_,composite[inverse[FIRST],inverse[E]]]] := fix[composite[inverse[FIRST],inverse[x],inverse[E],CART]] (* added 2002 November 12 based on VS-RULES.NB *) composite[E,UB[complement[x_]],id[P[domain[VERTSECT[x_]]]]] := composite[complement[inverse[S]],IMAGE[x]] (* added 2001 July 15 based on ZN-AGAIN.NB *) composite[E,UB[complement[ZN]]] := composite[Id,complement[ZN]] (* added 2002 November 16 based on EQUIDIFF.NB *) composite[EQUIDIFF,complement[EQUIDIFF]] := composite[id[cart[omega,omega]],complement[EQUIDIFF]] (* added 2002 December 19 based on EQDF-RIF.NB *) composite[EQUIDIFF,cross[NATADD,NATADD],inverse[RIF]] := EQUIDIFF (* added 2002 November 5 based on EQDF-TRV.NB *) composite[EQUIDIFF,EQUIDIFF] := EQUIDIFF (* added 2002 November 30 based on POS-NEG.NB *) composite[EQUIDIFF,id[cart[set[0],omega]]] := composite[SWAP,inverse[rotate[NATADD]],inverse[LEFT[0]]] (* added 2002 November 3 based on EQUIDIFF.NB *) composite[EQUIDIFF,id[cart[V,V]]] := EQUIDIFF (* added 2002 November 3 based on EQUIDIFF.NB *) composite[EQUIDIFF,id[complement[cart[V,V]]]] := 0 (* added 2003 August 17 based on EQDF-SUB.NB *) composite[EQUIDIFF,id[composite[id[omega],x_,id[omega]]]] := composite[EQUIDIFF,id[x]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[EQUIDIFF,id[union[S,inverse[S]]]] := EQUIDIFF (* added 2003 July 20 based on EQUIDIFF.NB *) composite[EQUIDIFF,inverse[FIRST]] := composite[id[cart[omega,V]], inverse[rotate[composite[inverse[S],NATADD]]]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[EQUIDIFF,inverse[rotate[NATADD]]] := inverse[rotate[NATADD]] (* added 2003 July 20 based on EQUIDIFF.NB *) composite[EQUIDIFF,inverse[SECOND]] := composite[SWAP,id[cart[omega,V]], inverse[rotate[composite[inverse[S],NATADD]]]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[EQUIDIFF,LEFT[0]] := composite[SWAP,inverse[rotate[NATADD]]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[EQUIDIFF,RIGHT[0]] := inverse[rotate[NATADD]] (* added 2002 November 3 based on EQUIDIFF.NB *) composite[EQUIDIFF,SWAP] := composite[SWAP,EQUIDIFF] (* derived 2004 May 12 in EQUIV.NB *) composite[EQUIV,EQUIV] := EQUIV (* derived 2004 May 12 in EQUIV.NB *) composite[EQUIV,HULL[TRV]] := composite[EQUIV,id[P[cart[V,V]]]] (* derived 2004 June 27 in X1693-97.NB *) composite[EQUIV,IMAGE[id[cart[x_,x_]]],EQUIV] := composite[IMAGE[id[cart[x,x]]],EQUIV] (* derived 2004 May 12 in EQUIV.NB *) composite[EQUIV,IMAGE[id[cart[V,V]]]] := EQUIV (* derived 2004 June 6 in EQV-C.NB *) composite[eqv[x_],complement[eqv[x_]]] := composite[id[fix[eqv[x]]],complement[eqv[x]]] (* derived 2004 May 12 in EQV-GEN.NB *) composite[eqv[x_],eqv[x_]] := eqv[x] (* derived 2004 December 16 in RFX-CORE.NB *) composite[eqv[x_],id[fix[trv[x_]]]] := eqv[x] (* derived 2005 April 21 in FACT-DIV.NB *) composite[FACTORIAL,id[intersection[omega,x_]]] := composite[FACTORIAL,id[x]] (* derived 2005 April 16 in FACTRL.NB *) composite[FACTORIAL,id[omega]] := FACTORIAL (* derived 2005 April 16 in FACTRL.NB *) composite[FACTORIAL,SUCC] := composite[NATMUL,intersection[composite[inverse[FIRST],SUCC],composite[inverse[SECOND],FACTORIAL]]] (* Theorem FIN-CO3 in FINITE proved 2000 April 20 *) composite[FINITE,x_] := cart[domain[x],V] (* Theorem FIN-CO4 in FINITE proved 2000 April 20 *) composite[x_,FINITE] := cart[V,range[x]] (* added 1999 November 4 based on ASSOC.NB *) composite[FIRST,ASSOC] := composite[FIRST,FIRST] (* added 2000 August 9 based on DOROTEST.NB *) composite[FIRST,complement[inverse[E]]] := cart[V,V] (* Theorem X-1ST-CO in X1 proved 2000 July 31 *) composite[FIRST,cross[x_,y_]] := composite[x,FIRST,id[cart[V,domain[y]]]] (* added 1999 August 31 based on 12-CO-DI *) composite[FIRST,Di] := cart[V,V] (* added 2001 December 23 based on DORA-2.NB *) composite[FIRST,DORA] := IMAGE[FIRST] (* Theorem DUP1ST-2 in DUP1 proved 1998 November 29 *) composite[FIRST,DUP] := Id (* added 2003 July 20 based on EQUIDIFF.NB *) composite[FIRST,EQUIDIFF] := composite[rotate[composite[inverse[S],NATADD]],id[cart[omega,V]]] (* added 2002 October 22 based on CO-ID.NB *) composite[FIRST,FIRST,id[cart[cart[V,V],V]]] := composite[FIRST,FIRST] (* added 2002 December 30 based on RO-ROT.NB *) composite[FIRST,FIRST,intersection[composite[x_,FIRST], composite[cross[inverse[SECOND],Id],SECOND]]] := rotate[composite[inverse[x],ROT]] (* added 2007 based on RIF-IN.NB *) composite[FIRST,id[cart[x_,y_]],inverse[RIF]] := composite[SWAP,id[inverse[x]],cross[Id,y]] (* added 2003 May 30 based on RESTRICT.NB *) composite[FIRST,id[cart[x_,P[Id]]],inverse[COMPOSE]] := composite[id[x],inverse[RESTRICT]] (* added 2003 January 12 based on ITERATE.NB *) composite[FIRST,id[cart[x_,y_]],power[z_]] := composite[id[x],iterate[inverse[z],y]] (* Inverse of Normalization Rule for RIGHT[x] added 1999 August 16 *) composite[FIRST,id[cart[y_,set[x_]]]] := composite[id[y],inverse[RIGHT[x]]] composite[FIRST,id[cart[V,V]]] := FIRST composite[FIRST,id[complement[cart[V,V]]]] := 0 (* added 2001 February 4 based on CLOSED.NB *) composite[FIRST,id[x_],complement[inverse[rotate[y_]]]] := composite[intersection[complement[y],composite[inverse[x],FIRST]],inverse[SECOND]] composite[FIRST,id[composite[Id,x_]]] := composite[FIRST,id[x]] (* added 1999 October 13 based on SESSION.3 *) composite[FIRST,id[x_],cross[y_,z_]] := intersection[composite[y,FIRST],composite[inverse[x],z,SECOND]] (* Theorem DUP1ST-3 in DUP1 proved 1998 November 29 *) composite[FIRST,id[Id]] := inverse[DUP] composite[FIRST,id[id[x_]]] := composite[id[x],inverse[DUP]] (* from REPLACE.LOG *) composite[FIRST,id[x_],intersection[composite[inverse[FIRST],y_], composite[inverse[SECOND],z_]]] := intersection[y,composite[inverse[x],z]] (* Theorem 1ST-CO-2 in 1ST proved 1999 August 24 *) composite[FIRST,id[x_],inverse[FIRST]] := id[domain[x]] (* derived 2004 February 10 in TO.NB *) composite[FIRST,id[INVERSE],inverse[CUP]] := inverse[HULL[SYM]] (* added 2001 February 4 based on CLOSED.NB *) composite[FIRST,id[x_],inverse[rotate[y_]]] := composite[intersection[y,composite[inverse[x],FIRST]],inverse[SECOND]] (* added 2002 April 8 based on UCL-ACL.NB *) composite[FIRST,id[inverse[E]],UB[complement[cross[E,Id]]]] := composite[complement[inverse[E]],SUBVAR] (* added 2001 May 24 based on REIFY.NB *) composite[FIRST,id[inverse[S]],intersection[composite[inverse[DIF],SECOND], composite[inverse[SECOND],FIRST]]] := composite[CUP,id[DISJOINT]] composite[FIRST,id[x_],inverse[SECOND]] := inverse[x] (* added 2001 February 3 based in IMG9B.NB *) composite[FIRST,intersection[composite[complement[inverse[rotate[x_]]],y_], composite[inverse[SECOND],z_]]] := composite[complement[x], intersection[composite[inverse[FIRST],z], composite[inverse[SECOND],y]]] (* added 2002 December 30 based on RO-TW.NB *) composite[FIRST,intersection[composite[x_,cross[Id,FIRST]], composite[inverse[SECOND],SECOND,SECOND]]] := composite[rotate[twist[x]],SWAP] (* added 2002 December 30 based on RO-TW.NB *) composite[FIRST,intersection[composite[x_,cross[Id,SECOND]], composite[inverse[SECOND],FIRST,SECOND]]] := composite[rotate[composite[SWAP,twist[x]]],SWAP] (* added 2003 May 30 based on FIX-ROT.NB *) composite[FIRST,intersection[composite[cross[inverse[FIRST],Id],FIRST], composite[SWAP,cross[Id,inverse[SECOND]],SECOND]]] := composite[RIF,cross[SWAP,SWAP]] (* added 1999 November 30 based on TRIRULES.1 *) composite[FIRST,intersection[composite[x_,FIRST], composite[inverse[SECOND],SECOND]]] := rotate[composite[inverse[x],SWAP]] (* added 2002 December 23 based on REPLACE.NB *) composite[FIRST,intersection[composite[intersection[composite[inverse[FIRST],u_], composite[inverse[SECOND],v_]],w_],composite[inverse[SECOND],x_]]] := composite[u,intersection[w,composite[inverse[v],x]]] (* added 1999 December 1 based on TRI-E.NB *) composite[FIRST,intersection[ composite[inverse[E],IMAGE[SWAP],x_], composite[inverse[SECOND],y_]]] := composite[SECOND,intersection[composite[inverse[E],x], composite[inverse[FIRST],y]]] (* added 2001 May 25 based on FUNPART.NB *) composite[FIRST,intersection[composite[inverse[IMG],SINGLETON,SECOND], composite[inverse[SECOND],SINGLETON,FIRST]]] := composite[inverse[FUNPART],E] (* added 2002 December 28 based on REPLACE.NB *) composite[FIRST,intersection[composite[inverse[RIF],x_,FIRST], composite[inverse[SECOND],y_,SECOND]]] := composite[SWAP,RIF,cross[composite[SWAP,x],composite[SWAP,y]]] (* added 2001 January 20 based on TWIST-4.NB *) composite[FIRST,intersection[composite[inverse[RIF],y_,SECOND], composite[inverse[SECOND],x_,FIRST]]] := composite[RIF,cross[x,y]] (* revised 1999 November 30 based on ROT-SWAP *) composite[FIRST,intersection[composite[inverse[SECOND],FIRST],composite[x_,SECOND]]] := composite[rotate[composite[inverse[x],SWAP]],SWAP] (* added 2002 October 29 based on RO-I.NB *) composite[FIRST,intersection[inverse[rotate[x_]],inverse[rotate[y_]]]] := composite[intersection[x,y],inverse[SECOND]] (* added 1999 November 4 based on ASSOC.NB *) composite[FIRST,inverse[ASSOC]] := cross[Id,FIRST] (* added 2000 July 24 based on CAPCUP.NB *) composite[FIRST,inverse[CAP]] := S (* added 2000 July 24 based on CAPCUP.NB *) composite[FIRST,inverse[CUP]] := inverse[S] (* added 2001 March 8 based on IMIMG.NB *) composite[FIRST,inverse[DIF]] := S (* added 2002 January 6 based on LAMBDA42.NB *) composite[FIRST,inverse[IMG],E] := composite[inverse[IMAGE[SECOND]],E] (* added 2003 August 11 based on DOROZADD.NB *) composite[FIRST,inverse[INTADD]] := cart[Z,Z] (* added 2002 June 21 based on NATADD.NB *) composite[FIRST,inverse[NATADD]] := composite[id[omega],inverse[S],id[omega]] (* derived 2005 February 18 in MUL-NORM.NB *) composite[FIRST,inverse[NATMUL]] := inverse[DIV] (* added 2001 February 1 based on RIF-1.NB *) composite[FIRST,inverse[RIF]] := composite[inverse[SECOND],FIRST] (* added 1999 September 12 based on 1999\SEP\07\ROTATE.8 *) composite[FIRST,inverse[ROT]] := cross[SECOND,Id] (* added 1999 October 17 based on 1999\OCT\15\WORK\SESSION.1 *) composite[FIRST,inverse[rotate[x_]]] := composite[x,inverse[SECOND]] (* Theorem 2ND-CO2 in 2ND proved 1998 November 5 *) composite[FIRST,inverse[SECOND]] := cart[V,V] (* added 1999 August 16 based on session NORMAL.5 *) composite[FIRST,LEFT[x_]] := cart[V,set[x]] (* added 2001 January 20 based on RIF-2.NB *) composite[FIRST,RIF] := composite[SECOND,FIRST,id[composite[inverse[SECOND],FIRST]]] (* Theorem RT-1ST in RIGHT proved 1999 August 24 *) composite[FIRST,RIGHT[x_]] := id[image[V,set[x]]] (* added 1999 September 12 based on 1999\SEP\07\ROTATE.8 *) composite[FIRST,ROT] := composite[cross[Id,FIRST],SWAP] (* added 2002 October 22 based on CO-ID.NB *) composite[FIRST,SECOND,id[cart[V,cart[V,V]]]] := composite[FIRST,SECOND] (* Theorem 2ND-SW-1 in 2ND proved 1998 November 3 *) composite[FIRST,SWAP] := SECOND (* added 1999 October 11 based on 1999\OCT\10\ASSOC.2 *) composite[FIRST,TWIST] := cross[FIRST,FIRST] (* added 2003 July 20 based on DIRECT12.NB *) composite[FIRST,twist[x_]] := composite[rotate[composite[FIRST,x]],SWAP] (* added 2001 November 27 based on FUNPART1.NB *) composite[FUNPART,CAP,cross[Id,FUNPART]] := composite[CAP,cross[Id,FUNPART]] (* added 2002 September 26 *) composite[FUNPART,CART] := union[cart[cart[V,complement[range[SINGLETON]]],set[0]], composite[CART,id[cart[V,range[SINGLETON]]]]] (* added 2001 November 25 based on FUNP-1.NB *) composite[FUNPART,COMPOSE,cross[Id,FUNPART]] := composite[COMPOSE,cross[FUNPART,FUNPART]] (* added 2000 September 9 based on FNP-2.NB *) composite[FUNPART,FUNPART] := FUNPART (* derived 2004 August 28 in FUNPTHIN.NB *) composite[funpart[x_],id[domain[x_]]] := funpart[x] (* derived 2004 June 19 in REPLACE.NB *) composite[funpart[x_],id[domain[oopart[x_]]]] := oopart[x] (* added 2000 September 9 based on FNP-2.NB *) composite[funpart[x_],id[domain[VERTSECT[x_]]]] := funpart[x] (* derived 2004 June 14 in FU-F-O.NB *) composite[funpart[x_],id[fix[composite[inverse[x_],Di,x_]]]] := 0 (* added 2001 November 25 based on FUNP-1.NB *) composite[FUNPART,id[FUNS]] := id[FUNS] (* derived 2004 August 28 in FUNP-VS.NB *) composite[FUNPART,IMAGE[composite[id[x_],inverse[FIRST]]]] := composite[IMAGE[composite[id[funpart[x]],inverse[FIRST]]],id[P[domain[VERTSECT[x]]]]] (* added 2002 April 6 based on FUNPART.NB *) composite[FUNPART,IMAGE[DUP]] := IMAGE[DUP] (* added 2000 September 9 based on FNP-3.NB *) composite[FUNPART,IMAGE[id[cart[V,V]]]] := FUNPART (* added 2002 April 6 based on FUNP-ROT.NB *) composite[FUNPART,IMAGE[inverse[ASSOC]],FUNPART] := composite[IMAGE[inverse[ASSOC]],FUNPART] (* derived 2004 May 9 in OOPART.NB *) composite[FUNPART,IMAGE[SWAP],FUNPART] := composite[IMAGE[SWAP],OOPART,FUNPART] (* derived 2004 May 9 in OOPART.NB *) composite[FUNPART,IMAGE[SWAP],OOPART] := composite[IMAGE[SWAP],OOPART] (* added 2000 February 5 based on FUNPART.NB *) composite[funpart[x_],inverse[x_]] := id[range[funpart[x]]] (* added 2003 May 11 based on FUNPART.NB *) composite[FUNPART,INVERSE,PLUS] := composite[INVERSE,PLUS] (* added 2003 May 11 based on FUNPART.NB *) composite[FUNPART,LAMBHULL] := LAMBHULL (* derived 2004 May 9 in OOPART.NB *) composite[FUNPART,OOPART] := OOPART (* added 2003 May 11 based on FUNPART.NB *) composite[FUNPART,PLUS] := PLUS (* added 2002 April 6 based on FUNPART.NB *) composite[FUNPART,RCF] := RCF (* derived 2004 August 28 in FUNP-VS.NB *) composite[FUNPART,RESTRICT] := composite[inverse[S],FUNPART] (* added 2001 November 27 based on IM-SS.NB *) composite[FUNPART,SINGLETON] := union[cart[complement[cart[V,V]],set[0]], composite[SINGLETON,id[cart[V,V]]]] (* added 2003 June 15 based on RA-VS.NB *) composite[FUNPART,VS] := VS (* added 2000 December 3 based on GLB-LUB.NB *) composite[GLB[x_],SINGLETON] := intersection[ complement[composite[complement[x],inverse[x]]],inverse[x]] (* added 2000 December 24 based on LT-CO-S *) composite[GREATEST[x_],complement[E]] := composite[id[fix[x]],Di] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[GREATEST[x_],DISJOINT] := composite[id[fix[x]],complement[inverse[E]]] (* added 2000 December 14 based on LT-CO-E.NB *) composite[GREATEST[x_],E] := composite[id[fix[x]],x] (* added 2002 November 16 based on FACTEQDF.NB *) composite[GREATEST[EQUIDIFF],id[cliques[EQUIDIFF]]] := GREATEST[EQUIDIFF] (* added 2002 November 16 based on FACTEQDF.NB *) composite[GREATEST[EQUIDIFF],inverse[GREATEST[EQUIDIFF]]] := EQUIDIFF (* added 2002 November 17 based on LB-UB.NB *) composite[GREATEST[x_],id[P[domain[x_]]]] := GREATEST[x] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[GREATEST[x_],inverse[LB[y_]]] := composite[id[fix[x]],y] (* added 2000 December 24 based on LT-CO-S *) composite[GREATEST[x_],inverse[S]] := composite[inverse[E],IMAGE[id[fix[x]]]] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[GREATEST[x_],inverse[UB[y_]]] := composite[id[fix[x]],inverse[y]] (* added 2000 December 14 based on PAIRSET.NB *) composite[GREATEST[x_],PAIRSET] := union[composite[FIRST,id[composite[inverse[x],id[fix[x]]]]], composite[SECOND,id[composite[id[fix[x]],x]]]] (* added 2000 December 18 based on LB-LB.NB *) composite[GREATEST[Q],id[cliques[Q]]] := GREATEST[Q] (* added 2000 December 18 based on LB-LB.NB *) composite[GREATEST[Q],inverse[GREATEST[Q]]] := Q (* added 2000 December 19 based on GT-S.NB *) composite[GREATEST[x_],S] := composite[id[fix[x]],UB[x]] (* added 2000 November 19 based on GT-CO-SG.NB *) composite[GREATEST[x_],SINGLETON] := id[fix[x]] (* derived 2004 March 9 in IDEMLTGT.NB *) composite[GREATEST[x_],VERTSECT[GREATEST[x_]]] := GREATEST[x] (* derived 2004 May 14 in REPLACE.NB *) composite[GREATEST[x_],VERTSECT[LB[x_]]] := composite[GLB[x],id[domain[VERTSECT[LB[x]]]]] (* added 2001 March 31 based on HF-IM.NB *) composite[HC,CAP] := composite[CAP,cross[HC,HC]] (* derived 2004 December 24 in CARD.NB *) composite[HC,CARD] := CARD (* derived 2005 January 5 in CORE-ON.NB *) composite[HC,CORE[OMEGA]] := CORE[OMEGA] (* added 2001 March 31 based on HF.NB *) composite[HC,HC] := HC (* added 2001 March 31 based on HF.NB *) composite[HC,id[FULL]] := id[FULL] (* added 2003 January 18 based on HC-TC-OM.NB *) composite[HC,id[omega]] := id[omega] (* added 2002 May 5 based on REPLACE.NB *) composite[HC,id[OMEGA]] := id[OMEGA] (* added 2002 May 4 based on HC-OMEGA.NB *) composite[HC,IMAGE[id[x_]]] := composite[IMAGE[id[H[x]]],HC] (* derived 2004 August 14 in ZN-RULES.NB *) composite[HC,IMAGE[ZN]] := IMAGE[ZN] (* added 2001 March 31 based on REMOVED.NB *) composite[HC,POWER] := composite[POWER,HC] (* added 2001 August 1 based on RK-TC.NB *) composite[HC,RANK] := RANK (* added 2001 March 31 based on HF.NB *) composite[HC,TC] := TC (* derived 2004 August 14 in ZN-RULES.NB *) composite[HC,VERTSECT[ZN]] := VERTSECT[ZN] (* derived 2004 October 7 in HULL-I.NB *) composite[HULL[EQV],HULL[SYM]] := HULL[EQV] (* derived 2004 October 7 in HULL-I.NB *) composite[HULL[EQV],HULL[TRV]] := HULL[EQV] (* added 2003 February 21 based on IDEMHULL.NB *) composite[HULL[x_],HULL[x_]] := HULL[x] (* derived 2004 October 7 in HULL-I.NB *) composite[HULL[x_],HULL[intersection[x_,y_]]] := HULL[intersection[x,y]] (* derived 2004 May 4 in CRHL-FIX.NB *) composite[HULL[x_],id[x_]] := id[x] (* added 2002 May 6 based on FIX-HULL.NB *) composite[HULL[x_],id[Aclosure[x_]]] := id[Aclosure[x]] (* added 2001 May 15 based on HULL-1.NB *) composite[HULL[x_],id[complement[image[inverse[S],x_]]]] := 0 (* added 2002 February 2 based on RA-HULL.NB *) composite[HULL[x_],id[domain[VERTSECT[composite[id[x_],S]]]]] := composite[BIGCAP,VERTSECT[composite[id[x],S]]] (* added 2001 May 2 based on COREHULL.NB *) composite[HULL[x_],id[image[inverse[S],x_]]] := HULL[x] (* derived 2004 October 7 in HULL-I.NB *) composite[HULL[intersection[x_,y_]],HULL[x_]] := HULL[intersection[x,y]] (* added 2003 September 24 based on PO-FACTS.NB *) composite[HULL[invar[x_]],CUP] := composite[CUP,cross[HULL[invar[x]],HULL[invar[x]]]] (* derived 2004 June 6 in EQV-TRV.NB *) composite[HULL[invar[x_]],id[P[domain[VERTSECT[x_]]]]] := HULL[invar[x]] (* derived 2004 June 6 in EQV-TRV.NB *) composite[HULL[invar[x_]],id[P[domain[VERTSECT[trv[x_]]]]]] := HULL[invar[x]] (* derived 2004 June 15 in HULIVRSW.NB *) composite[HULL[invar[SWAP]],id[P[cart[V,V]]]] := HULL[SYM] (* added 2003 September 24 based on PO-FACTS.NB *) composite[HULL[RFX],CUP] := composite[CUP,cross[HULL[RFX],HULL[RFX]]] (* added 2003 September 24 based on PO-FACTS.NB *) composite[HULL[subvar[x_]],CUP] := composite[CUP,cross[HULL[subvar[x]],HULL[subvar[x]]]] (* added 2003 September 24 based on PO-FACTS.NB *) composite[HULL[SYM],CUP] := composite[CUP,cross[HULL[SYM],HULL[SYM]]] (* derived 2004 October 7 in HULL-I.NB *) composite[HULL[SYM],HULL[EQV]] := HULL[EQV] (* added 2003 March 5 based on TRV-CART.NB *) composite[HULL[TRV],CART] := CART (* derived 2004 October 7 in HULL-I.NB *) composite[HULL[TRV],HULL[EQV]] := HULL[EQV] (* added 2003 November 6 based on HULL-EQV.NB *) composite[HULL[TRV],HULL[SYM]] := HULL[EQV] (* added 2002 February 13 based on HULL-TRV.NB *) composite[HULL[TRV],id[P[Id]]] := id[P[Id]] (* added 2002 February 13 based on HULL-TRV.NB *) composite[HULL[TRV],id[TRV]] := id[TRV] (* added 2003 March 5 based on TRV-ID.NB *) composite[HULL[TRV],IMAGE[DUP]] := IMAGE[DUP] (* added 2003 March 5 based on TRV-IN.NB *) composite[HULL[TRV],INVERSE] := composite[INVERSE,HULL[TRV]] (* added 2003 October 15 based on ACYCLIC.NB *) composite[HULL[TRV],inverse[IMAGE[id[cart[V,V]]]]] := HULL[TRV] (* added 2002 April 4 based on TRV.NB *) composite[HULL[TRV],inverse[S],IMAGE[id[cart[V,V]]]] := composite[HULL[TRV],inverse[S]] (* added 2003 September 24 based on PO-FACTS.NB *) composite[HULL[Uclosure[x_]],CUP] := composite[CUP,cross[HULL[Uclosure[x]],HULL[Uclosure[x]]]] (* added 2003 July 26 based on HULL-Z.NB *) composite[HULL[Z],COMPOSE,cross[PLUS,PLUS]] := composite[COMPOSE,cross[PLUS,PLUS]] (* added 2003 July 25 based on INTADD.NB *) composite[HULL[Z],COMPOSE,id[cart[Z,Z]]] := INTADD (* added 2003 July 26 based on INTADDSW.NB *) composite[HULL[Z],COMPOSE,SWAP,id[cart[Z,Z]]] := INTADD (* added 2003 July 26 based on HULL-Z.NB *) composite[HULL[Z],id[Z]] := id[Z] (* added 2003 August 7 based on EQDFHULZ.NB *) composite[HULL[Z],SINGLETON] := composite[VERTSECT[EQUIDIFF],id[cart[omega,omega]]] (* added 2003 August 7 based on EQDFHULZ.NB *) composite[HULL[Z],VERTSECT[EQUIDIFF]] := VERTSECT[EQUIDIFF] (* Theorem ID-COCO1 in ID/ID-CO *) composite[Id,x_,y_] := composite[x,y] (* Theorem ID-CO9 in ID/ID-CO *) composite[x_,Id] := composite[Id,x] (* Theorem ADJ-ID in ADJ proved 1999 March 11 *) composite[Id,ADJOIN[x_]] := ADJOIN[x] (* derived 2004 December 2 in PRECISE.NB *) composite[id[x_],ASSOC] := composite[ASSOC,id[rotate[inverse[x]]]] (* added 2002 December 16 based on RS-VS.NB *) composite[id[x_],BIGCUP] := composite[BIGCUP,id[image[inverse[BIGCUP],x]]] (* added 2000 September 4 based on NEW.M *) composite[id[BIJ],INVERSE] := composite[INVERSE,id[BIJ]] (* added 2000 September 4 based on NEW.M *) composite[id[BIJ],inverse[IMAGE[id[cart[V,V]]]]] := id[BIJ] (* added 2000 September 4 based on NEW.M *) composite[id[BIJ],inverse[IMAGE[SWAP]]] := composite[INVERSE,id[BIJ]] (* added 2003 July 16 based on L-R-PAIR.NB *) composite[id[cart[cart[set[x_],set[y_]],V]], inverse[SECOND]] := LEFT[PAIR[x,y]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[cart[cart[V,V],cart[V,V]]],TWIST] := TWIST (* added 2007 based on RIF-IN.NB *) composite[id[cart[x_,cart[V,V]]],inverse[RIF]] := composite[id[cart[x,V]],inverse[RIF]] (* added 2007 based on RIF-IN.NB *) composite[id[cart[cart[V,V],x_]],inverse[RIF]] := composite[id[cart[V,x]],inverse[RIF]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[cart[cart[V,V],V]],inverse[FIRST],inverse[FIRST]] := composite[inverse[FIRST],inverse[FIRST]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[cart[cart[V,V],V]],inverse[FIRST],inverse[SECOND]] := composite[inverse[FIRST],inverse[SECOND]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[cart[cart[V,V],V]],ROT] := ROT (* Theorem X-CO-3 in X3 proved 2000 August 1 *) composite[id[cart[u_,v_]],cross[x_,y_]] := cross[composite[id[u],x],composite[id[v],y]] (* added 2002 November 2 based on PAIR-V.NB *) composite[id[cart[x_,y_]],LeftPairV] := 0 (* added 2002 June 20 based on ITERNORM.NB *) composite[id[cart[omega,V]],inverse[NATADD]] := inverse[NATADD] (* derived 2005 February 18 in MUL-NORM.NB *) composite[id[cart[omega,V]],inverse[NATMUL]] := inverse[NATMUL] (* added 2002 June 5 based on COMMUTE.NB *) composite[id[cart[omega,V]],power[SUCC]] := composite[id[cart[V,omega]],power[SUCC]] (* added 2002 November 2 based on PAIR-V.NB *) composite[id[cart[x_,y_]],RightPairV] := 0 (* added 1999 August 16 based on ASSOC.LOG *) composite[id[cart[y_,set[x_]]],inverse[FIRST]] := composite[RIGHT[x],id[y]] (* added 1999 August 16 based on ASSOC.LOG *) composite[id[cart[set[x_],y_]],inverse[SECOND]] := composite[LEFT[x],id[y]] (* added 2003 July 16 based on L-R-PAIR.NB *) composite[id[cart[V,cart[set[x_],set[y_]]]], inverse[FIRST]] := RIGHT[PAIR[x,y]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[cart[V,cart[V,V]]],ASSOC] := ASSOC (* added 2002 October 22 based on CO-ID.NB *) composite[id[cart[V,cart[V,V]]],inverse[SECOND],inverse[FIRST]] := composite[inverse[SECOND],inverse[FIRST]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[cart[V,cart[V,V]]],inverse[SECOND],inverse[SECOND]] := composite[inverse[SECOND],inverse[SECOND]] (* added 2003 July 16 based on LAMBPAIR.NB *) composite[id[cart[V,intersection[x_,set[y_]]]],inverse[FIRST]] := composite[RIGHT[y],id[image[V,intersection[x,set[y]]]]] (* added 2002 December 19 based on PLUSNORM.NB *) composite[id[cart[V,omega]], intersection[composite[inverse[FIRST],inverse[power[SUCC]]], composite[inverse[SECOND],SECOND]],inverse[FIRST]] := composite[SWAP,inverse[rotate[NATADD]]] (* added 2002 June 20 based on ITERNORM.NB *) composite[id[cart[V,omega]],inverse[NATADD]] := inverse[NATADD] (* added 2003 July 5 based on PLUS-ISO.NB *) composite[id[cart[V,omega]], inverse[rotate[composite[inverse[power[SUCC]],SWAP]]]] := composite[SWAP,inverse[rotate[NATADD]]] (* added 2002 June 12 based on NATADD.NB *) composite[id[cart[V,omega]],power[SUCC]] := composite[SWAP,inverse[rotate[NATADD]]] (* added 1999 October 31 based on ASSOC.1 *) composite[id[cart[V,V]],ASSOC] := ASSOC (* added 2001 December 23 based on DORA-1.NB *) composite[id[cart[V,V]],DORA] := DORA (* added 2002 November 3 based on EQUIDIFF.NB *) composite[id[cart[V,V]],EQUIDIFF] := EQUIDIFF composite[id[cart[V,V]],intersection[x_,composite[inverse[FIRST],y_]]] := intersection[x,composite[inverse[FIRST],y]] composite[id[cart[V,V]],intersection[x_,composite[inverse[SECOND],y_]]] := intersection[x,composite[inverse[SECOND],y]] (* added 1999 December 14 based on ROT-FLIP.NB *) composite[id[cart[V,V]],inverse[ASSOC]] := inverse[ASSOC] composite[id[cart[V,V]],inverse[FIRST]] := inverse[FIRST] (* added 2002 November 3 based on SIMPLIFY.NB *) composite[id[cart[V,V]],inverse[NATADD]] := inverse[NATADD] (* added 2001 February 2 based on ROTATE.NB *) composite[id[cart[V,V]],inverse[RIF]] := inverse[RIF] (* added 1999 October 12 based on ROT.5 *) composite[id[cart[V,V]],inverse[ROT]] := inverse[ROT] (* added 1999 October 17 based on 1999\OCT\15\WORK\SESSION.1 *) composite[id[cart[V,V]],inverse[rotate[x_]]] := inverse[rotate[x]] composite[id[cart[V,V]],inverse[SECOND]] := inverse[SECOND] (* added 2002 November 9 based on TW-I-FL.NB *) composite[id[cart[V,V]],inverse[twist[x_]]] := inverse[twist[x]] (* added 2002 June 4 based on PWR-COID.NB *) composite[id[cart[V,V]],iterate[cross[x_,y_],Id]] := iterate[cross[x,y],Id] (* added 1999 November 4 based on 1999/NOV/03/WORK/FLIP-ROT.1 *) composite[id[cart[V,V]],LEFT[x_]] := LEFT[x] (* added 2002 June 4 based on PWR-COID.NB *) composite[id[cart[V,V]],power[x_]] := power[x] (* added 2002 October 22 based on CO-ID.NB *) composite[id[cart[V,V]],RIF] := RIF (* added 1999 November 4 based on 1999/NOV/03/WORK/FLIP-ROT.1 *) composite[id[cart[V,V]],RIGHT[x_]] := RIGHT[x] (* added 1999 October 12 based on ROT.5 *) composite[id[cart[V,V]],ROT] := ROT (* Theorem SW-CO-5 in SW3 *) composite[id[cart[V,V]],SWAP] := SWAP (* added 1999 October 10 based on TWIST.2 *) composite[id[cart[V,V]],TWIST] := TWIST (* added 2001 January 20 based on TWIST-2.NB *) composite[id[cart[V,V]],twist[x_]] := twist[x] (* added 2002 November 16 based on FACTEQDF.NB *) composite[id[cliques[EQUIDIFF]],E] := inverse[GREATEST[EQUIDIFF]] (* added 2002 November 16 based on FACTEQDF.NB *) composite[id[cliques[EQUIDIFF]],inverse[GREATEST[EQUIDIFF]]] := inverse[GREATEST[EQUIDIFF]] (* added 2000 December 9 based on CLIQUES.NB *) composite[id[cliques[x_]],S,id[complement[cliques[x_]]]] := 0 (* added 2003 July 4 based on COARSER.NB *) composite[Id,COARSER] := COARSER (* added 2001 May 18 based on COMMUTE2.NB *) composite[Id,COMMUTE] := COMMUTE (* discovered 1998 October 17 *) composite[id[complement[cart[u_,v_]]],cross[x_,y_]] := union[cross[x,composite[id[complement[v]],y]],cross[composite[id[complement[u]],x],y]] (* added 2002 November 3 based on EQUIDIFF.NB *) composite[id[complement[cart[V,V]]],EQUIDIFF] := 0 composite[id[complement[cart[V,V]]],inverse[FIRST]] := 0 composite[id[complement[cart[V,V]]],inverse[SECOND]] := 0 (* added 2002 June 6 based on POWERADD.NB *) composite[id[complement[cart[V,V]]],power[x_]] := 0 (* added 2003 June 23 based on DI-RULES.NB *) composite[id[complement[x_]],Di,id[x_]] := cart[x,complement[x]] composite[id[complement[domain[x_]]],inverse[x_]] := 0 (* Theorem IDX-C-DO in IDX2 proved 1998 November 19 *) composite[x_,id[complement[domain[x_]]]] := 0 (* added 2002 November 2 based on PAIR-V.NB *) composite[id[complement[image[V,x_]]],y_,id[image[V,x_]]] := 0 (* added 2003 August 8 based on REPLACE.NB *) composite[id[complement[image[V,intersection[x_,complement[y_]]]]],inverse[plus[x_]],plus[y_]] := plus[natsub[y,x]] (* added 2002 July 30 based on IMIN-ADD.NB *) composite[id[complement[omega]],image[inverse[NATADD],x_]] := 0 (* added 2002 October 24 based on SUBVAR.NB *) composite[id[complement[P[complement[set[0]]]]],SUBVAR] := SUBVAR (* Theorem IDX-C-RA in IDX2 proved 1998 November 19 *) composite[id[complement[range[x_]]],x_] := 0 (* added 2003 July 25 based on INTADD.NB *) composite[id[complement[set[0]]],COMPOSE,id[cart[Z,Z]]] := composite[COMPOSE,id[cart[Z,Z]]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[complement[set[0]]],E] := E (* derived 2005 April 23 in FACT-S.NB *) composite[id[complement[set[0]]],FACTORIAL] := FACTORIAL (* added 1999 August 11 based on session SG-LOG.5 *) composite[id[complement[set[0]]],IMAGE[SINGLETON]] := composite[IMAGE[SINGLETON],id[complement[set[0]]]] (* added 2002 December 23 based on REPLACE.NB *) composite[id[complement[set[0]]],INVERSE,PLUS] := composite[INVERSE,PLUS] (* added 2002 October 22 based on CO-ID.NB *) composite[id[complement[set[0]]],K] := K (* added 2002 October 22 based on CO-ID.NB *) composite[id[complement[set[0]]],PS] := PS composite[id[complement[set[0]]],SINGLETON] := SINGLETON (* added 2002 May 24 based on ADJOIN.NB *) composite[id[complement[set[0]]],SUCC] := SUCC (* derived 2004 November 26 in XSCP-MAP.NB *) composite[id[complement[set[0]]],XS] := composite[XS,id[SELECT]] (* derived 2004 September 18 in WF-WRAP.NB *) composite[id[complement[U[subvar[x_]]]],x_] := wf[x] composite[id[composite[Id,x_]],inverse[FIRST]] := composite[id[x],inverse[FIRST]] composite[id[composite[Id,x_]],inverse[SECOND]] := composite[id[x],inverse[SECOND]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[id[composite[id[omega],x_,id[omega]]],EQUIDIFF] := composite[id[x],EQUIDIFF] (* added 2001 January 20 based on COMBINAT.NB *) composite[id[composite[inverse[FIRST],FIRST]], cross[inverse[SECOND],inverse[SECOND]]] := composite[cross[Id,SWAP],inverse[RIF]] (* added 2002 December 28 based on REPLACE.NB *) composite[id[composite[inverse[FIRST],SECOND]], cross[inverse[FIRST],inverse[SECOND]]] := composite[cross[SWAP,SWAP],inverse[RIF]] (* added 2001 January 20 based on RIF-2.NB *) composite[id[composite[inverse[SECOND],FIRST]], cross[inverse[SECOND],inverse[FIRST]]] := inverse[RIF] (* added 2002 October 22 based on CO-ID.NB *) composite[id[composite[SECOND,x_,inverse[SECOND]]],twist[x_]] := twist[x] (* added 2004 April 17 based on CORE.NB *) composite[Id,core[z_,cart[x_,y_]]] := core[z,cart[x,y]] (* added 1999 October 9 based on CROSS.2 *) composite[Id,CROSS] := CROSS (* Theorem X-ID-CO in X1 proved 1998 August 4 *) composite[Id,cross[x_,y_]] := cross[x,y] (* Theorem DI-ID in DI added 1998 July 2 *) composite[Id,Di] := Di (* added 2003 June 23 based on DI-RULES.NB *) composite[id[x_],Di,id[complement[x_]]] := cart[complement[x],x] (* added 1999 October 26 based on DIF-LOG.1 *) composite[Id,DIF] := DIF (* Theorem DJT-ID in DJT *) composite[Id,DISJOINT] := DISJOINT (* added 2002 August 30 based on DIVIDES.NB *) composite[Id,DIV] := DIV (* Theorem IDX-CO4B in IDX3 *) composite[x_,id[domain[x_]]] := composite[Id,x] (* Theorem FUNP-RS2 in FU3 proved 2000 February 5 *) composite[x_,id[domain[funpart[x_]]]] := funpart[x] (* added 2002 October 22 based on CO-ID.NB *) composite[id[domain[x_]],inverse[x_]] := inverse[x] (* added 2002 November 17 based on LB-UB.NB *) composite[id[domain[x_]],LEAST[x_]] := LEAST[x] (* derived 2004 December 11 in RESTRICT.NB *) composite[x_,id[domain[oopart[x_]]]] := oopart[x] (* derived 2004 May 14 in THINPART.NB *) composite[x_,id[domain[VERTSECT[x_]]]] := thinpart[x] (* derived 2004 September 30 in EQV-THNP.NB *) composite[id[domain[VERTSECT[eqv[x_]]]],eqv[x_]] := thinpart[eqv[x]] (* derived 2004 May 14 in REPLACE.NB *) composite[id[domain[VERTSECT[x_]]],inverse[x_]] := inverse[thinpart[x]] (* added 2003 June 17 based on THINRULE.NB *) composite[id[domain[VERTSECT[x_]]],LB[x_]] := composite[inverse[VERTSECT[x]],S] (* derived 2005 January 26 in THPT-TRV.NB *) composite[id[domain[VERTSECT[trv[x_]]]],thinpart[trv[x_]]] := thinpart[trv[x]] (* Theorem DUP-ID in DUP1 proved 1998 November 5 *) composite[Id,DUP] := DUP (* Theorem DUP-FP3 in DUP proved 1998 November 21 *) composite[id[x_],DUP] := composite[DUP,id[fix[x]]] (* Theorem ID-CO4-E in ID/ID-CO *) composite[Id,E] := E (* added 2002 November 3 based on EQUIDIFF.NB *) composite[Id,EQUIDIFF] := EQUIDIFF (* derived 2004 May 12 in EQV-GEN.NB *) composite[Id,eqv[x_]] := eqv[x] (* derived 2003 December 22 in LOW-CARD.NB *) composite[id[FINITE],inverse[CARD]] := composite[inverse[CARD],id[omega]] (* derived 2004 March 14 in WF-WO.NB *) composite[id[FINITE],PS,id[FINITE]] := composite[id[FINITE],PS] (* added 2003 December 9 based on ITER-K.NB *) composite[id[FINITE],Q] := composite[inverse[CARD],id[omega],CARD] (* Theorem 1ST-ID in 1ST *) composite[Id,FIRST] := FIRST (* Corollary 1ST-IDX in 1ST proved 1998 November 21 *) composite[id[x_],FIRST] := composite[FIRST,id[cart[x,V]]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[fix[ACLOSURE]],ACLOSURE] := ACLOSURE (* added 2002 October 22 based on CO-ID.NB *) composite[id[fix[CARD]],CARD] := CARD (* added 2001 December 17 based on Q-HAT.NB *) composite[id[fix[CARD]],inverse[CARD]] := id[fix[CARD]] (* added 2001 December 17 based on Q-HAT.NB *) composite[id[fix[CARD]],Q] := CARD (* added 1999 December 23 based on ASSOCDUP.NB *) composite[Id,fix[composite[x_,CAP]]] := fix[composite[x,CAP]] (* derived 2004 November 26 in XS-CP.NB *) composite[Id,fix[composite[x_,CART]]] := fix[composite[x,CART]] (* added 2002 December 26 based on REPLACE.NB *) composite[Id,fix[composite[cross[x_,y_],z_]]] := fix[composite[cross[x,y],z]] (* added 2002 November 10 based on FIX-SW-X.NB *) composite[Id,fix[composite[x_,cross[y_,z_]]]] := fix[composite[x,cross[y,z]]] (* added 1999 December 23 based on ASSOCDUP.NB *) composite[Id,fix[composite[x_,CUP]]] := fix[composite[x,CUP]] (* added 1999 December 23 based on ASSOCDUP.NB *) composite[Id,fix[composite[x_,DIF]]] := fix[composite[x,DIF]] composite[Id,fix[composite[x_,FIRST]]] := fix[composite[x,FIRST]] (* added 1999 September 28 based on TRI-FP.LOG *) composite[Id,fix[composite[z_,intersection[composite[x_,FIRST], composite[y_,SECOND]]]]] := fix[composite[z, intersection[composite[x,FIRST],composite[y,SECOND]]]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[fix[composite[x_,y_]]],intersection[x_,inverse[y_]]] := intersection[x,inverse[y]] (* derived 2004 June 14 in FU-F-O.NB *) composite[x_,id[fix[composite[inverse[x_],Di,x_]]]] := intersection[x,composite[Di,x]] composite[Id,fix[composite[inverse[FIRST],x_]]] := fix[composite[inverse[FIRST],x]] composite[Id,fix[composite[inverse[SECOND],x_]]] := fix[composite[inverse[SECOND],x]] (* added 2000 December 3 based on IN-E.NB *) composite[Id,fix[composite[x_,PAIRSET]]] := fix[composite[x,PAIRSET]] composite[Id,fix[composite[x_,SECOND]]] := fix[composite[x,SECOND]] (* added 1998 August 11 *) composite[Id,fix[composite[SWAP,x_]]] := fix[composite[SWAP,x]] (* added 1998 August 11 *) composite[Id,fix[composite[x_,SWAP]]] := fix[composite[x,SWAP]] (* added 1999 December 23 based on ASSOCDUP.NB *) composite[Id,fix[composite[x_,SYMDIF]]] := fix[composite[x,SYMDIF]] (* derived 2004 December 16 in VS-EQV.NB *) composite[id[fix[eqv[x_]]],inverse[VERTSECT[eqv[x_]]],VERTSECT[eqv[x_]],id[fix[eqv[x_]]]] := thinpart[eqv[x]] (* derived 2004 December 16 in RFX-CORE.NB *) composite[id[fix[x_]],x_,id[fix[x_]]] := rfx[x] (* added 2002 October 22 based on CO-ID.NB *) composite[id[fix[x_]],GREATEST[x_]] := GREATEST[x] (* added 2000 January 11 based on HER-FIX1.NB *) composite[id[fix[IMAGE[inverse[S]]]],inverse[IMAGE[inverse[S]]]] := id[fix[IMAGE[inverse[S]]]] (* derived 2005 April 7 in WF-TO.NB *) composite[id[fix[x_]],intersection[Di,complement[inverse[x_]]]] := composite[id[fix[x]],complement[inverse[x]]] (* derived 2004 December 17 in RFX.NB *) composite[id[fix[x_]],inverse[x_],id[fix[x_]]] := inverse[rfx[x]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[fix[x_]],LEAST[x_]] := LEAST[x] (* derived 2004 December 16 in RFX-CORE.NB *) composite[id[fix[trv[x_]]],eqv[x_]] := eqv[x] (* derived 2004 December 17 in RFXTRV-C.NB *) composite[id[fix[trv[x_]]],inverse[VERTSECT[rfx[trv[x_]]]],inverse[S], VERTSECT[rfx[trv[x_]]],id[fix[trv[x_]]]] := thinpart[rfx[trv[x]]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[fix[UCLOSURE]],UCLOSURE] := UCLOSURE (* derived 2005 January 5 in CORE-ON.NB *) composite[id[FULL],CORE[OMEGA]] := CORE[OMEGA] (* added 2001 March 31 based on HF.NB *) composite[id[FULL],HC] := HC (* added 2002 April 27 based on FULSUC-F.NB *) composite[id[FULL],intersection[E,complement[S]]] := 0 (* added 2000 January 8 based on REMOVED.NB *) composite[id[FULL],intersection[S,composite[complement[S],TC]]] := 0 (* added 2003 June 22 based on FP-HC.NB *) composite[id[FULL],inverse[S],HC] := composite[id[FULL],inverse[S]] (* derived 2005 February 17 in NAT-ACL.NB *) composite[id[FULL],inverse[S],id[omega]] := composite[id[omega],inverse[S],id[omega]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[FULL],TC] := TC (* added 2000 September 8 based on FUNPART.LOG *) composite[Id,FUNPART] := FUNPART (* corollary of Theorem FUNPART3 in FU1 *) composite[Id,funpart[x_]] := funpart[x] (* derived 2004 June 16 in X1303.NB *) composite[id[y_],funpart[x_]] := composite[funpart[x],id[image[inverse[funpart[x]],y]]] (* added 2002 September 25 based on CONSTFNS.NB *) composite[id[FUNS],CART,cross[Id,SINGLETON]] := composite[CART,cross[Id,SINGLETON]] (* added 2000 September 9 based on FNP-2.NB *) composite[id[FUNS],FUNPART] := FUNPART (* derived 2004 November 16 in XS.NB *) composite[id[FUNS],intersection[composite[inverse[IMAGE[FIRST]],IMAGE[FIRST]],inverse[S]]] := composite[inverse[E],XS] (* added 2001 April 30 based on OP.NB *) composite[id[FUNS],intersection[composite[inverse[IMAGE[SECOND]],inverse[S]],inverse[IMAGE[FIRST]]]] := composite[inverse[E],MAP,DUP] (* added 2001 April 28 based on MAP2.NB *) composite[id[FUNS],intersection[composite[inverse[S],CART], composite[inverse[IMAGE[FIRST]],FIRST]]] := composite[inverse[E],MAP] (* added 2001 December 23 based on MAP-1.NB *) composite[id[FUNS],inverse[DORA],cross[Id,inverse[S]]] := composite[inverse[E],MAP] (* added 2000 September 4 based on NEW-Q.NB *) composite[id[FUNS],INVERSE,id[FUNS]] := composite[INVERSE,id[BIJ]] (* derived 2004 December 19 in FUNS-EQV.NB *) composite[id[FUNS],inverse[IMAGE[SWAP]]] := composite[id[FUNS],INVERSE] (* added 2003 October 8 based on FS-CUP.NB *) composite[id[FUNS],LB[LB[complement[cross[Id,Di]]]],id[FUNS]] := image[inverse[CUP],FUNS] (* derived 2004 January 4 in VS-IMIN.NB *) composite[id[FUNS],VS] := VS (* added 2000 November 13 based on MAX.NB *) composite[Id,GLB[x_]] := GLB[x] (* added 2000 November 13 based on MAX.NB *) composite[Id,GREATEST[x_]] := GREATEST[x] (* added 2000 December 29 based on GT-RS.NB *) composite[id[y_],GREATEST[x_],id[P[y_]]] := composite[GREATEST[x],id[P[y]]] (* Theorem ID-CO8 in ID/ID-CO *) composite[Id,Id] := Id composite[Id,id[x_]] := id[x] (* Theorem IDX-CO-I in IDX2 *) composite[id[x_],id[y_]] := id[intersection[x,y]] (* added 1998 July 2 *) composite[id[Id],Di,DUP] := composite[DUP,Di] composite[id[Id],inverse[FIRST]] := DUP composite[id[id[x_]],inverse[FIRST]] := composite[DUP,id[x]] composite[id[Id],inverse[SECOND]] := DUP composite[id[id[x_]],inverse[SECOND]] := composite[DUP,id[x]] (* see IMG-1DEM in IMG1.DEM *) composite[Id,IMAGE[x_]] := IMAGE[x] (* added 2002 December 16 based on RS-VS.NB *) composite[id[x_],IMAGE[y_]] := composite[IMAGE[y],id[image[inverse[IMAGE[y]],x]]] (* based on 1999 December 11 notebook CART-DUP.NB *) composite[id[image[CART,Id]],inverse[IMAGE[inverse[DUP]]]] := composite[CART,DUP] (* added 2002 October 22 based on CO-ID.NB *) composite[id[image[x_,cart[V,V]]],x_,SWAP] := composite[x,SWAP] (* added 2002 October 22 based on CO-ID.NB *) composite[id[image[x_,domain[y_]]],x_,inverse[y_]] := composite[x,inverse[y]] (* added 2002 February 5 based on DORA.NB *) composite[Id,image[DORA,x_]] := image[DORA,x] (* added 1999 October 8 based on CAP-LOG.2 *) composite[Id,image[inverse[CAP],x_]] := image[inverse[CAP],x] (* added 1999 October 5 based on CARTINIM.LOG *) composite[Id,image[inverse[CART],x_]] := image[inverse[CART],x] (* added 1999 December 4 based on COMPOSE.NB *) composite[Id,image[inverse[COMPOSE],x_]] := image[inverse[COMPOSE],x] (* added 1999 December 21 based on CROSS.NB *) composite[Id,image[inverse[CROSS],x_]] := image[inverse[CROSS],x] (* added 1999 November 17 based on NEWRULES.1 *) composite[Id,image[inverse[CUP],x_]] := image[inverse[CUP],x] (* added 1999 November 17 based on NEWRULES.1 *) composite[Id,image[inverse[DIF],x_]] := image[inverse[DIF],x] (* added 2002 October 22 based on CO-ID.NB *) composite[x_,y_,id[image[inverse[y_],domain[x_]]]] := composite[x,y] (* added 2002 October 22 based on CO-ID.NB *) composite[id[image[inverse[y_],domain[x_]]],inverse[y_],inverse[x_]] := composite[inverse[y],inverse[x]] (* based on 1999 December 10 notebook FUNPART.NB *) composite[Id,image[inverse[IMG],x_]] := image[inverse[IMG],x] (* added 2003 August 12 based on RO-ZADD.NB *) composite[Id,image[inverse[INTADD],x_]] := image[inverse[INTADD],x] (* added 2001 September 4 based on BIN-IMIN.NB *) composite[Id,image[inverse[MAP],x_]] := image[inverse[MAP],x] (* added 2002 June 18 based on NATSUB.NB *) composite[Id,image[inverse[NATADD],x_]] := image[inverse[NATADD],x] (* derived 2005 May 17 based on NATMOD.NB *) composite[Id,image[inverse[NATMOD],x_]] := image[inverse[NATMOD],x] (* added 2002 September 3 based on DIV-ONE.NB *) composite[Id,image[inverse[NATMUL],x_]] := image[inverse[NATMUL],x] (* added 2000 December 3 based on DO-LT.NB *) composite[Id,image[inverse[PAIRSET],x_]] := image[inverse[PAIRSET],x] (* added 2002 October 22 based on CO-ID.NB *) composite[id[image[x_,range[y_]]],x_,y_] := composite[x,y] (* derived 2003 December 30 in T2.NB *) composite[id[image[RC[omega],FINITE]],DISJOINT,id[image[RC[omega],FINITE]]] := 0 (* added 1999 December 4 based on 1999/DEC/03/CURRY-SD.NB *) composite[Id,image[inverse[SYMDIF],x_]] := image[inverse[SYMDIF],x] (* From ADJOIN.LOG session 1999 April 15 *) composite[id[image[S,set[x_]]],intersection[S, composite[inverse[IMAGE[id[complement[x_]]]],inverse[S]]]] := ADJOIN[x] (* added 2002 June 4 based on PWR-COID.NB *) composite[Id,image[power[x_],y_]] := image[power[x],y] (* added 2002 October 22 based on CO-ID.NB *) composite[id[image[S,set[x_]]],ADJOIN[x_]] := ADJOIN[x] (* added 1999 November 21 based on 1999/NOV/20/CUT-ADJ.NB *) composite[id[image[S,set[x_]]],inverse[IMAGE[id[complement[x_]]]]] := composite[ADJOIN[x],id[P[complement[x]]]] (* added 2003 August 8 based on REPLACE.NB *) composite[id[image[S,set[x_]]],plus[x_]] := plus[x] (* derived 2004 December 16 in VS-EQV.NB *) composite[id[IMAGE[SWAP]],inverse[FIRST],VS] := composite[id[INVERSE],inverse[FIRST],VS] composite[x_,id[image[V,x_]]] := composite[Id,x] composite[x_,y_,id[image[V,x_]]] := composite[x,y] (* added 1999 December 19 to prevent looping *) composite[id[image[V,x_]],id[image[V,y_]]] := id[intersection[image[V,x],image[V,y]]] (* added 2002 December 23 based on REPLACE.NB *) composite[id[image[V,intersection[omega,set[x_]]]], y___,NATMUL,LEFT[x_]] := composite[y,NATMUL,LEFT[x]] (* added 2000 September 10 based on VS.NB *) composite[id[image[V,set[x_]]],RC[x_]] := RC[x] (* added 2001 December 17 based on Q-HAT.NB *) composite[id[image[Q,OMEGA]],CARD] := CARD (* added 2001 December 17 based on Q-HAT.NB *) composite[id[image[Q,OMEGA]],Q] := composite[inverse[CARD],CARD] (* added 1999 December 19 based on ID-IMV.NB removed 1999 December 23 because of looping in TRYTHIS.NB composite[id[image[V,x_]],y_] := composite[y,id[image[V,x]]] *) (* derived 2004 April 25 in ADJOIN.NB *) composite[id[image[V,x_]],ADJOIN[A[x_]]] := ADJOIN[A[x]] (* added 2002 November 2 based on PAIR-V.NB *) composite[id[image[V,x_]],y_,id[complement[image[V,x_]]]] := 0 (* added 2002 July 2 based on ITER-IMV.NB *) composite[id[image[V,w_]],x_,id[image[V,w_]]] := composite[id[image[V,w]],x] (* added 2003 August 8 based on REPLACE.NB *) composite[id[image[V,intersection[omega,set[x_]]]],y___,inverse[plus[x_]]] := composite[y,inverse[plus[x]]] (* added 2002 August 25 based on LEFT-MUL.NB *) composite[id[image[V,intersection[omega,set[x_]]]], iterate[iterate[SUCC,set[x_]],set[0]]] := composite[NATMUL,LEFT[x]] (* added 2003 August 8 based on REPLACE.NB *) composite[id[image[V,intersection[omega,set[x_]]]],iterate[SUCC,set[x_]]] := plus[x] (* added 2002 August 25 based on LEFT-MUL.NB *) composite[id[image[V,intersection[omega,set[x_]]]],NATMUL,LEFT[x_]] := composite[NATMUL,LEFT[x]] (* added 2003 August 8 based on REPLACE.NB *) composite[id[image[V,intersection[omega,set[x_]]]],y___,plus[x_]] := composite[y,plus[x]] (* added 2003 September 11 based on ID-IMV.NB *) composite[id[image[V,set[x_]]],y___,ADJOIN[x_]] := composite[y,ADJOIN[x]] (* added 2003 August 12 based on RO-ZADD.NB *) composite[id[image[V,set[x_]]],y___,image[inverse[INTADD],set[x_]]] := composite[y,image[inverse[INTADD],set[x]]] (* added 2003 August 8 based on REPLACE.NB *) composite[id[image[V,set[x_]]],y___,inverse[plus[x_]]] := composite[y,inverse[plus[x]]] (* added 2002 July 4 based on NATADD.NB *) composite[id[image[V,set[y_]]],iterate[x_,set[y_]]] := iterate[x,set[y]] (* added 2002 August 25 based on LEFT-MUL.NB *) composite[id[image[V,set[x_]]],y___,LEFT[x_]] := composite[y,LEFT[x]] (* added 2003 August 8 based on REPLACE.NB *) composite[id[image[V,set[x_]]],y___,plus[x_]] := composite[y,plus[x]] (* added 2003 September 11 based on ID-IMV.NB *) composite[id[image[V,set[x_]]],y___,RC[x_]] := composite[y,RC[x]] (* added 2003 September 11 based on ID-IMV.NB *) composite[id[image[V,set[x_]]],y___,RC[U[x_]]] := composite[y,RC[U[x]]] (* added 2002 August 25 based on LEFT-MUL.NB *) composite[id[image[V,set[x_]]],y___,RIGHT[x_]] := composite[y,RIGHT[x]] (* added 2001 July 12 based on RANK-1.NB *) composite[Id,intersection[complement[composite[complement[E], complement[composite[complement[inverse[E]],x_]]]], complement[composite[complement[inverse[S]],x_]]]] := VERTSECT[complement[composite[complement[inverse[E]],x]]] (* derived 2004 June 12 based on X1196.NB *) composite[id[x_],intersection[y_,complement[composite[Di,id[x_],y_]]]] := funpart[composite[id[x],y]] composite[x_,id[intersection[complement[domain[x_]],y_]]] := 0 (* derived 2004 June 14 in FU-F-O.NB *) composite[Id,intersection[x_,complement[funpart[x_]]]] := intersection[x,composite[Di,x]] (* added 2002 July 30 based on ADD-INV.NB *) composite[id[intersection[x_,complement[omega]]],image[inverse[NATADD],y_]] := 0 (* added 2002 May 27 based on ITERSUCC.NB *) composite[id[intersection[x_,complement[set[0]]]],E] := composite[id[x],E] (* derived 2004 September 18 in WF-WRAP.NB *) composite[id[intersection[x_,complement[U[subvar[y_]]]]],y_] := composite[id[x],wf[y]] composite[x_,id[intersection[domain[x_],y_]]] := composite[x,id[y]] (* derived 2004 August 10 in RS-3.NB *) composite[x_,id[intersection[y_,domain[VERTSECT[x_]]]]] := composite[thinpart[x],id[y]] (* added 2003 October 21 based on MONOPLUS.NB *) composite[id[intersection[image[S,set[x_]], image[V,intersection[omega,set[x_]]]]],plus[x_]] := plus[x] (* added 1999 December 19 based on ID-IMV.NB removed 1999 December 23 because of looping in TRYTHIS.NB composite[id[intersection[x_,image[V,y_]]],z_] := composite[id[x],z,id[image[V,y]]] *) (* derived 2004 April 26 in ANTITONE.NB *) composite[id[intersection[y_,image[V,set[x_]]]],z___,RC[x_]] := composite[id[y],z,RC[x]] composite[x_,id[intersection[image[V,x_],y_]]] := composite[x,id[y]] composite[x_,y_,id[intersection[image[V,x_],z_]]] := composite[x,y,id[z]] (* added 2002 July 4 based on NATADD.NB *) composite[id[intersection[w_,image[V,set[y_]]]], iterate[x_,set[y_]]] := composite[id[w],iterate[x,set[y]]] (* added 2002 February 3 based on RCF.NB *) composite[id[intersection[image[V,set[x_]],P[x_]]], intersection[DISJOINT,composite[S,RC[x_]]]] := RC[x] (* revised 2003 June 1 based on REPLACE.NB *) composite[id[intersection[OMEGA,complement[fix[BIGCUP]]]], inverse[IMAGE[inverse[SUCC]]]] := composite[id[OMEGA],SUCC] (* added 2003 August 8 based on REPLACE.NB *) composite[id[intersection[omega,x_]],iterate[SUCC,set[y_]]] := composite[id[x],plus[y]] (* added 2002 September 15 based on NATADDEZ.NB *) composite[id[intersection[omega,x_]],NATADD] := composite[id[x],NATADD] (* added 2003 August 8 based on REPLACE.NB *) composite[id[intersection[omega,x_]],plus[y_]] := composite[id[x],plus[y]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[intersection[y_,P[x_]]],RC[x_]] := composite[id[y],RC[x]] (* derived 2004 April 25 in IDEMPOT.NB *) composite[id[intersection[y_,P[x_]]],CORE[z_],RC[x_]] := composite[id[y],CORE[z],RC[x]] composite[id[intersection[x_,range[z_]]],z_] := composite[id[x],z] (* added 2002 April 10 based on INVAR.NB *) composite[Id,INVAR] := INVAR (* Theorem ID-COIN1 in ID/ID-CO *) composite[Id,inverse[x_]] := inverse[x] (* added 2001 January 27 based on BETTER.NB *) composite[id[inverse[FIRST]],cross[Id,inverse[SECOND]]] := composite[id[inverse[FIRST]],inverse[SECOND]] (* derived 2004 December 16 in VS-EQV.NB *) composite[id[inverse[IMAGE[SWAP]]],inverse[SECOND],VS] := composite[id[INVERSE],inverse[SECOND],VS] (* added 2002 December 27 based on TWIST.NB *) composite[id[x_],inverse[ROT]] := composite[inverse[ROT],id[rotate[x]]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[id[inverse[S]],EQUIDIFF] := composite[EQUIDIFF,id[inverse[S]]] (* added 2002 April 15 based on ITERATE.NB *) composite[Id,iterate[x_,y_]] := iterate[x,y] (* added 2000 May 14 based on K-2.NB *) composite[Id,K] := K (* added 2000 November 7 based on LB-2.NB *) composite[Id,LB[x_]] := LB[x] (* added 2000 November 13 based on MAX.NB *) composite[Id,LEAST[x_]] := LEAST[x] (* added 2000 December 28 based on LT-DO-RS.NB *) composite[id[y_],LEAST[x_],id[P[y_]]] := composite[LEAST[x],id[P[y]]] (* added 1999 August 16 on basis of session NORMAL.3 *) composite[Id,LEFT[x_]] := LEFT[x] (* added 1999 December 6 based on CURRY.NB *) composite[id[x_],LEFT[y_]] := composite[LEFT[y],id[image[x,set[y]]]] (* rules added 1998 January 22 *) composite[Id,LeftPairV] := LeftPairV (* added 2000 November 13 based on MAX.NB *) composite[Id,LUB[x_]] := LUB[x] (* added 2001 April 27 based on MAP2.NB *) composite[Id,MAP] := MAP (* added 2000 November 13 based on MAX.NB *) composite[Id,MAXIMAL[x_]] := MAXIMAL[x] (* added 2000 November 13 based on MAX.NB *) composite[Id,MINIMAL[x_]] := MINIMAL[x] (* added 2002 June 12 based on NATADD.NB *) composite[Id,NATADD] := NATADD (* derived 2005 February 16 in BC-OM.NB *) composite[id[omega],ADJOIN[set[0]],id[omega]] := composite[ADJOIN[set[0]],id[omega]] (* added 2001 December 14 based on CARD-Q.NB *) composite[id[OMEGA],CARD] := CARD (* added 2003 December 9 based on ITER-K.NB *) composite[id[omega],CARD,inverse[K]] := composite[inverse[SUCC],id[omega],CARD] (* added 2003 December 9 based on ITER-K.NB *) composite[id[omega],CARD,K] := composite[id[omega],SUCC,CARD] (* added 2002 November 13 based on NATMUL.NB *) composite[id[omega],complement[composite[complement[ composite[rotate[composite[inverse[power[SUCC]],SWAP]],RIF, cross[SECOND,composite[SWAP,SECOND]], id[composite[id[cart[omega,V]],inverse[FIRST],SUCC,FIRST]], cross[inverse[E],Id]]],id[composite[inverse[E], IMAGE[id[complement[cart[set[0],Id]]]]]], inverse[FIRST]]],inverse[IMAGE[cross[Id,inverse[LEFT[0]]]]], inverse[IMAGE[SWAP]],E] := rotate[NATMUL] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],complement[E],id[omega]] := composite[id[omega],inverse[S],id[omega]] (* added 2002 June 2 based on ON-C-E-S.NB *) composite[id[OMEGA],complement[E],id[OMEGA]] := composite[id[OMEGA],inverse[S],id[OMEGA]] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],complement[inverse[E]],id[omega]] := composite[id[omega],S,id[omega]] (* added 2002 June 2 based on ON-C-E-S.NB *) composite[id[OMEGA],complement[inverse[E]],id[OMEGA]] := composite[id[OMEGA],S,id[OMEGA]] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],complement[inverse[S]],id[omega]] := composite[id[omega],E] (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],complement[inverse[S]],id[OMEGA]] := composite[id[OMEGA],E] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],complement[S],id[omega]] := composite[inverse[E],id[omega]] (* added 2002 June 2 based on ON-C-E-S.NB *) composite[id[OMEGA],complement[S],id[OMEGA]] := composite[inverse[E],id[OMEGA]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[omega],DIV] := DIV (* derived 2005 April 16 in FACTRL.NB *) composite[id[omega],FACTORIAL] := FACTORIAL (* added 2002 July 30 based on IMIN-ADD.NB *) composite[id[omega],image[inverse[NATADD],x_]] := image[inverse[NATADD],x] (* added 2002 August 24 based on SUCCITER.NB *) composite[id[omega],image[power[SUCC],x_]] := composite[NATADD,id[cart[V,x]],inverse[FIRST]] (* derived 2005 February 18 in MUL-NORM.NB *) composite[id[omega],intersection[complement[composite[SECOND,id[cart[V,omega]], intersection[composite[inverse[FIRST],SECOND],composite[inverse[NATMUL],complement[S],FIRST]]]], complement[rotate[composite[complement[S],NATMUL]]]],id[cart[V,omega]]] := rotate[NATMUL] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],intersection[E,complement[inverse[E]]]] := composite[id[omega],E] (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],intersection[E,complement[inverse[E]]]] := composite[id[OMEGA],E] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],intersection[E,complement[inverse[S]]]] := composite[id[omega],E] (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],intersection[E,complement[inverse[S]]]] := composite[id[OMEGA],E] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],intersection[E,complement[S]]] := 0 (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],intersection[E,complement[S]]] := 0 (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],intersection[E,x_],id[omega]] := composite[id[omega],intersection[E,x]] (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],intersection[E,x_],id[OMEGA]] := composite[id[OMEGA],intersection[E,x]] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],intersection[E,inverse[E]]] := 0 (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],intersection[E,inverse[E]]] := 0 (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],intersection[E,inverse[S]]] := 0 (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],intersection[E,inverse[S]]] := 0 (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],intersection[x_,inverse[E]],id[omega]] := composite[intersection[x,inverse[E]],id[omega]] (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],intersection[x_,inverse[E]],id[OMEGA]] := composite[intersection[x,inverse[E]],id[OMEGA]] (* added 2002 April 23 based on ON-SUCC.NB *) composite[id[OMEGA],intersection[PS,complement[E]],id[FULL]] := 0 (* added 2002 June 2 based on ON-ORD-4.NB *) composite[id[OMEGA],intersection[PS,complement[E]],id[OMEGA]] := 0 (* added 2002 May 28 based on FINITE.NB *) composite[id[omega],inverse[CARD]] := id[omega] (* added 2002 May 26 based on SUCC-ID.NB *) composite[id[omega],inverse[IMAGE[id[omega]]]] := id[omega] (* added 2002 May 26 based on SUCC-ID.NB *) composite[id[OMEGA],inverse[IMAGE[id[OMEGA]]]] := id[OMEGA] (* derived 2005 February 19 in ITR-OM-E.NB *) composite[id[omega],inverse[IMAGE[inverse[S]]],inverse[IMAGE[id[omega]]],E] := composite[id[omega],E] (* added 2002 May 26 based on COMMUTE.NB *) composite[id[omega],inverse[IMAGE[inverse[SUCC]]]] := union[cart[set[0],set[0]],composite[id[omega],SUCC]] (* added 2003 December 9 based on ITER-K.NB *) composite[id[omega],inverse[K],id[omega]] := composite[inverse[SUCC],id[omega]] (* added 2002 October 5 based on MUL-OO.NB *) composite[id[omega],inverse[LEFT[x_]],inverse[NATMUL]] := composite[inverse[LEFT[x]],inverse[NATMUL]] (* added 2003 August 8 based on REPLACE.NB *) composite[id[omega],inverse[plus[x_]]] := inverse[plus[x]] (* added 2002 June 21 based on NATASS.NB *) composite[id[omega],inverse[S],id[omega],inverse[S],id[omega]] := composite[id[omega],inverse[S],id[omega]] (* added 2002 June 20 based on OMEGA-S.NB *) composite[id[omega],inverse[S],id[omega],S,id[omega]] := cart[omega,omega] (* added 2002 September 24 based on ADD-S.NB *) composite[id[omega],inverse[S],image[inverse[NATADD],set[x_]]] := composite[image[inverse[NATADD],set[x]],S,id[omega]] (* added 2002 April 15 based on OM-SUCC.NB *) composite[id[omega],inverse[SUCC]] := composite[inverse[SUCC],id[omega]] (* added 2002 May 26 based on SUCC-ID.NB *) composite[id[OMEGA],inverse[SUCC]] := composite[inverse[SUCC],id[OMEGA]] (* derived 2005 January 5 in RANK-S.NB *) composite[id[OMEGA],inverse[ZN]] := composite[id[OMEGA],S,RANK] (* added 2002 December 23 based on REPLACE.NB *) composite[id[omega],iterate[composite[NATADD,x_],set[0]]] := iterate[composite[NATADD,x],set[0]] (* added 2002 July 5 based on NATADD-2.NB *) composite[id[omega],iterate[inverse[SUCC],x_]] := image[inverse[NATADD],x] (* added 2003 August 8 based on REPLACE.NB *) composite[id[omega],iterate[iterate[SUCC,set[x_]],set[0]]] := union[cart[set[0],intersection[complement[image[V,intersection[omega,set[x]]]], set[0]]],composite[NATMUL,LEFT[x]]] (* added 2003 August 7 based on PLUS.NB *) composite[id[omega],iterate[SUCC,set[x_]]] := plus[x] (* added 2003 December 9 based on ITER-K.NB *) composite[id[omega],K,id[omega]] := composite[id[omega],SUCC] (* derived 2005 January 13 in K-ON.NB *) composite[id[OMEGA],K,id[OMEGA]] := composite[id[OMEGA],SUCC] (* added 2002 October 22 based on CO-ID.NB *) composite[id[omega],NATADD] := NATADD (* added 2002 October 22 based on CO-ID.NB *) composite[id[omega],NATMUL] := NATMUL (* added 2003 August 8 based on REPLACE.NB *) composite[id[omega],plus[x_]] := plus[x] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],PS,id[omega]] := composite[id[omega],E] (* added 2002 June 2 based on ON-ORD-4.NB *) composite[id[OMEGA],PS,id[OMEGA]] := composite[id[OMEGA],E] (* added 2002 May 28 based on FINITE.NB *) composite[id[omega],Q] := composite[id[omega],CARD] (* added 2002 October 22 based on CO-ID.NB *) composite[id[OMEGA],RANK] := RANK (* added 2003 July 5 based on PLUS-ISO.NB *) composite[id[omega],rotate[composite[inverse[power[SUCC]],SWAP]]] := composite[rotate[NATADD],SWAP] (* added 2002 June 12 based on NATADD.NB *) composite[id[omega],rotate[inverse[power[SUCC]]]] := NATADD (* added 2002 June 20 based on OMEGA-S.NB *) composite[id[omega],S,id[omega],inverse[S],id[omega]] := cart[omega,omega] (* added 2002 June 21 based on NATASS.NB *) composite[id[omega],S,id[omega],S,id[omega]] := composite[id[omega],S,id[omega]] (* added 2003 June 2 based on ON-CO.NB *) composite[id[OMEGA],S,id[OMEGA],S,id[OMEGA]] := composite[id[OMEGA],S,id[OMEGA]] (* added 2002 June 3 based on S-ON.TXT *) composite[id[omega],S,id[omega],SUCC] := composite[id[omega],E] (* added 2003 June 2 based on ON-CO.NB *) composite[id[OMEGA],S,id[OMEGA],SUCC] := composite[id[OMEGA],E] (* added 2002 June 3 based on REPLACE.NB *) composite[id[omega],S,SUCC] := composite[id[omega],E] (* added 2002 June 2 based on S-SUCC.NB *) composite[id[OMEGA],S,SUCC] := composite[id[OMEGA],E] (* derived 2003 December 24 in UCL-ON.NB *) composite[id[OMEGA],SUCC,BIGCUP,id[OMEGA]] := composite[SUCC,BIGCUP,id[OMEGA]] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[id[omega],SUCC,NATADD] := composite[SUCC,NATADD] (* added 2003 August 8 based on REPLACE.NB *) composite[id[omega],SUCC,plus[x_]] := composite[SUCC,plus[x]] (* added 2002 June 3 based on S-ON.TXT *) composite[id[omega],SUCC,S,id[omega]] := composite[id[omega],E] (* added 2001 December 4 based on TC-ON.NB *) composite[id[OMEGA],TC] := composite[TC,id[P[OMEGA]]] (* added 2002 June 16 based on ADD-1ST.NB *) composite[id[omega],trv[SUCC]] := composite[id[omega],E] (* derived 2004 May 9 in OOPART.NB *) composite[Id,OOPART] := OOPART (* derived 2004 June 19 in REPLACE.NB *) composite[id[x_],oopart[y_]] := composite[oopart[y],id[image[inverse[oopart[y]],x]]] (* added 2001 November 20 based on UNWRAP.NB *) composite[id[P[cart[cart[V,V],cart[V,V]]]],CROSS] := CROSS (* added 2002 November 30 based on Z-PLUS.NB *) composite[id[P[cart[omega,omega]]],PLUS] := PLUS (* corollary of CART-RA5 in CART proved 1999 July 26 *) composite[id[P[cart[V,V]]],CART] := CART (* added 2002 October 22 based on CO-ID.NB *) composite[id[P[cart[V,V]]],COMPOSE] := COMPOSE (* derived 2004 December 17 in RFX.NB *) composite[id[P[cart[V,V]]],CORE[RFX]] := CORE[RFX] (* added 2002 January 2 based on CRSRULES.NB *) composite[id[P[cart[V,V]]],CROSS] := CROSS (* derived 2004 May 12 in EQUIV.NB *) composite[id[P[cart[V,V]]],EQUIV] := EQUIV (* added 2001 May 24 based on REIFY.NB *) composite[id[P[cart[V,V]]],FUNPART] := FUNPART (* added 2002 July 9 based on HULL-TRV.NB *) composite[id[P[cart[V,V]]],HULL[TRV]] := HULL[TRV] composite[id[P[cart[V,V]]],IMAGE[DUP]] := IMAGE[DUP] composite[id[P[cart[V,V]]],IMAGE[id[Id]]] := IMAGE[id[Id]] (* derived 2004 September 25 in WFPART.NB *) composite[id[P[cart[V,V]]],intersection[composite[S,WFPART], composite[inverse[IMAGE[SECOND]],DISJOINT,BIGCUP,SUBVAR],inverse[S]]] := WFPART (* added 2002 October 22 based on CO-ID.NB *) composite[id[P[cart[V,V]]],INVERSE] := INVERSE (* added 2000 June 14 based on IMAGE-Q.NB *) composite[id[P[cart[V,V]]],inverse[IMAGE[SWAP]]] := INVERSE (* added 2002 November 29 based on PLUS.NB *) composite[id[P[cart[V,V]]],PLUS] := PLUS (* added 2003 May 5 based on IN-E-RCF.NB *) composite[id[P[cart[V,V]]],RCF] := RCF composite[id[P[cart[V,V]]],SINGLETON,DUP] := composite[SINGLETON,DUP] (* derived 2004 January 4 in VS-IMIN.NB *) composite[id[P[cart[V,V]]],VS] := VS (* derived 2004 September 25 in LAMB-WF.NB *) composite[id[P[cart[V,V]]],WFPART] := WFPART (* derived 2004 April 25 in HULL-RC.NB *) composite[id[P[x_]],CORE[y_],id[z_],RC[x_]] := composite[CORE[y],id[z],RC[x]] (* derived 2004 April 25 in IDEMPOT.NB *) composite[id[P[x_]],CORE[y_],RC[x_]] := composite[CORE[y],RC[x]] (* added 1999 December 19 based on DISJOINT.NB *) composite[id[P[x_]],DISJOINT,IMAGE[id[x_]]] := composite[id[P[x]],DISJOINT] (* added 2002 February 4 based on RCF-NORM.NB *) composite[id[P[DISJOINT]],inverse[UB[CUP]]] := composite[inverse[S],RCF] (* added 2001 April 30 based on OP.NB *) composite[id[P[FUNS]],intersection[ composite[inverse[BIGCUP],inverse[IMAGE[SECOND]],inverse[S]], inverse[UB[IMAGE[FIRST]]]]] := composite[inverse[S],MAP,DUP] (* added 2001 December 23 based on MAP-1.NB *) composite[id[P[FUNS]],intersection[composite[inverse[UB[IMAGE[FIRST]]],FIRST], composite[inverse[BIGCUP],inverse[IMAGE[SECOND]],inverse[S],SECOND]]] := composite[inverse[S],MAP] (* added 2001 April 27 based on MAP2.NB *) composite[id[P[FUNS]],MAP] := MAP (* derived 2004 November 16 in XS.NB *) composite[id[P[FUNS]],XS] := XS (* added 2001 November 22 based on IDP.NB *) composite[id[P[Id]],inverse[IMAGE[FIRST]]] := IMAGE[DUP] (* added 1999 December 24 based on SYMDIF-2.NB *) composite[id[P[x_]],image[inverse[SYMDIF],set[x_]]] := RC[x] (* added 2002 November 12 based on VS-RULES.NB *) composite[id[P[x_]],intersection[complement[composite[complement[E],id[x_],y_]], inverse[LB[y_]]]] := VERTSECT[composite[id[x],y]] (* added 1999 November 13 based on CARTNORM.1 *) composite[id[P[x_]],intersection[y_,composite[inverse[IMAGE[id[x_]]],z_]]] := composite[id[P[x]],intersection[y,z]] (* revised 1999 December 20 based on CUP-C8.NB *) composite[id[P[x_]],intersection[DISJOINT,composite[S,RC[x_]]]] := RC[x] (* added 1999 November 21 based on 1999/NOV/20/CUT-ADJ.NB *) composite[id[P[x_]],intersection[composite[S,IMAGE[id[x_]]], inverse[S]]] := IMAGE[id[x]] (* Theorem FIX-IDP5 in FIX2 proved 1998 December 20 *) composite[id[P[Id]],inverse[IMAGE[inverse[DUP]]]] := IMAGE[DUP] composite[id[P[x_]],inverse[IMAGE[id[x_]]]] := id[P[x]] (* direction needed for Normality of IMAGE[id[x]] *) composite[id[P[x_]],inverse[S]] := composite[inverse[S],IMAGE[id[x]]] (* derived 2005 January 5 in CORE-ON.NB *) composite[id[P[OMEGA]],CORE[OMEGA]] := CORE[OMEGA] (* derived 2005 January 5 in CORE-ON.NB *) composite[id[P[OMEGA]],HC] := composite[id[OMEGA],HC] (* derived 2005 January 5 in REPLACE.NB *) composite[id[P[OMEGA]],RANK] := RANK (* added 2001 December 4 based on TC-ON.NB *) composite[id[P[OMEGA]],TC] := composite[TC,id[P[OMEGA]]] (* added 1999 October 29 based on 1999 October 28 session RC-LOG.1 *) composite[id[P[x_]],RC[x_]] := RC[x] (* added 2003 October 21 based on LAMHUL-2.NB *) composite[id[P[S]],LAMBHULL] := LAMBHULL (* added 2003 June 24 based on INTERIOR.NB *) composite[id[P[U[t_]]],CORE[t_]] := CORE[t] (* added 1999 October 2 based on PAIRSET.4 *) composite[Id,PAIRSET] := PAIRSET (* added 2002 November 29 based on PLUS.NB *) composite[Id,PLUS] := PLUS (* added 2003 August 7 based on PLUS.NB *) composite[Id,plus[x_]] := plus[x] (* added 1998 August 7 *) composite[Id,POWER] := POWER (* added 2002 based on POWER.NB *) composite[Id,power[x_]] := power[x] (* Theorem POW-5-RS in POW2 proved 1999 January 26 *) composite[id[x_],POWER] := composite[POWER,id[image[inverse[POWER],x]]] (* Theorem PS-ID in PS1 proved 1998 November 28 *) composite[Id,PS] := PS (* Theorem Q-1B in Q proved 2000 April 25 *) composite[Id,Q] := Q (* Theorem IDX-CO3B in IDX3 *) composite[id[range[x_]],x_] := composite[Id,x] (* added 2002 October 22 based on CO-ID.NB *) composite[id[range[domain[x_]]],rotate[x_]] := rotate[x] (* added 2002 November 17 based on LB-UB.NB *) composite[id[range[x_]],GREATEST[x_]] := GREATEST[x] composite[Id,range[LeftPairV]] := 0 (* Theorem POW-CO4 in POW3 proved 1998 September 19 *) composite[id[range[POWER]],E] := composite[id[range[POWER]],S,POWER] (* added 1998 August 9 *) composite[id[range[POWER]],inverse[BIGCAP]] := cart[set[0],range[POWER]] (* Theorem POW-BC9 in POW5 proved 1999 January 27 *) composite[id[range[POWER]],inverse[BIGCUP]] := POWER composite[Id,range[RightPairV]] := 0 (* added 1998 July 2 *) composite[id[range[SINGLETON]],complement[E]] := composite[SINGLETON,Di] (* added 1998 July 2 *) composite[id[range[SINGLETON]],Di,SINGLETON] := composite[SINGLETON,Di] composite[id[range[SINGLETON]],E] := SINGLETON (* see 1998/SEP/24 SESSION4.LOG *) composite[id[range[SINGLETON]],inverse[BIGCAP]] := SINGLETON composite[id[range[SINGLETON]],inverse[BIGCUP]] := SINGLETON composite[id[range[SINGLETON]],inverse[IMAGE[SINGLETON]]] := composite[id[range[SINGLETON]],inverse[SINGLETON]] composite[id[range[SINGLETON]],inverse[S]] := composite[inverse[E],IMAGE[SINGLETON]] (* derived 2004 December 11 in RESTRICT.NB *) composite[id[range[x_]],wf[x_]] := wf[x] (* derived 2004 December 11 in RESTRICT.NB *) composite[id[range[wf[x_]]],x_] := wf[x] (* Theorem RC-CO-ID in RC proved 2001 September 3 *) composite[Id,RC[x_]] := RC[x] (* derived 2005 February 8 in X1775.NB *) composite[id[REGULAR],E,inverse[E],id[DESCENDING]] := 0 (* added 2002 May 26 based on SUCC-ID.NB *) composite[id[REGULAR],inverse[IMAGE[id[REGULAR]]]] := id[REGULAR] (* Theorem REG-ID in REG2 *) composite[Id,REGULAR] := cart[REGULAR,REGULAR] (* added 2002 April 18 based on SUCC.NB *) composite[id[REGULAR],inverse[SUCC]] := composite[inverse[SUCC],id[REGULAR]] (* derived 2004 December 31 in IN-RK.NB *) composite[id[REGULAR],RANK] := RANK (* added 2003 May 30 based on RESTRICT.NB *) composite[Id,RESTRICT] := RESTRICT (* derived 2004 December 16 in RFX-CORE.NB *) composite[Id,rfx[x_]] := rfx[x] (* added 2002 December 3 based on IDX-RIF.NB *) composite[id[x_],RIF] := composite[RIF,id[composite[SWAP,cross[Id,x]]]] (* added 1999 August 16 on basis of session NORMAL.3 *) composite[Id,RIGHT[x_]] := RIGHT[x] (* added 1999 December 6 based on CURRY.NB *) composite[id[x_],RIGHT[y_]] := composite[RIGHT[y],id[image[inverse[x],set[y]]]] composite[Id,RightPairV] := RightPairV composite[Id,rotate[x_]] := rotate[x] (* Theorem ID-CO4-S in ID/ID-CO *) composite[Id,S] := S (* added 2003 August 17 based on EQDF-SUB.NB *) composite[id[S],EQUIDIFF] := composite[EQUIDIFF,id[S]] (* added 2003 February 23 based on IDXSHULL.NB *) composite[id[x_],S,HULL[x_]] := composite[id[x],S] (* Theorem 2ND-ID in 2ND *) composite[Id,SECOND] := SECOND (* Corollary 2ND-IDX in 2ND proved 1998 November 21 *) composite[id[x_],SECOND] := composite[SECOND,id[cart[V,x]]] (* derived 2004 November 26 in XSCP-MAP.NB *) composite[id[SELECT],CART] := CART (* added 1998 August 8 *) composite[Id,SINGLETON] := SINGLETON (* added 2001 October 10 based on REPLACE.NB *) composite[id[x_],SINGLETON] := composite[SINGLETON,id[image[inverse[SINGLETON],x]]] (* derived 2004 April 6 in SMALLER.NB *) composite[Id,SMALLER] := SMALLER (* added 2002 December 27 based on SBCOMMUT.NB *) composite[Id,SUBCOMMUTE] := SUBCOMMUTE (* added 2000 February 15 based on SUBVAR2.LOG *) composite[Id,SUBVAR] := SUBVAR (* Theorem SUC-ID in SUC-REL proved 1999 October 3 *) composite[Id,SUCC] := SUCC (* Corollary SW-CO-ID in SW2 proved 1998 November 2 *) composite[Id,SWAP] := SWAP (* Theorem SW-IDX2 in SW3 proved 2000 July 31 *) composite[id[x_],SWAP] := composite[SWAP,id[inverse[x]]] (* added 2000 January 7 based on TCMEMBER.NB *) composite[Id,TC] := TC (* derived 2004 May 14 in THINPART.NB *) composite[Id,thinpart[x_]] := thinpart[x] (* added 2002 March 24 based on TRV-1.NB *) composite[Id,trv[x_]] := trv[x] (* added 2001 January 18 based on TWIST-1.NB *) composite[Id,twist[x_]] := twist[x] (* added 2002 February 13 based on HULL-TRV.NB *) composite[Id,U[image[HULL[TRV],x_]]] := U[image[HULL[TRV],x]] (* derived 2004 September 21 in WF-X.NB *) composite[Id,U[subvar[cross[x_,y_]]]] := U[subvar[cross[x,y]]] (* added 2000 November 3 based on UB-2.NB *) composite[Id,UB[x_]] := UB[x] (* added 2002 October 22 based on CO-ID.NB *) composite[id[Uclosure[x_]],CORE[x_]] := CORE[x] (* added 2002 October 22 based on CO-ID.NB *) composite[id[union[cart[complement[set[0]],complement[set[0]]], cart[set[0],set[0]]]],DORA] := DORA (* added 2002 October 22 based on CO-ID.NB *) composite[id[union[Id,trv[x_]]],power[x_]] := power[x] (* Theorem VS-2 in VS proved 1999 July 11 *) composite[Id,VERTSECT[x_]] := VERTSECT[x] (* added 2002 December 16 based on RS-VS.NB *) composite[id[x_],VERTSECT[y_]] := composite[VERTSECT[y],id[image[inverse[VERTSECT[y]],x]]] (* added 2003 June 11 based on VS.NB *) composite[Id,VS] := VS (* derived 2004 September 18 in WF-WRAP.NB *) composite[Id,wf[x_]] := wf[x] (* derived 2004 September 25 in LAMB-WF.NB *) composite[Id,WFPART] := WFPART (* added 2003 July 26 based on HULL-Z.NB *) composite[id[Z],COMPOSE,cross[PLUS,PLUS]] := composite[COMPOSE,cross[PLUS,PLUS]] (* added 2002 December 16 based on EQUIDIFF.NB *) composite[id[Z],E] := composite[VERTSECT[EQUIDIFF],id[cart[omega,omega]]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[id[Z],INVERSE,VERTSECT[EQUIDIFF]] := composite[INVERSE,VERTSECT[EQUIDIFF],id[cart[omega,omega]]] (* added 2003 July 26 based on INTADDSW.NB *) composite[id[Z],PLUS] := PLUS (* added 2003 July 25 based on INTADD.NB *) composite[id[Z],S,COMPOSE,id[cart[Z,Z]]] := INTADD (* added 2003 July 26 based on INTADDSW.NB *) composite[id[Z],S,COMPOSE,SWAP,id[cart[Z,Z]]] := INTADD (* added 2003 July 25 based on HULL-Z.NB *) composite[id[Z],S,id[complement[set[0]]]] := composite[HULL[Z],id[complement[set[0]]]] (* added 2001 July 12 based on ZN-2.NB *) composite[Id,ZN] := ZN (* added 2003 July 19 based on IMGASSOC.NB *) composite[IMAGE[ASSOC],CART,cross[CART,Id]] := composite[CART,cross[Id,CART],ASSOC] (* derived 2004 April 24 in BA-BC.NB *) composite[IMAGE[BIGCAP],IMAGE[inverse[BIGCUP]]] := IMAGE[inverse[S]] (* added 1999 November 6 based on CO-5.LOG *) composite[IMAGE[BIGCAP],IMAGE[SINGLETON]] := Id (* added 2001 May 10 based on ACLOSURE.NB *) composite[IMAGE[BIGCAP],POWER] := ACLOSURE (* turned around 2001 May 10 based on UCLOS-2.NB *) composite[IMAGE[BIGCAP],UCLOSURE] := composite[ACLOSURE,IMAGE[BIGCAP]] composite[IMAGE[BIGCUP],id[P[range[SINGLETON]]]] := inverse[IMAGE[SINGLETON]] (* added 2002 November 20 based on UCL-U.NB *) composite[IMAGE[BIGCUP],IMAGE[CUP]] := composite[IMAGE[CUP],IMAGE[cross[BIGCUP,BIGCUP]]] (* added 2002 January 20 based on UU.NB *) composite[IMAGE[BIGCUP],IMAGE[inverse[BIGCUP]]] := Id (* added 1998 August 7 *) composite[IMAGE[BIGCUP],IMAGE[POWER]] := Id composite[IMAGE[BIGCUP],IMAGE[SINGLETON]] := Id (* added 2001 May 10 based on UCLOS-1.NB *) composite[IMAGE[BIGCUP],POWER] := UCLOSURE (* added 2001 May 10 based on UCLOS-1.NB *) composite[IMAGE[BIGCUP],UCLOSURE] := composite[UCLOSURE,IMAGE[BIGCUP]] (* added 2003 May 19 based on CAPCLOSE.NB *) composite[IMAGE[CAP],CART,DUP,ACLOSURE] := ACLOSURE (* added 2003 May 12 based on LAMBHULL.NB *) composite[IMAGE[CAP],LAMBHULL] := IMAGE[inverse[S]] (* derived 2005 January 6 in RCF.NB *) composite[IMAGE[CAP],RCF] := cart[V,set[set[0]]] (* added 1999 January 1 based on SR-IMG-H.NB *) composite[IMAGE[CART],id[P[Id]],S] := composite[id[P[image[CART,Id]]],S,IMAGE[CART],id[P[Id]]] (* derived 2003 December 31 in COARSER.NB *) composite[IMAGE[COARSER],POWER,POWER] := composite[POWER,POWER] (* added 2001 December 22 based on DORA-2.NB *) composite[IMAGE[composite[id[FUNS],inverse[DORA]]],CART,cross[SINGLETON,POWER]] := MAP (* derived 2004 August 26 in WF-REC-3.NB *) composite[IMAGE[composite[id[w_],inverse[FIRST]]],IMAGE[id[z_]]] := IMAGE[composite[id[composite[w,id[z]]],inverse[FIRST]]] (* added 2002 November 11 based on NORMIMAG.NB *) composite[IMAGE[composite[x_,y_]],id[P[domain[VERTSECT[y_]]]]] := composite[IMAGE[x],IMAGE[y]] (* added 2001 April 29 based on CLIQUES2.NB *) composite[IMAGE[composite[inverse[DUP],inverse[CART]]],POWER] := CLIQUES (* derived 2004 December 7 in ASV-DIV.NB *) composite[IMAGE[cross[FIRST,Id]],IMAGE[composite[id[SECOND],inverse[FIRST]]]] := IMAGE[id[cart[V,V]]] (* derived 2004 December 7 in ASV-DIV.NB *) composite[IMAGE[cross[FIRST,Id]],IMAGE[cross[SWAP,Id]]] := IMAGE[cross[SECOND,Id]] (* added 2003 July 20 based on DIRECT12.NB *) composite[IMAGE[cross[FIRST,SECOND]],CROSS] := composite[CART,cross[IMAGE[FIRST],IMAGE[SECOND]]] (* added 2002 December 28 based on REPLACE.NB *) composite[IMAGE[cross[FIRST,SECOND]],IMAGE[id[composite[inverse[FIRST],SECOND]]]] := composite[IMAGE[RIF],IMAGE[cross[SWAP,SWAP]]] (* derived 2004 August 9 in RS-2.NB *) composite[IMAGE[cross[x_,Id]],IMAGE[cross[Id,thinpart[y_]]]] := IMAGE[cross[x,thinpart[y]]] (* added 2001 May 28 based on IMAGE-X.NB *) composite[IMAGE[cross[Id,x_]],IMAGE[DUP]] := IMAGE[composite[id[x],inverse[FIRST]]] (* added 2001 May 28 based on IMAGE-X.NB *) composite[IMAGE[cross[x_,Id]],IMAGE[DUP]] := IMAGE[composite[id[inverse[x]],inverse[SECOND]]] (* derived 2004 January 6 in VS-OO.NB *) composite[IMAGE[cross[Id,inverse[E]]],VS] := IMAGE[id[cart[V,V]]] (* derived 2004 August 28 in FUNP-VS.NB *) composite[IMAGE[cross[Id,inverse[SINGLETON]]],VS] := FUNPART (* added 1999 November 30 based on IMG-SWAP.LOG *) composite[IMAGE[cross[x_,y_]],IMAGE[id[cart[u_,v_]]]] := IMAGE[cross[composite[x,id[u]],composite[y,id[v]]]] (* added 2001 January 20 based on RIF-2.NB *) composite[IMAGE[cross[SECOND,FIRST]],IMAGE[id[composite[inverse[SECOND],FIRST]]]] := IMAGE[RIF] (* derived 2004 December 7 in ASV-DIV.NB *) composite[IMAGE[cross[SECOND,Id]],IMAGE[cross[SWAP,Id]]] := IMAGE[cross[FIRST,Id]] (* added 1999 December 21 based on COMPOSE.NB *) composite[IMAGE[cross[SECOND,SECOND]],IMAGE[id[composite[inverse[FIRST],FIRST]]],CART, cross[IMAGE[SWAP],Id]] := composite[COMPOSE,SWAP] (* derived 2004 December 7 in ASV-DIV.NB *) composite[IMAGE[cross[SWAP,Id]],IMAGE[cross[SWAP,Id]]] := IMAGE[id[cart[cart[V,V],V]]] (* added 1999 October 19 based on CROSS.1 *) composite[IMAGE[cross[SWAP,SWAP]],CROSS] := composite[CROSS,SWAP] (* added 1999 October 9 based on CUP-LOG.2 *) composite[IMAGE[x_],CUP] := composite[CUP,cross[IMAGE[x],IMAGE[x]]] (* added 2002 November 20 based on UCL-U.NB *) composite[IMAGE[CUP],CART,cross[POWER,POWER]] := composite[POWER,CUP] (* added 2002 November 20 based on UCL-U.NB *) composite[IMAGE[CUP],CART,cross[UCLOSURE,UCLOSURE]] := composite[UCLOSURE,CUP] (* added 2002 March 12 based on CUP.NB *) composite[IMAGE[CUP],IMAGE[cross[inverse[S],inverse[S]]]] := composite[IMAGE[inverse[S]],IMAGE[CUP]] (* added 2002 March 12 based on CUP.NB *) composite[IMAGE[CUP],IMAGE[id[cart[V,V]]]] := IMAGE[CUP] (* added 2002 March 12 based on CUP.NB *) composite[IMAGE[CUP],IMAGE[inverse[CUP]]] := Id (* added 2002 November 20 based on UCL-U.NB *) composite[IMAGE[CUP],IMAGE[RIGHT[x_]]] := IMAGE[ADJOIN[x]] (* derived 2005 January 6 in RCF.NB *) composite[IMAGE[CUP],RCF] := SINGLETON (* derived 2004 July 26 in DORAFUNS.NB *) composite[image[DORA,FUNS],image[DORA,FUNS]] := image[DORA,FUNS] (* derived 2004 July 26 in DORAFUNS.NB *) composite[image[DORA,FUNS],Q] := image[DORA,FUNS] (* derived 2004 July 26 in DORAFUNS.NB *) composite[image[DORA,FUNS],S] := union[cart[V,complement[set[0]]],cart[set[0],V]] (* derived 2004 August 12 in DORAFUNS.NB *) composite[image[DORA,P[SECOND]],Q] := image[DORA,FUNS] (* added 1999 October 17 based on CROSS.3 flipped 1999 November 28 *) composite[IMAGE[DUP],CART] := composite[CROSS,cross[IMAGE[DUP],IMAGE[DUP]]] (* Theorem FIX-IDP3 in FIX2 proved 1998 December 20 *) composite[IMAGE[DUP],IMAGE[inverse[DUP]]] := IMAGE[id[Id]] (* added 2003 January 30 *) composite[IMAGE[DUP],INVAR] := composite[id[P[Id]],SUBCOMMUTE] (* added 2002 January 19 based on PO.NB *) composite[IMAGE[DUP],PAIRSET] := composite[PAIRSET,cross[DUP,DUP]] (* added 2002 November 16 based on EQUIDIFF.NB *) composite[IMAGE[EQUIDIFF],IMAGE[EQUIDIFF]] := IMAGE[EQUIDIFF] (* added 2002 November 30 based on POS-NEG.NB *) composite[IMAGE[EQUIDIFF],IMAGE[SWAP]] := composite[IMAGE[SWAP],IMAGE[EQUIDIFF]] (* added 2002 November 16 based on EQUIDIFF.NB *) composite[IMAGE[EQUIDIFF],VERTSECT[EQUIDIFF]] := VERTSECT[EQUIDIFF] (* added 2003 June 11 based on VS.NB *) composite[IMAGE[FIRST],ADJOIN[set[0]]] := IMAGE[FIRST] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[FIRST],BIGCUP,IMAGE[CART],IMAGE[DUP]] := BIGCUP (* added 1999 December 24 based on FIX-CAP.NB *) composite[IMAGE[FIRST],CAP] := composite[IMAGE[inverse[DUP]],COMPOSE,cross[IMAGE[SWAP],Id]] (* added 1999 October 9 based on CART-LOG.3 *) composite[IMAGE[FIRST],CART] := union[composite[FIRST,id[cart[V,complement[set[0]]]]], cart[cart[V,set[0]],set[0]]] (* added 1999 December 25 based on COMPOSE4.NB *) composite[IMAGE[FIRST],COMPOSE] := composite[IMG,SWAP,cross[IMAGE[FIRST],IMAGE[SWAP]]] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[FIRST],CORE[intersection[RFX,SYM]]] := IMAGE[inverse[DUP]] (* derived 2004 December 17 in RFX.NB *) composite[IMAGE[FIRST],CORE[RFX]] := IMAGE[inverse[DUP]] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[FIRST],CORE[SYM]] := composite[IMAGE[inverse[DUP]],COMPOSE,DUP] (* added 1999 October 17 based on CROSS.3 *) composite[IMAGE[FIRST],CROSS] := composite[CART,cross[IMAGE[FIRST],IMAGE[FIRST]]] (* derived 2004 May 12 in EQUIV.NB *) composite[IMAGE[FIRST],EQUIV] := composite[IMAGE[inverse[DUP]],EQUIV] (* added 2003 March 3 based on DO-TRV.NB *) composite[IMAGE[FIRST],HULL[TRV]] := composite[IMAGE[FIRST],id[P[cart[V,V]]]] (* added 2001 December 19 based on REPLACE.NB *) composite[IMAGE[FIRST],id[x_],inverse[IMAGE[SECOND]]] := inverse[image[DORA,x]] composite[IMAGE[FIRST],id[P[Id]]] := inverse[IMAGE[DUP]] (* added 2001 May 29 based on IMG-RHO.NB *) composite[IMAGE[FIRST],IMAGE[composite[id[x_],inverse[FIRST]]]] := composite[IMAGE[id[domain[x]]],id[P[domain[VERTSECT[x]]]]] (* added 2001 May 29 based on IMG-RHO.NB *) composite[IMAGE[FIRST],IMAGE[composite[id[x_],inverse[SECOND]]]] := IMAGE[inverse[x]] (* added 2000 September 12 based on ASSERT.NB *) composite[IMAGE[FIRST],IMAGE[cross[x_,FIRST]]] := composite[IMAGE[x],IMAGE[FIRST],IMAGE[id[cart[V,cart[V,V]]]]] (* added 2000 September 12 based on ASSERT.NB *) composite[IMAGE[FIRST],IMAGE[cross[x_,Id]]] := composite[IMAGE[x],IMAGE[FIRST]] (* added 2000 September 12 based on ASSERT.NB *) composite[IMAGE[FIRST],IMAGE[cross[x_,SECOND]]] := composite[IMAGE[x],IMAGE[FIRST],IMAGE[id[cart[V,cart[V,V]]]]] composite[IMAGE[FIRST],IMAGE[DUP]] := Id (* added 1999 November 27 based on NEAT.NB *) composite[IMAGE[FIRST],IMAGE[id[cart[V,Id]]],CROSS] := composite[COMPOSE,SWAP,cross[Id,IMAGE[SWAP]]] composite[IMAGE[FIRST],IMAGE[id[cart[V,V]]]] := IMAGE[FIRST] composite[IMAGE[FIRST],IMAGE[id[Id]]] := IMAGE[inverse[DUP]] (* added 1999 November 30 based on IMG-SWAP.1 *) composite[IMAGE[FIRST],IMAGE[SWAP]] := IMAGE[SECOND] (* added 1999 October 12 based on INVERSE.5 *) composite[IMAGE[FIRST],INVERSE] := composite[IMAGE[SECOND],id[P[cart[V,V]]]] (* added 2001 December 18 based on DORA.NB *) composite[IMAGE[FIRST],inverse[IMAGE[SECOND]]] := union[cart[complement[set[0]],complement[set[0]]], cart[set[0],set[0]]] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[FIRST],inverse[IMAGE[SWAP]]] := composite[IMAGE[SECOND],id[P[cart[V,V]]]] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[FIRST],inverse[IMAGE[id[cart[V,V]]]]] := composite[IMAGE[FIRST],id[P[cart[V,V]]]] (* added 2003 May 12 based on LAMBHULL.NB *) composite[IMAGE[FIRST],LAMBHULL] := IMAGE[inverse[S]] (* added 2003 February 4 based on PLUS-Q.NB *) composite[IMAGE[FIRST],PLUS] := cart[omega,set[omega]] (* added 2002 February 3 based on RCF.NB *) composite[IMAGE[FIRST],RCF] := POWER (* derived 2004 August 10 in RS-3.NB *) composite[IMAGE[FIRST],RESTRICT] := composite[inverse[S],IMAGE[FIRST]] (* added 2003 June 11 based on VS.NB *) composite[IMAGE[FIRST],VS] := IMAGE[FIRST] (* added 2001 February 24 based on NEW.NB *) composite[IMAGE[GREATEST[x_]],POWER] := IMAGE[id[fix[x]]] (* added 1999 October 9 based on CART-LOG.1 *) composite[IMAGE[id[cart[x_,y_]]],CART] := composite[CART,cross[IMAGE[id[x]],IMAGE[id[y]]]] (* added 1999 December 23 based on CROSS-2.NB *) composite[IMAGE[id[cart[cart[u_,v_],cart[x_,y_]]]],CROSS] := composite[CROSS,cross[IMAGE[id[cart[u,x]]],IMAGE[id[cart[v,y]]]]] (* derived 2004 June 28 in X1773-1800.NB *) composite[IMAGE[id[cart[cart[V,V],V]]],IMAGE[cross[SWAP,Id]]] := IMAGE[cross[SWAP,Id]] (* added 2002 January 3 based on COMPOSE.NB *) composite[IMAGE[id[cart[x_,y_]]],COMPOSE] := composite[COMPOSE,cross[IMAGE[id[cart[V,y]]],IMAGE[id[cart[x,V]]]]] (* added 2003 June 11 based on VS.NB *) composite[IMAGE[id[cart[V,complement[set[0]]]]],VS] := VS (* derived 2004 August 9 in RS-2.NB *) composite[IMAGE[id[cart[x_,V]]],IMAGE[cross[Id,thinpart[y_]]]] := IMAGE[cross[id[x],thinpart[y]]] (* added 2003 June 11 based on VS.NB *) composite[IMAGE[id[cart[V,set[0]]]],VS] := cart[V,set[0]] (* derived 2004 December 17 in RFX.NB *) composite[IMAGE[id[cart[V,V]]],CORE[RFX]] := CORE[RFX] (* added 2001 November 20 based on UNWRAP.NB *) composite[IMAGE[id[cart[V,V]]],CROSS] := CROSS (* derived 2004 May 12 in EQUIV.NB *) composite[IMAGE[id[cart[V,V]]],EQUIV] := EQUIV (* added 2001 May 24 based on REIFY.NB *) composite[IMAGE[id[cart[V,V]]],FUNPART] := FUNPART (* added 2002 July 9 based on HULL-TRV.NB *) composite[IMAGE[id[cart[V,V]]],HULL[TRV]] := HULL[TRV] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[id[cart[V,V]]],id[BIJ]] := id[BIJ] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[id[cart[V,V]]],id[FUNS]] := id[FUNS] (* added 2002 November 30 based on INVERSE.NB *) composite[IMAGE[id[cart[V,V]]],id[image[INVERSE,x_]]] := id[image[INVERSE,x]] composite[IMAGE[id[cart[V,V]]],id[P[Id]]] := id[P[Id]] (* added 2003 July 26 based on INTADDSW.NB *) composite[IMAGE[id[cart[V,V]]],id[Z]] := id[Z] (* added 2002 January 10 based on MORE-PRS.NB *) composite[IMAGE[id[cart[V,V]]],IMAGE[inverse[PAIRSET]]] := IMAGE[inverse[PAIRSET]] (* added 2001 January 20 based on RIF-2.NB *) composite[IMAGE[id[cart[V,V]]],IMAGE[RIF]] := IMAGE[RIF] (* Theorem INV-CO4 in INV2 *) composite[IMAGE[id[cart[V,V]]],INVERSE] := INVERSE (* Theorem INV-CO4 in INV2 *) composite[IMAGE[id[cart[V,V]]],inverse[IMAGE[SWAP]]] := INVERSE (* derived 2004 May 9 in OOPART.NB *) composite[IMAGE[id[cart[V,V]]],OOPART] := OOPART (* added 2002 November 29 based on PLUS.NB *) composite[IMAGE[id[cart[V,V]]],PLUS] := PLUS (* added 2003 May 5 based on IN-E-RCF.NB *) composite[IMAGE[id[cart[V,V]]],RCF] := RCF (* added 2003 May 31 based on RS-CO.NB *) composite[IMAGE[id[cart[V,V]]],RESTRICT] := RESTRICT (* added 2001 May 24 based on REIFY.NB *) composite[IMAGE[id[cart[V,V]]], VERTSECT[GREATEST[complement[cross[Id,Di]]]]] := FUNPART (* added 2003 June 11 based on VS.NB *) composite[IMAGE[id[cart[V,V]]],VS] := VS (* derived 2004 September 25 in LAMB-WF.NB *) composite[IMAGE[id[cart[V,V]]],WFPART] := WFPART (* added 2002 December 16 based on REPLACE.NB *) composite[IMAGE[id[complement[x_]]],ADJOIN[x_]] := composite[IMAGE[id[complement[x]]],id[image[V,set[x]]]] (* corrected 1999 November 6 based on CO-2.LOG *) composite[IMAGE[id[complement[cart[V,V]]]],IMAGE[SWAP]] := cart[V,set[0]] (* corrected 1999 November 6 based on CO-2.LOG *) composite[IMAGE[id[complement[cart[V,V]]]],INVERSE] := cart[V,set[0]] (* added 2002 June 9 based on OMEGA.NB *) composite[IMAGE[id[complement[omega]]],id[omega]] := cart[omega,set[0]] (* added 2003 May 31 based on CUT-CO.NB *) composite[IMAGE[id[x_]],complement[S]] := composite[id[P[x]],complement[S]] (* added 2002 May 24 based on ADJOIN.NB *) composite[IMAGE[id[complement[set[0]]]],IMAGE[SUCC]] := IMAGE[SUCC] (* derived 2004 April 25 in HULL-RC.NB *) composite[IMAGE[id[x_]],CORE[y_],id[z_],RC[x_]] := composite[CORE[y],id[z],RC[x]] (* derived 2004 April 25 in IDEMPOT.NB *) composite[IMAGE[id[x_]],CORE[y_],RC[x_]] := composite[CORE[y],RC[x]] (* added 1999 December 21 based on CROSS.NB *) composite[IMAGE[id[cross[x_,y_]]],CROSS] := composite[CROSS,cross[IMAGE[id[x]],IMAGE[id[y]]]] (* added 2003 September 24 based on PO-FACTS.NB *) composite[IMAGE[id[Di]],HULL[RFX]] := composite[IMAGE[id[Di]],id[P[cart[V,V]]]] (* discovered 1999 December 16 in CUT.NB *) composite[IMAGE[id[x_]],DISJOINT] := composite[id[P[x]],DISJOINT] (* added 2003 May 5 based on IN-E-RCF.NB *) composite[IMAGE[id[DISJOINT]],RCF] := RCF (* added 2002 February 3 based on RCF.NB *) composite[IMAGE[id[DISJOINT]],VERTSECT[inverse[CUP]]] := RCF (* derived 2004 September 5 in WF-REC-4.NB *) composite[IMAGE[id[domain[VERTSECT[ZN]]]],id[domain[VERTSECT[ZN]]]] := id[domain[VERTSECT[ZN]]] (* derived 2004 September 5 in WF-REC-4.NB *) composite[IMAGE[id[domain[VERTSECT[ZN]]]],id[REGULAR]] := id[REGULAR] (* added 2001 May 28 based on REMOVED.NB *) composite[IMAGE[id[FIRST]],CART] := composite[IMAGE[composite[id[FIRST],inverse[FIRST]]], COMPOSE,cross[Id,IMAGE[DUP]]] (* added 2002 May 4 based on HC-OMEGA.NB *) composite[IMAGE[id[FULL]],id[OMEGA]] := id[OMEGA] (* added 2001 April 28 based on MAP3.NB *) composite[IMAGE[id[FUNS]],MAP] := MAP (* derived 2004 November 16 in XS.NB *) composite[IMAGE[id[FUNS]],VERTSECT[intersection[composite[inverse[IMAGE[FIRST]],IMAGE[FIRST]],inverse[S]]]] := XS (* added 2001 December 23 based on MAP-1.NB *) composite[IMAGE[id[FUNS]],VERTSECT[intersection[composite[inverse[S],CART], composite[inverse[IMAGE[FIRST]],FIRST]]],id[cart[V,V]]] := MAP (* derived 2003 December 30 in T2.NB *) composite[IMAGE[id[x_]],id[image[RC[x_],y_]]] := id[image[RC[x],y]] (* added 1999 October 13 based on NEWRULES.1 *) composite[IMAGE[id[Id]],IMAGE[SWAP]] := IMAGE[id[Id]] (* added 1999 October 13 based on NEWRULES.1 *) composite[IMAGE[id[id[x_]]],IMAGE[SWAP]] := IMAGE[id[id[x]]] (* added 2002 February 2 based on VSIN-CUP.NB *) composite[IMAGE[id[x_]],id[intersection[y_,P[x_]]]] := id[intersection[y,P[x]]] (* added 1999 October 12 based on NEWRULES.2 *) composite[IMAGE[id[Id]],INVERSE] := composite[IMAGE[id[Id]],id[P[cart[V,V]]]] (* added 1999 October 12 based on NEWRULES.2 *) composite[IMAGE[id[id[x_]]],INVERSE] := composite[IMAGE[id[id[x]]],id[P[cart[V,V]]]] composite[IMAGE[id[Id]],inverse[IMAGE[inverse[DUP]]]] := IMAGE[DUP] (* added 1999 October 13 based on NEWRULES.1 *) composite[IMAGE[id[Id]],inverse[IMAGE[SWAP]]] := composite[IMAGE[id[Id]],id[P[cart[V,V]]]] composite[IMAGE[id[x_]],id[P[x_]]] := id[P[x]] (* added 2000 September 28 based on CROSS.NB *) composite[IMAGE[id[x_]],id[P[complement[x_]]]] := cart[P[complement[x]],set[0]] (* derived 2004 April 26 in RCCORERC.NB *) composite[IMAGE[id[x_]],id[y_],RC[x_]] := composite[id[y],RC[x]] (* added 2001 December 24 based on MAP.NB *) composite[IMAGE[id[x_]],IMAGE[composite[id[P[cart[V,V]]],inverse[DORA]]]] := IMAGE[composite[id[intersection[x,P[cart[V,V]]]],inverse[DORA]]] (* Theorem IDP-CO-2 in IDP proved 1998 December 17 *) composite[IMAGE[id[x_]],IMAGE[DUP]] := composite[IMAGE[DUP],IMAGE[id[fix[x]]]] composite[IMAGE[id[x_]],IMAGE[FIRST]] := composite[IMAGE[FIRST],IMAGE[id[cart[x,V]]]] (* Theorem CUT-CO2 in CUT2 proved 1998 December 25 *) composite[IMAGE[id[x_]],IMAGE[id[y_]]] := IMAGE[id[intersection[x,y]]] composite[IMAGE[id[x_]],IMAGE[SECOND]] := composite[IMAGE[SECOND],IMAGE[id[cart[V,x]]]] (* added 1999 November 30 based on IMG-SWAP.4 *) composite[IMAGE[id[x_]],IMAGE[SWAP]] := composite[IMAGE[SWAP],IMAGE[id[inverse[x]]]] (* added 2002 June 9 based on OMEGA.NB *) composite[IMAGE[id[intersection[omega,x_]]],id[omega]] := composite[IMAGE[id[x]],id[omega]] (* added 2001 May 28 based on REMOVED.NB *) composite[IMAGE[id[inverse[FIRST]]],CART] := composite[IMAGE[SWAP], IMAGE[composite[id[FIRST],inverse[FIRST]]],COMPOSE,SWAP,cross[IMAGE[DUP],Id]] (* derived 2004 January 29 in UB-LB-CO.NB *) composite[IMAGE[id[x_]],inverse[LB[y_]]] := composite[id[P[x]],inverse[LB[y]]] (* special case of conditional rule IMG-SR-4 in IMG3 *) composite[IMAGE[id[x_]],inverse[S]] := composite[inverse[S],IMAGE[id[x]]] (* added 2001 May 28 based on REMOVED.NB *) composite[IMAGE[id[inverse[SECOND]]],CART] := composite[IMAGE[SWAP], IMAGE[composite[id[SECOND],inverse[FIRST]]],COMPOSE,cross[IMAGE[DUP],Id]] (* derived 2004 January 29 in UB-LB-CO.NB *) composite[IMAGE[id[x_]],inverse[UB[y_]]] := composite[id[P[x]],inverse[UB[y]]] (* derived 2005 January 5 in CORE-ON.NB *) composite[IMAGE[id[OMEGA]],CORE[OMEGA]] := CORE[OMEGA] (* derived 2005 January 5 in CORE-ON.NB *) composite[IMAGE[id[OMEGA]],HC] := CORE[OMEGA] (* added 2001 May 20 based on OMEGA.NB *) composite[IMAGE[id[omega]],id[omega]] := id[omega] (* added 2001 May 20 based on OMEGA.NB *) composite[IMAGE[id[OMEGA]],id[OMEGA]] := id[OMEGA] (* added 2001 May 20 based on IDEA.NB *) composite[IMAGE[id[P[cart[V,V]]]],IMAGE[CART]] := IMAGE[CART] (* added 2002 October 22 based on CO-ID.NB *) composite[IMAGE[x_],id[P[domain[VERTSECT[x_]]]]] := IMAGE[x] (* added 2001 May 2 based on IMG-PC.NB *) composite[IMAGE[id[P[x_]]],POWER] := composite[POWER,IMAGE[id[x]]] (* added 2003 September 4 based on IDEMCORE.NB *) composite[IMAGE[id[x_]],POWER,CORE[x_]] := composite[IMAGE[id[x]],POWER] (* added 2001 October 16 based on RA-SG.NB *) composite[IMAGE[id[range[SINGLETON]]],POWER] := IMAGE[SINGLETON] (* added 1999 November 2 based on 1999 November 1 session WORK/ASSOC.LOG *) composite[IMAGE[id[x_]],RC[x_]] := RC[x] (* added 2001 October 27 based on CORE-UCL.NB *) composite[IMAGE[id[REGULAR]],id[REGULAR]] := id[REGULAR] (* added 2001 May 2 based on IMG-PC.NB *) composite[IMAGE[id[REGULAR]],POWER] := composite[POWER,IMAGE[id[REGULAR]]] (* added 1999 December 31 based on IMG-SR-1.NB *) composite[IMAGE[id[x_]],S] := composite[id[P[x]],S,IMAGE[id[x]]] (* added 2001 May 28 based on REMOVED.NB *) composite[IMAGE[id[SECOND]],CART] := composite[IMAGE[composite[id[SECOND],inverse[FIRST]]], COMPOSE,SWAP,cross[Id,IMAGE[DUP]]] (* added 2003 June 24 based on INTERIOR.NB *) composite[IMAGE[id[U[t_]]],CORE[t_]] := CORE[t] (* added 2001 April 30 based on CUT-SC.NB *) composite[IMAGE[id[U[x_]]],id[x_]] := id[x] (* added 2001 December 20 based on Q-POW.NB *) composite[IMAGE[x_],IMAGE[id[domain[x_]]]] := IMAGE[x] (* derived 2004 May 14 in REPLACE.NB *) composite[IMAGE[x_],IMAGE[id[domain[VERTSECT[x_]]]]] := IMAGE[thinpart[x]] (* added 2003 March 13 based on IMG-CUT.NB *) composite[IMAGE[IMAGE[id[x_]]],id[P[P[x_]]]] := id[P[P[x]]] (* added 2003 March 13 based on IMG-CUT.NB *) composite[IMAGE[IMAGE[id[x_]]],IMAGE[id[P[x_]]]] := IMAGE[id[P[x]]] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[IMAGE[IMAGE[SWAP]],IMAGE[IMAGE[SWAP]]] := IMAGE[IMAGE[id[cart[V,V]]]] (* added 2003 March 16 based on IMG-UCL.NB *) composite[IMAGE[IMAGE[x_]],UCLOSURE] := composite[UCLOSURE,IMAGE[IMAGE[x]]] (* added 2001 February 24 based on NEW.NB *) composite[IMAGE[inverse[BIGCUP]],POWER] := composite[POWER,POWER] (* added 2002 January 2 based on CRSRULES.NB *) composite[image[inverse[CROSS],x_],IMAGE[id[cart[V,V]]]] := image[inverse[CROSS],x] (* added 2003 June 11 based on VS.NB *) composite[IMAGE[inverse[DUP]],ADJOIN[set[0]]] := IMAGE[inverse[DUP]] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[inverse[DUP]],BIGCUP,IMAGE[CART],IMAGE[DUP]] := BIGCUP (* Definition DEF-CAP in CAP used in Otter 1999 August 12 *) composite[IMAGE[inverse[DUP]],CART] := CAP (* added 1999 December 24 based on FIX-CAP.NB *) composite[IMAGE[inverse[DUP]],COMPOSE,cross[IMAGE[SWAP],IMAGE[SWAP]]] := composite[IMAGE[inverse[DUP]],COMPOSE,SWAP] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[inverse[DUP]],CORE[intersection[RFX,SYM]]] := IMAGE[inverse[DUP]] (* added 2003 September 21 based on RFX-CORE.NB *) composite[IMAGE[inverse[DUP]],CORE[RFX]] := IMAGE[inverse[DUP]] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[inverse[DUP]],CORE[SYM]] := IMAGE[inverse[DUP]] (* added 1999 October 17 based on CROSS.3 *) composite[IMAGE[inverse[DUP]],CROSS] := composite[CART,cross[IMAGE[inverse[DUP]],IMAGE[inverse[DUP]]]] (* added 1999 December 21 based on FIX-DIF.NB *) composite[IMAGE[inverse[DUP]],DIF] := composite[DIF,cross[IMAGE[inverse[DUP]],IMAGE[inverse[DUP]]]] (* derived 2004 September 25 in LAMB-WF.NB *) composite[IMAGE[inverse[DUP]],HULL[TRV],WFPART] := cart[V,set[0]] (* based on 1999 December 11 notebook CART-DUP.NB *) composite[IMAGE[inverse[DUP]],id[image[CART,Id]]] := composite[inverse[DUP],inverse[CART]] composite[IMAGE[inverse[DUP]],id[P[Id]]] := inverse[IMAGE[DUP]] (* derived 2004 December 6 in IDP.NB *) composite[IMAGE[inverse[DUP]],id[P[id[x_]]]] := composite[id[P[x]],inverse[IMAGE[DUP]]] (* Theorem FIX-IDP2 in FIX2 proved 1998 December 20 *) composite[IMAGE[inverse[DUP]],IMAGE[DUP]] := Id composite[IMAGE[inverse[DUP]],IMAGE[id[x_]]] := composite[IMAGE[id[fix[x]]],IMAGE[inverse[DUP]]] (* added 1999 October 13 based on NEWRULES.1 *) composite[IMAGE[inverse[DUP]],IMAGE[SWAP]] := IMAGE[inverse[DUP]] (* added 1999 October 12 based on NEWRULES.2 *) composite[IMAGE[inverse[DUP]],INVERSE] := composite[IMAGE[inverse[DUP]],id[P[cart[V,V]]]] (* added 1998 August 23 *) composite[IMAGE[inverse[DUP]],inverse[IMAGE[id[Id]]]] := inverse[IMAGE[DUP]] (* added 2003 May 10 based on LAMBHULL.NB *) composite[IMAGE[inverse[DUP]],LAMBHULL] := ACLOSURE (* added 2002 February 4 based on RCF-NORM.NB *) composite[IMAGE[inverse[DUP]],RCF] := union[cart[complement[set[0]],set[0]],cart[set[0],set[set[0]]]] (* derived 2004 September 25 in LAMB-WF.NB *) composite[IMAGE[inverse[DUP]],WFPART] := cart[V,set[0]] (* derived 2004 September 30 in EQV-THNP.NB *) composite[image[inverse[IMG],EQV],IMAGE[composite[id[inverse[FIRST]],inverse[SECOND]]],EQUIV] := composite[INVAR,EQUIV] (* added 2001 November 25 based on FUNP-1.NB *) composite[image[inverse[IMG],x_],IMAGE[id[cart[V,V]]]] := image[inverse[IMG],x] (* derived 2004 September 30 in EQV-THNP.NB *) composite[image[inverse[IMG],TRV],IMAGE[composite[id[inverse[FIRST]],inverse[SECOND]]],HULL[TRV],IMAGE[id[cart[V,V]]]] := cart[V,V] (* added 2003 August 12 based on RO-ZADD.NB *) composite[image[inverse[INTADD],x_],id[Z]] := image[inverse[INTADD],x] (* added 2003 August 12 based on RO-ZADD.NB *) composite[image[inverse[INTADD],x_],id[intersection[y_,Z]]] := composite[image[inverse[INTADD],x],id[y]] (* added 2003 August 12 based on RO-ZADD.NB *) composite[image[inverse[INTADD],set[x_]],y___,id[image[V,set[x_]]]] := composite[image[inverse[INTADD],set[x]],y] (* added 2003 August 12 based on RO-ZADD.NB *) composite[image[inverse[INTADD],set[x_]],INVERSE, image[inverse[INTADD],set[y_]]] := image[inverse[INTADD],set[intadd[x,y]]] (* added 2002 July 30 based on IMIN-ADD.NB *) composite[image[inverse[NATADD],x_],id[complement[omega]]] := 0 (* added 2002 July 30 based on IMIN-ADD.NB *) composite[image[inverse[NATADD],x_],id[omega]] := image[inverse[NATADD],x] (* added 2002 July 5 based on NATADD-1.NB *) composite[image[inverse[NATADD],set[x_]], image[inverse[NATADD],set[x_]]] := id[range[image[inverse[NATADD],set[x]]]] (* added 2003 August 8 based on REPLACE.NB *) composite[image[inverse[NATADD],set[x_]],plus[y_]] := image[inverse[NATADD],set[natsub[x,y]]] (* added 1999 October 17 based on STRANGE.7 *) composite[IMAGE[inverse[PAIRSET]],POWER] := composite[CART,DUP] (* added 1998 August 7 *) composite[IMAGE[inverse[POWER]],IMAGE[POWER]] := Id (* derived 2005 January 4 in IMINRANK.NB *) composite[IMAGE[inverse[RANK]],id[OMEGA],SUCC] := composite[VERTSECT[ZN],id[OMEGA]] (* added 2001 October 16 based on IMS-ACL.NB *) composite[IMAGE[inverse[S]],ACLOSURE] := IMAGE[inverse[S]] (* added 2001 May 4 based on CLIQUES.NB *) composite[IMAGE[inverse[S]],CLIQUES] := CLIQUES (* added 2000 January 11 based on HER-FIX1.NB *) composite[IMAGE[inverse[S]],id[fix[IMAGE[inverse[S]]]]] := id[fix[IMAGE[inverse[S]]]] (* added 1998 August 7 *) composite[IMAGE[inverse[S]],id[range[POWER]]] := id[range[POWER]] (* added 2001 May 4 based on IMG-INS.NB *) composite[IMAGE[inverse[S]],IMAGE[CAP],CART] := composite[CAP,cross[IMAGE[inverse[S]],IMAGE[inverse[S]]]] (* added 2002 January 21 based on VS-IN-BC.TXT *) composite[IMAGE[inverse[S]],IMAGE[inverse[POWER]]] := composite[BIGCUP,IMAGE[id[range[POWER]]]] composite[IMAGE[inverse[S]],IMAGE[inverse[S]]] := IMAGE[inverse[S]] (* added 2001 February 19 based on IMINS.NB *) composite[IMAGE[inverse[S]],IMAGE[POWER],POWER] := composite[POWER,POWER] (* added 2003 March 9 based on CORE-HER.NB *) composite[IMAGE[inverse[S]],inverse[S],IMAGE[inverse[S]]] := composite[id[fix[IMAGE[inverse[S]]]],inverse[S],IMAGE[inverse[S]]] (* added 1998 August 7 *) composite[IMAGE[inverse[S]],POWER] := POWER (* added 2003 March 1 based on HER-UCL.NB *) composite[IMAGE[inverse[S]],UCLOSURE] := composite[POWER,BIGCUP] (* derived 2004 August 10 in RS-3.NB *) composite[IMAGE[inverse[S]],VERTSECT[RESTRICT]] := composite[POWER,IMAGE[id[cart[V,V]]]] (* derived 2004 May 2 in ZN.NB *) composite[IMAGE[inverse[S]],VERTSECT[ZN]] := VERTSECT[ZN] (* added 2001 October 10 based on REPLACE.NB *) composite[IMAGE[inverse[SINGLETON]],CLIQUES] := IMAGE[inverse[DUP]] (* added 1998 August 7 *) composite[IMAGE[inverse[SINGLETON]],id[range[POWER]]] := inverse[POWER] composite[IMAGE[inverse[SINGLETON]],IMAGE[inverse[S]]] := BIGCUP composite[IMAGE[inverse[SINGLETON]],IMAGE[SINGLETON]] := Id (* added 1998 August 7 *) composite[IMAGE[inverse[SINGLETON]],POWER] := Id (* added 2002 May 26 based on COMMUTE.NB *) composite[IMAGE[inverse[SUCC]],id[omega]] := union[cart[set[0],set[0]],composite[inverse[SUCC],id[omega]]] (* added 2002 May 26 based on ON-SUC-1.NB *) composite[IMAGE[inverse[SUCC]],id[OMEGA],SUCC] := id[OMEGA] (* added 1999 December 24 based on SYMDIF-2.NB *) composite[image[inverse[SYMDIF],set[x_]],id[P[x_]]] := RC[x] (* added 1999 December 24 based on SYMDIF-2.NB *) composite[image[inverse[SYMDIF],set[x_]], image[inverse[SYMDIF],set[x_]]] := id[image[V,set[x]]] (* added 1999 December 24 based on SYMDIF-2.NB *) composite[image[inverse[SYMDIF],set[x_]],RC[x_]] := id[intersection[image[V,set[x]],P[x]]] (* added 2001 March 31 based on REMOVED.NB *) composite[IMAGE[inverse[TC]],POWER] := composite[POWER,HC] (* added 2001 February 24 based on NEW.NB *) composite[IMAGE[LB[x_]],POWER] := 0 (* added 2001 February 24 based on NEW.NB *) composite[IMAGE[LEAST[x_]],POWER] := IMAGE[id[fix[x]]] (* added 2002 January 10 based on MORE-PRS.NB *) composite[IMAGE[PAIRSET],IMAGE[id[cart[V,V]]]] := IMAGE[PAIRSET] (* added 2002 May 22 based on INVERSE.NB *) composite[image[power[x_],y_],x_] := composite[x,image[power[x],y]] (* added 1998 August 7 *) composite[IMAGE[POWER],IMAGE[inverse[POWER]]] := IMAGE[id[range[POWER]]] (* added 2002 July 28 based on ADD-NAT.NB *) composite[image[power[x_],y_],image[power[x_],z_]] := image[power[x],image[NATADD,cart[y,z]]] (* reoriented 2002 June 13 based on LOOPING.NB *) composite[image[power[x_],z_],iterate[x_,y_]] := composite[iterate[x,y],image[power[SUCC],z]] (* added 2002 June 5 based on COMMUTE.NB *) composite[image[power[SUCC],x_],id[omega]] := composite[id[omega],image[power[SUCC],x]] (* derived 2004 December 31 in IN-RK.NB *) composite[IMAGE[RANK],IMAGE[inverse[RANK]]] := IMAGE[id[OMEGA]] (* added 2001 January 20 based on RIF-2.NB *) composite[IMAGE[RIF],CART] := composite[COMPOSE,SWAP,cross[IMAGE[SWAP],IMAGE[SWAP]]] (* added 2001 January 20 based on RIF-2.NB *) composite[IMAGE[RIF],CROSS] := COMPOSE (* added 2002 December 28 based on REPLACE.NB *) composite[IMAGE[RIF],IMAGE[SWAP]] := composite[IMAGE[SWAP],IMAGE[RIF],IMAGE[cross[SWAP,SWAP]]] (* added 1999 December 21 based on ROTATE.NB *) composite[IMAGE[ROT],DIF] := composite[DIF,cross[IMAGE[ROT],IMAGE[ROT]]] (* added 2002 April 6 based on FUNP-ROT.NB *) composite[IMAGE[ROT],IMAGE[SWAP]] := IMAGE[inverse[ASSOC]] (* added 2003 June 11 based on VS.NB *) composite[IMAGE[SECOND],ADJOIN[set[0]]] := IMAGE[SECOND] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[SECOND],BIGCUP,IMAGE[CART],IMAGE[DUP]] := BIGCUP (* added 1999 December 24 based on FIX-CAP.NB *) composite[IMAGE[SECOND],CAP] := composite[IMAGE[inverse[DUP]],COMPOSE,cross[Id,IMAGE[SWAP]]] (* added 1999 October 9 based on CART-LOG.3 *) composite[IMAGE[SECOND],CART] := union[composite[SECOND,id[cart[complement[set[0]],V]]], cart[cart[set[0],V],set[0]]] (* added 1999 December 25 based on COMPOSE4.NB *) composite[IMAGE[SECOND],COMPOSE] := composite[IMG,cross[Id,IMAGE[SECOND]]] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[SECOND],CORE[intersection[RFX,SYM]]] := IMAGE[inverse[DUP]] (* derived 2004 December 17 in RFX.NB *) composite[IMAGE[SECOND],CORE[RFX]] := IMAGE[inverse[DUP]] (* derived 2004 October 4 in REPLACE.NB *) composite[IMAGE[SECOND],CORE[SYM]] := composite[IMAGE[inverse[DUP]],COMPOSE,DUP] (* added 1999 October 17 based on CROSS.3 *) composite[IMAGE[SECOND],CROSS] := composite[CART,cross[IMAGE[SECOND],IMAGE[SECOND]]] (* derived 2004 May 12 in EQUIV.NB *) composite[IMAGE[SECOND],EQUIV] := composite[IMAGE[inverse[DUP]],EQUIV] (* added 2003 March 28 based on RA-TRV.NB *) composite[IMAGE[SECOND],HULL[TRV]] := composite[IMAGE[SECOND],id[P[cart[V,V]]]] (* added 2001 December 18 based on DORA.NB *) composite[IMAGE[SECOND],id[x_],inverse[IMAGE[FIRST]]] := image[DORA,x] composite[IMAGE[SECOND],id[P[Id]]] := inverse[IMAGE[DUP]] (* added 2001 May 29 based on IMG-RHO.NB *) composite[IMAGE[SECOND],IMAGE[composite[id[x_],inverse[FIRST]]]] := IMAGE[x] (* added 2001 May 29 based on IMG-RHO.NB *) composite[IMAGE[SECOND],IMAGE[composite[id[x_],inverse[SECOND]]]] := composite[IMAGE[id[range[x]]],id[P[domain[VERTSECT[inverse[x]]]]]] (* added 2000 September 12 based on ASSERT.NB *) composite[IMAGE[SECOND],IMAGE[cross[Id,x_]]] := composite[IMAGE[x],IMAGE[SECOND]] (* added 2000 September 12 based on ASSERT.NB *) composite[IMAGE[SECOND],IMAGE[cross[SECOND,x_]]] := composite[IMAGE[x],IMAGE[SECOND],IMAGE[id[cart[cart[V,V],V]]]] composite[IMAGE[SECOND],IMAGE[DUP]] := Id (* added 1999 December 21 based on COMPOSE.NB *) composite[IMAGE[SECOND],IMAGE[id[cart[Id,V]]],CROSS] := composite[COMPOSE,SWAP,cross[IMAGE[SWAP],Id]] composite[IMAGE[SECOND],IMAGE[id[cart[V,V]]]] := IMAGE[SECOND] composite[IMAGE[SECOND],IMAGE[id[Id]]] := IMAGE[inverse[DUP]] (* added 1999 November 30 based on IMG-SWAP.LOG *) composite[IMAGE[SECOND],IMAGE[SWAP]] := IMAGE[FIRST] (* added 1999 October 12 based on INVERSE.5 *) composite[IMAGE[SECOND],INVERSE] := composite[IMAGE[FIRST],id[P[cart[V,V]]]] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[SECOND],inverse[IMAGE[id[cart[V,V]]]]] := composite[IMAGE[SECOND],id[P[cart[V,V]]]] (* added 2001 December 18 based on DORA-RA.NB *) composite[IMAGE[SECOND],inverse[IMAGE[FIRST]]] := union[cart[complement[set[0]],complement[set[0]]], cart[set[0],set[0]]] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[SECOND],inverse[IMAGE[SWAP]]] := composite[IMAGE[FIRST],id[P[cart[V,V]]]] (* added 2003 May 12 based on LAMBHULL.NB *) composite[IMAGE[SECOND],LAMBHULL] := ACLOSURE (* added 2003 February 4 based on PLUS-Q.NB *) composite[IMAGE[SECOND],PLUS] := composite[RC[omega],id[omega]] (* added 2002 February 3 based on RCF.NB *) composite[IMAGE[SECOND],RCF] := POWER (* derived 2004 August 10 in RS-3.NB *) composite[IMAGE[SECOND],RESTRICT] := composite[IMG,inverse[FIRST]] (* derived 2004 September 14 in WF-REC-6.NB *) composite[IMAGE[SECOND],SECOND,history[x_,y_]] := composite[IMAGE[x],VERTSECT[y]] (* Theorem VS-IMG-3 in VS2 proved 1999 July 14 *) composite[IMAGE[x_],SINGLETON] := VERTSECT[x] composite[IMAGE[SINGLETON],id[range[SINGLETON]]] := composite[SINGLETON,id[range[SINGLETON]]] composite[IMAGE[SINGLETON],IMAGE[inverse[SINGLETON]]] := IMAGE[id[range[SINGLETON]]] (* added 2002 May 24 based on ADJOIN.NB *) composite[IMAGE[SUCC],id[omega]] := composite[IMAGE[id[complement[set[0]]]],id[omega],SUCC] (* added 2000 January 1 based on RA-IMG-H.NB *) composite[IMAGE[SUCC],IMAGE[inverse[SUCC]]] := IMAGE[id[range[SUCC]]] (* added 1999 September 23 based on CART-LOG.1 *) composite[IMAGE[SWAP],CART] := composite[CART,SWAP] (* added 1999 November 28 based on COMPOSE1.NB *) composite[IMAGE[SWAP],COMPOSE] := composite[COMPOSE,cross[IMAGE[SWAP],IMAGE[SWAP]],SWAP] (* derived 2004 December 17 in RFX.NB *) composite[IMAGE[SWAP],CORE[RFX]] := composite[INVERSE,CORE[RFX]] (* added 1999 November 28 based on CROSS-1.NB *) composite[IMAGE[SWAP],CROSS] := composite[CROSS,cross[IMAGE[SWAP],IMAGE[SWAP]]] (* added 1999 December 21 based on IMAGSWAP.NB *) composite[IMAGE[SWAP],DIF] := composite[DIF,cross[IMAGE[SWAP],IMAGE[SWAP]]] (* derived 2004 May 12 in EQUIV.NB *) composite[IMAGE[SWAP],EQUIV] := EQUIV (* added 2003 March 5 based on TRV-IN.NB *) composite[IMAGE[SWAP],HULL[TRV]] := composite[INVERSE,HULL[TRV]] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[SWAP],id[BIJ]] := composite[INVERSE,id[BIJ]] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[SWAP],id[FUNS]] := composite[INVERSE,id[FUNS]] (* added 1999 October 12 based on INVERSE.4 *) composite[IMAGE[SWAP],id[P[cart[V,V]]]] := INVERSE (* added 1999 October 13 based on NEWRULES.1 *) composite[IMAGE[SWAP],id[P[Id]]] := id[P[Id]] (* added 2001 October 30 based on SYM-CORE.NB *) composite[IMAGE[SWAP],id[SYM]] := id[SYM] (* added 2003 August 10 based on ZADD-INV.NB *) composite[IMAGE[SWAP],id[Z]] := composite[INVERSE,id[Z]] (* added 1999 October 13 based on NEWRULES.1 *) composite[IMAGE[SWAP],IMAGE[DUP]] := IMAGE[DUP] (* added 1999 December 24 based on FIX-CAP.NB *) composite[IMAGE[SWAP],IMAGE[id[cart[V,V]]]] := IMAGE[SWAP] (* derived 2004 August 6 in CONSTANT.NB *) composite[IMAGE[SWAP],IMAGE[LEFT[x_]]] := IMAGE[RIGHT[x]] (* derived 2004 August 6 in CONSTANT.NB *) composite[IMAGE[SWAP],IMAGE[RIGHT[x_]]] := IMAGE[LEFT[x]] (* Theorem INV-CO2 in INV2 *) composite[IMAGE[SWAP],IMAGE[SWAP]] := IMAGE[id[cart[V,V]]] (* added 2003 August 10 based on ZADD-INV.NB *) composite[IMAGE[SWAP],INTADD] := composite[INTADD,cross[INVERSE,INVERSE]] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[SWAP],INVERSE] := id[P[cart[V,V]]] (* added 2002 January 6 based on Q-AGAIN.NB *) composite[IMAGE[SWAP],inverse[IMAGE[FIRST]]] := composite[id[P[cart[V,V]]],inverse[IMAGE[SECOND]]] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[SWAP],inverse[IMAGE[id[cart[V,V]]]]] := INVERSE (* added 2002 January 6 based on Q-AGAIN.NB *) composite[IMAGE[SWAP],inverse[IMAGE[SECOND]]] := composite[id[P[cart[V,V]]],inverse[IMAGE[FIRST]]] (* added 2003 July 26 based on INTADDSW.NB *) composite[IMAGE[SWAP],PLUS] := composite[INVERSE,PLUS] (* added 2002 February 3 based on RCF.NB *) composite[IMAGE[SWAP],RCF] := RCF (* added 2003 January 25 based on TC-ZN.NB *) composite[IMAGE[TC],IMAGE[TC]] := IMAGE[TC] (* derived 2004 September 5 in WF-REC-4.NB *) composite[IMAGE[thinpart[ZN]],id[REGULAR]] := composite[IMAGE[ZN],id[REGULAR]] (* added 1999 October 11 based on CROSS.1 *) composite[IMAGE[TWIST],CART] := CROSS (* added 1999 October 11 based on CROSS.1 *) composite[IMAGE[TWIST],CROSS] := composite[CART,cross[IMAGE[id[cart[V,V]]],IMAGE[id[cart[V,V]]]]] (* added 1999 October 11 based on CROSS.1 *) composite[IMAGE[TWIST],IMAGE[TWIST]] := IMAGE[id[cart[cart[V,V],cart[V,V]]]] (* added 2001 February 24 based on NEW.NB *) composite[IMAGE[UB[x_]],POWER] := 0 (* derived 2004 December 21 in UCL-A.NB *) composite[IMAGE[UCLOSURE],ACLOSURE,IMAGE[UCLOSURE]] := composite[ACLOSURE,IMAGE[UCLOSURE]] (* Theorem CO-IM-V1 in CO2 *) composite[image[V,x_],y_] := cart[domain[y],image[V,x]] (* Theorem CO-IM-V2 in CO2 *) composite[x_,image[V,y_]] := cart[V,intersection[range[x],image[V,y]]] (* added 2003 January 25 based on TC-ZN.NB *) composite[IMAGE[ZN],IMAGE[TC]] := IMAGE[ZN] (* added 2001 July 17 based on ZN-IMG1.TXT *) composite[IMAGE[ZN],IMAGE[ZN]] := IMAGE[ZN] (* added 2001 July 15 based on ZN-AGAIN.NB *) composite[IMAGE[ZN],POWER] := VERTSECT[ZN] (* added 2002 May 17 based on ZN.NB *) composite[IMAGE[ZN],SUCC] := VERTSECT[ZN] (* added 2002 May 17 based on TC.NB *) composite[IMAGE[ZN],TC] := IMAGE[ZN] (* added 2001 July 17 based on ZN-IMG4.NB *) composite[IMAGE[ZN],VERTSECT[ZN]] := VERTSECT[ZN] (* added 2001 November 29 *) composite[IMG,cross[CART,Id]] := union[cart[composite[DISJOINT,FIRST],set[0]], composite[SECOND,FIRST,id[composite[E,inverse[E],FIRST]]]] (* added 2001 May 4 based on LAMBDA.NB *) composite[IMG,cross[COMPOSE,Id]] := composite[IMG,cross[Id,IMG],ASSOC] (* added 2000 September 7 based on CUT.NB *) composite[IMG,cross[composite[IMAGE[id[cart[u_,v_]]],x_],y_]] := composite[IMAGE[id[v]],IMG,cross[x,composite[IMAGE[id[u]],y]]] (* tentative rule added 1999 November 28 based on CROSS-1.NB *) composite[IMG,cross[CROSS,Id],ROT] := composite[COMPOSE,cross[COMPOSE,IMAGE[SWAP]]] (* added 1999 December 25 based on REMOVED.NB *) composite[IMG,cross[IMAGE[DUP],x_]] := composite[CAP,cross[Id,x]] (* added 1999 December 25 based on IMG-IDX.TXT *) composite[IMG,cross[IMAGE[id[cart[x_,y_]]],z_]] := composite[IMAGE[id[y]],IMG,cross[Id,composite[IMAGE[id[x]],z]]] (* derived 2004 August 10 in RS-3.NB *) composite[IMG,id[cart[P[Id],V]],inverse[SECOND]] := inverse[S] (* discovered 1999 December 16 in IMG.NB *) composite[IMG,id[cart[set[x_],y_]]] := composite[IMAGE[x],id[y],inverse[LEFT[x]]] (* discovered 1999 December 16 in IMG.NB *) composite[IMG,id[cart[x_,set[y_]]]] := composite[IMAGE[SECOND],IMAGE[id[cart[y,V]]],id[x], inverse[RIGHT[y]]] (* added 2003 June 11 based on VS.NB *) composite[IMG,id[cart[V,range[SINGLETON]]],inverse[FIRST]] := union[cart[V,set[0]],composite[inverse[E],IMAGE[SECOND],VS]] (* added 2002 October 22 based on CO-ID.NB *) composite[IMG,id[cart[V,V]]] := IMG (* added 2000 September 28 based on IMG.NB *) composite[IMG,id[composite[DISJOINT,IMAGE[FIRST]]]] := cart[composite[DISJOINT,IMAGE[FIRST]],set[0]] (* added 1999 December 27 based on IMG-1.NB *) composite[IMG,inverse[SECOND]] := composite[IMAGE[SECOND],id[P[cart[V,V]]], inverse[IMAGE[FIRST]],inverse[S]] (* revised 1999 December 19 based on REVISED.NB *) composite[IMG,LEFT[x_]] := composite[IMAGE[x],id[image[V,set[x]]]] (* revised 1999 December 19 based on REVISED.NB *) composite[IMG,RIGHT[x_]] := composite[IMAGE[SECOND],IMAGE[id[cart[x,V]]], id[image[V,set[x]]]] (* added 1999 December 25 based on REMOVED.NB *) composite[IMG,SWAP,cross[x_,IMAGE[DUP]]] := composite[CAP,cross[x,Id]] (* added 2003 August 9 based on ASS-ADDZ.NB *) composite[INTADD,cross[Id,INTADD],ASSOC] := composite[INTADD,cross[INTADD,Id]] (* added 2003 August 22 based on AC-TWIST.NB *) composite[INTADD,cross[INTADD,INTADD],TWIST] := composite[INTADD,cross[INTADD,INTADD]] (* added 2003 July 25 based on INTADD.NB *) composite[INTADD,id[cart[V,V]]] := INTADD (* added 2003 August 12 based on RO-ZADD.NB *) composite[INTADD,id[cart[Z,V]]] := INTADD (* added 2003 August 12 based on RO-ZADD.NB *) composite[INTADD,id[INVERSE],inverse[FIRST]] := cart[Z,set[id[omega]]] (* added 2003 August 11 based on DOROZADD.NB *) composite[INTADD,inverse[FIRST]] := cart[Z,Z] (* added 2003 August 11 based on DOROZADD.NB *) composite[INTADD,inverse[SECOND]] := cart[Z,Z] (* added 2003 August 12 based on RO-ZADD.NB *) composite[INTADD,LEFT[x_]] := composite[image[inverse[INTADD],set[x]],INVERSE] (* added 2003 August 12 based on RO-ZADD.NB *) composite[INTADD,RIGHT[x_]] := composite[image[inverse[INTADD],set[x]],INVERSE] (* added 2003 July 26 based on INTADDSW.NB *) composite[INTADD,SWAP] := INTADD (* derived 2004 May 8 in GLB-LUB.NB *) composite[intersection[BIGCUP,inverse[E]],POWER] := Id (* revised 1999 October 24 *) composite[w_,intersection[complement[cart[x_,y_]],z_]] := union[composite[w,id[complement[y]],z], composite[w,z,id[complement[x]]]] (* revised 1999 October 24 *) composite[intersection[complement[cart[x_,y_]],z_],w_] := union[composite[id[complement[y]],z,w], composite[z,id[complement[x]],w]] (* added 2002 June 3 based on REPLACE.NB *) composite[intersection[complement[E],inverse[E]],id[omega]] := composite[inverse[E],id[omega]] (* added 2002 June 3 based on REPLACE.NB *) composite[intersection[complement[inverse[S]],inverse[E]],id[omega]] := 0 (* added 2002 June 3 based on REPLACE.NB *) composite[intersection[complement[S],inverse[E]],id[omega]] := composite[inverse[E],id[omega]] (* derived 2004 January 3 in ABSTRACT.NB *) composite[intersection[x,composite[y,BIGCAP]],SINGLETON] := intersection[y,composite[x,SINGLETON]] (* added 2002 May 5 based on REPLACE.NB *) composite[intersection[composite[BIGCUP,CAP], composite[inverse[POWER],SECOND]],inverse[FIRST]] := composite[inverse[E],UCLOSURE] (* derived 2004 January 3 in ABSTRACT.NB *) composite[intersection[x_,composite[y_,BIGCUP]],SINGLETON] := intersection[y,composite[x,SINGLETON]] (* derived 2004 January 3 in ABSTRACT.NB *) composite[intersection[x_,composite[y_,DISJOINT]],SINGLETON] := intersection[composite[x,SINGLETON],composite[y,complement[E]]] (* derived 2005 May 27 in MOD-SU-2.NB *) composite[intersection[composite[E,FIRST],rotate[NATMOD]],inverse[SECOND]] := cart[omega,intersection[omega,complement[set[0]]]] (* added 2002 December 3 based on STRANGE.NB *) composite[intersection[composite[u_,FIRST],composite[v_, intersection[composite[x_,FIRST],composite[y_,SECOND]]]], inverse[SECOND]] := composite[intersection[v,composite[u,inverse[x]]],y] (* added 1998 September 6 *) composite[intersection[composite[u_,FIRST],composite[v_,SECOND]], cross[x_,y_]] := intersection[composite[u,x,FIRST],composite[v,y,SECOND]] (* Suggested 1998 October 11 in CAP-LOG.1 *) composite[intersection[composite[x_,FIRST],composite[y_,SECOND]],DUP] := composite[Id,intersection[x,y]] (* From ID-DUP.LOG *) composite[intersection[composite[x_,FIRST],composite[y_,SECOND]], id[DUP]] := composite[intersection[x,composite[y,DUP]],FIRST,id[DUP]] composite[intersection[composite[x_,FIRST],composite[y_,SECOND]], id[z_],inverse[FIRST]] := intersection[x,composite[y,z]] composite[intersection[composite[x_,FIRST],composite[y_,SECOND]], id[z_],inverse[SECOND]] := intersection[y,composite[x,inverse[z]]] (* added 2002 October 29 based on RIF-DUP.NB *) composite[intersection[composite[x_,FIRST],composite[y_,SECOND]],inverse[RIF],DUP] := composite[intersection[y,composite[x,SWAP]],inverse[FIRST]] (* added 1999 November 4 based on ASSOC.NB *) composite[intersection[composite[x_,FIRST],composite[y_,SECOND]],LEFT[z_]] := composite[id[image[x,set[z]]],y] (* added 1999 November 4 based on ASSOC.NB *) composite[intersection[composite[x_,FIRST],composite[y_,SECOND]],RIGHT[z_]] := composite[id[image[y,set[z]]],x] (* 1998 October 18 found using AssInt test *) composite[intersection[composite[x_,FIRST],y_],id[cart[V,V]]] := intersection[composite[x,FIRST],y] (* added 1998 September 6 *) composite[intersection[composite[x_,FIRST],composite[y_,SECOND]],inverse[FIRST]] := composite[id[range[y]],x] (* derived 2004 January 3 in BINCLOSE.NB *) composite[intersection[composite[x_,FIRST],composite[y_,SECOND]],inverse[rotate[z_]]] := composite[intersection[composite[x,z],composite[y,FIRST]],inverse[SECOND]] (* added 1998 September 6 *) composite[intersection[composite[x_,FIRST],composite[y_,SECOND]],inverse[SECOND]] := composite[id[range[x]],y] composite[intersection[composite[x_,FIRST],composite[y_,SECOND]],SWAP] := intersection[composite[y,FIRST],composite[x,SECOND]] (* added 1999 November 13 based on CARTNORM.1 *) composite[intersection[x_,composite[y_,IMAGE[id[z_]]]],id[P[z_]]] := composite[intersection[x,y],id[P[z]]] (* added 2002 December 30 based on RO-TW.NB *) composite[intersection[composite[w_,intersection[composite[x_,FIRST],composite[y_,SECOND]]], composite[z_,FIRST]],SWAP] := intersection[composite[w, intersection[composite[x,SECOND],composite[y,FIRST]]],composite[z,SECOND]] (* added 2001 February 4 based on IMAGEDIF.NB *) composite[intersection[composite[w_,intersection[composite[x_,FIRST],composite[y_,SECOND]]], composite[z_,SECOND]],SWAP] := intersection[composite[w, intersection[composite[x,SECOND],composite[y,FIRST]]],composite[z,FIRST]] (* added 1999 December 2 based on SYMDIF-2.NB *) composite[intersection[composite[inverse[DIF],FIRST], composite[SWAP,inverse[DIF],SECOND]],inverse[CUP]]:=inverse[SYMDIF] (* added 1999 October 14 based on ROT-FLIP.1 *) composite[intersection[composite[inverse[FIRST],x_],composite[inverse[SECOND],FIRST]], inverse[SECOND]] := inverse[rotate[x]] (* added 2001 February 2 based on ROTATE.NB *) composite[intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],x_]],inverse[SECOND]] := composite[SWAP,inverse[rotate[x]]] (* added 2001 May 25 based on FUNPART.NB *) composite[intersection[composite[inverse[FIRST],inverse[SINGLETON],SECOND], composite[inverse[SECOND],inverse[SINGLETON],IMG]], inverse[FIRST]] := composite[inverse[E],FUNPART] (* added 2002 December 3 based on EQDFNORM.NB *) composite[intersection[composite[inverse[FIRST],x_,RIF], composite[inverse[SECOND],y_,FIRST]],inverse[SECOND]] := composite[cross[x,y],inverse[RIF]] (* added 2002 December 3 based on IMG-EQDF.NB *) composite[intersection[composite[inverse[FIRST],u_,SECOND], composite[inverse[SECOND],v_, intersection[composite[x_,SECOND],composite[y_,FIRST]]]], id[z_],inverse[FIRST]] := composite[cross[u,v],id[composite[Id,x]], intersection[composite[inverse[FIRST],z],composite[inverse[SECOND],y]]] (* added 1999 October 14 based on ROT-FLIP.1 *) composite[intersection[composite[inverse[FIRST],SECOND],composite[inverse[SECOND],x_]],inverse[FIRST]] := composite[SWAP,inverse[rotate[composite[x,SWAP]]]] (* added 2001 October 5 based on PATHS.NB *) composite[intersection[composite[inverse[FIRST],x_,SECOND], composite[inverse[SECOND],y_,rotate[z_]]],inverse[FIRST]] := composite[cross[x,y],inverse[z]] (* added 2002 May 5 based on REPLACE.NB *) composite[intersection[composite[inverse[POWER],SECOND],composite[complement[inverse[S]],BIGCUP,CAP]], inverse[FIRST]] := composite[complement[inverse[E]],UCLOSURE] (* added 2002 September 12 based on LEFT-SUB.NB *) composite[intersection[composite[NATADD,FIRST],composite[NATADD,SECOND]], inverse[RIF]] := composite[id[omega],S,id[omega],inverse[DUP]] (* added 1999 November 23 based on ADJ-B1.NB *) composite[intersection[composite[S,IMAGE[id[complement[x_]]]],inverse[S]],id[image[S,set[x_]]]] := inverse[ADJOIN[x]] (* derived 2004 August 11 in RS-4.NB *) composite[intersection[composite[S,IMAGE[x_]],LB[LB[x_]]],SINGLETON] := VERTSECT[x] (* derived 2004 January 3 in ABSTRACT.NB *) composite[intersection[x_,composite[y_,S]],SINGLETON] := intersection[composite[x,SINGLETON],composite[y,E]] (* from COLLAPSE.LOG session 1999 April 15 *) composite[intersection[composite[w_,SECOND],composite[x_,FIRST]], intersection[composite[inverse[FIRST],y_],composite[inverse[SECOND],z_]]] := intersection[composite[w,z],composite[x,y]] (* added 2002 December 3 based on STRANGE.NB *) composite[intersection[composite[u_,SECOND],composite[v_, intersection[composite[x_,SECOND],composite[y_,FIRST]]]], inverse[FIRST]] := composite[intersection[v,composite[u,inverse[x]]],y] (* 1998 October 18 found using AssInt test *) composite[intersection[composite[x_,SECOND],y_],id[cart[V,V]]] := intersection[composite[x,SECOND],y] (* added 1999 December 7 based on FLIPRULE.NB *) composite[intersection[x_,composite[y_,SWAP]],id[cart[V,V]]] := intersection[x,composite[y,SWAP]] (* added 1999 December 7 based on FLIPRULE.NB *) composite[intersection[x_,composite[y_,SWAP]],SWAP] := intersection[y,composite[x,SWAP]] (* added 2001 March 9 based on QUICKER.NB *) composite[intersection[DISJOINT,composite[S,RC[x_]]],id[P[x_]]] := intersection[DISJOINT,composite[S,RC[x]]] (* added 2002 April 18 based on DESCEND.NB *) composite[intersection[E,inverse[E]],id[REGULAR]] := 0 (* derived 2005 April 23 in FACT-S.NB *) composite[intersection[FACTORIAL,x_],id[omega]] := intersection[FACTORIAL,x] composite[w_,intersection[x_,image[V,y_]]] := composite[w,x,id[image[V,y]]] composite[intersection[x_,image[V,y_]],z_] := composite[x,id[image[V,y]],z] (* added 2002 October 22 based on CO-ID.NB *) composite[intersection[y_,inverse[x_]],id[fix[composite[x_,y_]]]] := intersection[y,inverse[x]] (* derived 2004 August 10 in RS-3.NB *) composite[intersection[inverse[S],UB[union[E,composite[inverse[IMAGE[FIRST]],complement[E],FIRST]]]],IMAGE[id[cart[V,V]]]] := RESTRICT (* added 1999 December 21 based on ROTATE.NB *) composite[intersection[x_,rotate[y_]],id[cart[V,V]]] := intersection[x,rotate[y]] (* added 2002 October 29 based on RO-I.NB *) composite[intersection[rotate[x_],rotate[y_]],inverse[FIRST]] := composite[SECOND,intersection[inverse[x],inverse[y]]] (* added 2002 October 29 based on RO-I.NB *) composite[intersection[rotate[x_],rotate[y_]],inverse[SECOND]] := composite[Id,fix[composite[inverse[x],y]]] (* added 2002 June 3 based on REPLACE.NB *) composite[intersection[S,inverse[E]],id[omega]] := 0 (* added 2002 April 10 based on INVAR-S.NB *) composite[INVAR,ADJOIN[x_]] := composite[id[intersection[image[V,set[x]],invar[x]]],INVAR] (* added 2002 April 10 based on INVAR.NB *) composite[INVAR,CART] := union[composite[DISJOINT,FIRST],composite[S,SECOND]] (* added 2002 April 10 based on INVAR-S.NB *) composite[INVAR,complement[E]] := cart[V,V] (* derived 2004 January 22 in INVAR.NB *) composite[INVAR,complement[inverse[S]]] := cart[V,V] (* added 2002 April 10 based on INVAR-S.NB *) composite[INVAR,complement[S]] := cart[complement[set[0]],V] (* added 2002 April 10 based on INVAR.NB *) composite[INVAR,CUP] := intersection[composite[INVAR,FIRST],composite[INVAR,SECOND]] (* added 2002 April 10 based on INVAR-S.NB *) composite[INVAR,DISJOINT] := cart[V,V] (* added 2002 April 10 based on INVAR-S.NB *) composite[INVAR,E] := composite[INVAR,SINGLETON] (* added 2002 April 10 based on INVAR.NB *) composite[INVAR,IMAGE[DUP]] := cart[V,V] (* added 2002 April 10 based on INVAR.NB *) composite[INVAR,IMAGE[id[cart[V,V]]]] := INVAR (* added 2002 April 10 based on INVAR.NB *) composite[INVAR,IMAGE[id[Di]]] := INVAR (* derived 2004 January 22 in INVAR.NB *) composite[INVAR,INVAR] := cart[V,V] (* added 2002 April 10 based on INVAR-S.NB *) composite[INVAR,inverse[S]] := cart[V,V] (* added 2002 April 10 based on INVAR-S.NB *) composite[INVAR,S] := INVAR (* added 2003 June 23 based on INVAR.NB *) composite[INVAR,SINGLETON] := union[cart[complement[cart[V,V]],V], composite[E,SECOND],composite[complement[E],FIRST]] (* added 2003 January 30 *) composite[INVAR,SUBCOMMUTE] := cart[V,V] (* added 2002 May 25 based on INVAR.NB *) intersection[invar[SUCC],invar[inverse[SUCC]]] := fix[IMAGE[inverse[SUCC]]] (* inverse of Theorem ADJ-CO2 in ADJ proved 1999 March 13 *) composite[inverse[ADJOIN[x_]],inverse[S]] := composite[inverse[S],id[image[S,set[x]]]] (* revised 1999 December 19 based on REVISED.NB *) composite[inverse[ADJOIN[x_]],S] := composite[S,IMAGE[id[complement[x]]], id[image[V,set[x]]]] (* derived 2004 July 27 in ROTASSOC.NB *) composite[inverse[ASSOC],cross[x_,cross[y_,z_]],ASSOC] := cross[cross[x,y],z] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[inverse[ASSOC],cross[Id,LEFT[x_]]] := cross[RIGHT[x],Id] (* derived 2004 March 23 in TRV-K.NB *) composite[inverse[ASSOC],id[cart[x_,y_]],inverse[SECOND]] := composite[cross[composite[id[cart[x,V]],inverse[SECOND]],Id],id[y]] (* added 1999 October 31 based on ASSOC.1 *) composite[inverse[ASSOC],id[cart[V,V]]] := inverse[ASSOC] (* added 1999 October 31 based on ASSOC.1 *) composite[inverse[ASSOC],inverse[ROT]] := composite[ROT,ASSOC] (* added 1999 November 3 based on CURRY.NB *) composite[inverse[ASSOC],LEFT[x_]] := cross[LEFT[x],Id] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[inverse[ASSOC],RIGHT[x_]] := composite[RIGHT[second[x]],RIGHT[first[x]]] (* added 1999 October 13 based on ASSOC.1 *) composite[inverse[ASSOC],SWAP] := ROT (* derived 2004 December 31 in IN-RK.NB *) composite[inverse[BIGCUP],complement[inverse[E]]] := composite[complement[inverse[E]],IMAGE[inverse[BIGCUP]]] (* added 1998 August 9 *) composite[inverse[BIGCUP],complement[inverse[S]]] := composite[complement[inverse[S]],POWER] (* added 2001 July 21 based on LB-ZN.NB *) composite[inverse[BIGCUP],complement[ZN]] := composite[complement[ZN],POWER] (* added 1998 August 9 *) composite[inverse[BIGCUP],inverse[S]] := composite[inverse[S],POWER] (* added 2001 July 21 based on LB-ZN.NB *) composite[inverse[BIGCUP],ZN] := composite[ZN,POWER] (* added 2001 December 17 based on Q-HAT.NB *) composite[inverse[CARD],id[image[Q,OMEGA]]] := inverse[CARD] (* added 2002 May 28 based on FINITE.NB *) composite[inverse[CARD],id[OMEGA]] := inverse[CARD] (* added 2001 December 17 based on Q-HAT.NB *) composite[inverse[CARD],inverse[CARD]] := inverse[CARD] (* added 2001 December 17 based on Q-HAT.NB *) composite[inverse[CARD],Q] := composite[inverse[CARD],CARD] (* added 1999 October 12 based on NEWRULES.1 *) composite[INVERSE,CART] := composite[CART,SWAP] (* based on 1999 December 11 notebook CART-OO.NB *) composite[inverse[CART],CART] := union[id[cart[V,V]], cart[union[cart[V,set[0]],cart[set[0],V]], union[cart[V,set[0]],cart[set[0],V]]]] (* based on 1999 December 11 notebook CART-OO.NB *) composite[inverse[CART],id[complement[set[0]]],CART] := id[cart[complement[set[0]],complement[set[0]]]] (* added 2001 April 30 based on CLIQUES3.NB *) composite[inverse[CART],id[P[cart[V,V]]]] := inverse[CART] (* added 2001 April 24 based on RFX3.NB *) composite[inverse[CART],inverse[IMAGE[id[cart[V,V]]]]] := inverse[CART] (* added 2002 December 27 based on SBCOMMUT.NB *) composite[inverse[CART],inverse[IMAGE[RIF]]] := composite[SWAP,cross[inverse[IMAGE[SWAP]],inverse[IMAGE[SWAP]]],inverse[COMPOSE]] (* added 2001 May 8 based on MONOCART.NB *) composite[inverse[CART],S,CART] := union[cross[S,S], cart[union[cart[V,set[0]],cart[set[0],V]],cart[V,V]]] (* added 2003 October 7 based on WF-IND.NB *) composite[inverse[CART],SINGLETON] := cross[SINGLETON,SINGLETON] (* added 2001 April 30 based on CLIQUES2.NB *) composite[inverse[CLIQUES],complement[E]] := composite[complement[S],CART,DUP] (* added 2001 April 30 based on CLIQUES2.NB *) composite[inverse[CLIQUES],E] := composite[S,CART,DUP] (* derived 2003 December 31 in COARSER.NB *) composite[inverse[COARSER],COARSER] := composite[inverse[BIGCUP],BIGCUP] (* derived 2003 December 31 in COARSER.NB *) composite[inverse[COARSER],POWER] := inverse[BIGCUP] (* added 2002 November 19 based on EQV.NB *) composite[INVERSE,COMPOSE] := composite[COMPOSE,SWAP,cross[IMAGE[SWAP],IMAGE[SWAP]]] (* derived 2004 June 14 in TP-SYM.NB *) composite[INVERSE,CUP] := composite[CUP,cross[INVERSE,INVERSE]] (* derived 2005 January 29 in DIV.NB *) composite[inverse[DIV],complement[DIV]] := composite[id[omega],complement[DIV]] (* derived 2005 January 29 in DIV.NB *) composite[inverse[DIV],DIV] := cart[omega,omega] (* derived 2005 May 5 in S-DIV.NB *) composite[inverse[DIV],E] := cart[omega,intersection[omega,complement[set[0]]]] (* derived 2005 May 5 in S-DIV.NB *) composite[inverse[DIV],inverse[S]] := cart[V,omega] (* added 2001 December 23 based on DORA-1.NB *) composite[inverse[DORA],cross[inverse[S],inverse[S]]] := composite[inverse[IMAGE[id[cart[V,V]]]],inverse[S],CART] (* added 2001 December 23 based on DORA-1.NB *) composite[inverse[DORA],id[cart[V,V]]] := inverse[DORA] (* added 1999 October 29 based on 1999 October 28 FIX-IDP.LOG *) composite[inverse[DUP],complement[inverse[E]]] := composite[complement[inverse[E]],IMAGE[inverse[DUP]]] composite[inverse[DUP],cross[x_,y_]] := intersection[composite[x,FIRST],composite[y,SECOND]] composite[inverse[DUP],cross[x_,y_],DUP] := composite[Id,intersection[x,y]] (* added 2004 July 14 based on X2530-41.NB *) composite[inverse[DUP],Di] := union[cart[union[Di,complement[cart[V,V]]],V],composite[Di,inverse[DUP]]] (* Theorem DUP-CO1 in DUP1 proved 1998 November 29 *) composite[inverse[DUP],DUP] := Id composite[inverse[DUP],id[x_]] := composite[id[fix[x]],inverse[DUP]] (* Suggested 1998 October 11 in CAP-LOG.1 *) composite[inverse[DUP],intersection[composite[inverse[FIRST],x_], composite[inverse[SECOND],y_]]] := composite[Id,intersection[x,y]] (* added 2002 April 28 based on CLIQUES.NB *) composite[inverse[DUP],inverse[CART],complement[inverse[S]]] := composite[complement[inverse[E]],CLIQUES] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[DUP],inverse[CART],DISJOINT] := composite[inverse[POWER],DISJOINT,IMAGE[PAIRSET]] (* added 1999 October 17 based on STRANGE.7 *) composite[inverse[DUP],inverse[CART],E] := composite[S,PAIRSET] (* added 2001 April 30 based on CLIQUES2.NB *) composite[inverse[DUP],inverse[CART],inverse[S]] := composite[inverse[E],CLIQUES] composite[inverse[DUP],inverse[FIRST]] := Id composite[inverse[DUP],inverse[SECOND]] := Id (* added 2003 July 1 based on IN-DUP.NB *) composite[inverse[DUP],LEFT[x_]] := cart[set[x],set[x]] (* added 2002 October 29 based on RIF-DUP.NB *) composite[inverse[DUP],RIF,cross[x_,y_]] := composite[FIRST, intersection[composite[y,SECOND],composite[SWAP,x,FIRST]]] (* added 2002 October 29 based on RIF-DUP.NB *) composite[inverse[DUP],RIF,intersection[ composite[inverse[FIRST],x_], composite[inverse[SECOND],y_]]] := composite[FIRST,intersection[y,composite[SWAP,x]]] (* added 2003 July 1 based on IN-DUP.NB *) composite[inverse[DUP],RIGHT[x_]] := cart[set[x],set[x]] composite[inverse[DUP],SWAP] := inverse[DUP] (* added 1999 October 10 based on TWIST.3 *) composite[inverse[DUP],TWIST] := cross[inverse[DUP],inverse[DUP]] (* added 2003 June 6 based on ACL-UCL.NB *) composite[inverse[E],ACLOSURE,inverse[BIGCAP]] := S (* added 2001 May 10 based on UCLOS-1.NB *) composite[inverse[E],ACLOSURE,inverse[S]] := composite[inverse[E],ACLOSURE] (* corrected 2002 May 2 *) composite[inverse[E],ADJOIN[x_]] := union[cart[V,intersection[x,image[V,set[x]]]], composite[inverse[E],id[image[V,set[x]]]]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[E],BIGCUP,DISJOINT] := cart[V,V] (* derived 2004 December 24 in UCL-LBUB.NB *) composite[inverse[E],BIGCUP,inverse[LB[x_]]] := composite[inverse[E],x] (* derived 2004 December 24 in UCL-LBUB.NB *) composite[inverse[E],BIGCUP,inverse[UB[x_]]] := composite[inverse[E],inverse[x]] (* derived 2004 December 24 in UCL-LBUB.NB *) composite[inverse[E],BIGCUP,VERTSECT[x_]] := composite[inverse[E],thinpart[x]] (* added 2000 September 12 based on CLS6-2.NB *) composite[inverse[E],CAP,cross[x_,inverse[S]]] := composite[inverse[E],CAP,cross[x,Id]] (* added 2000 September 12 based on CLS6-2.NB *) composite[inverse[E],CAP,cross[inverse[S],x_]] := composite[inverse[E],CAP,cross[Id,x]] (* added 2000 September 12 based on CLS6-2.NB *) composite[inverse[E],CAP,cross[inverse[S],inverse[S]]] := composite[inverse[E],CAP] (* derived 2004 May 12 in EQUIV.NB *) composite[inverse[E],CAP,intersection[composite[inverse[FIRST],HULL[TRV],inverse[S]], composite[inverse[SECOND],INVERSE,HULL[TRV],inverse[S]]]] := composite[inverse[E],EQUIV] (* added 2000 September 7 based on CART.NB *) composite[inverse[E],CART,cross[x_,composite[SINGLETON,y_]]] := cross[composite[inverse[E],x],y] (* added 2000 September 7 based on CART.NB *) composite[inverse[E],CART,cross[composite[SINGLETON,x_],y_]] := cross[x,composite[inverse[E],y]] (* added 2000 September 12 based on CLS6-3.NB *) composite[inverse[E],CART,cross[inverse[S],x_]] := composite[inverse[E],CART,cross[Id,x]] (* added 2000 September 12 based on CLS6-3.NB *) composite[inverse[E],CART,cross[x_,inverse[S]]] := composite[inverse[E],CART,cross[x,Id]] (* added 2000 September 12 based on CLS6-3.NB *) composite[inverse[E],CART,cross[inverse[S],inverse[S]]] := composite[inverse[E],CART] (* added 2000 September 7 based on CART.NB *) composite[inverse[E],CART,cross[x_,SINGLETON]] := cross[composite[inverse[E],x],Id] (* added 2000 September 7 based on CART.NB *) composite[inverse[E],CART,cross[SINGLETON,x_]] := cross[Id,composite[inverse[E],x]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[E],CART,DUP,complement[inverse[E]]] := cart[V,cart[V,V]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[E],CART,DUP,complement[inverse[S]]] := cart[V,cart[V,V]] (* added 2000 December 14 based on MORE-PRS.NB *) composite[inverse[E],CART,DUP,Di] := cart[V,cart[V,V]] (* added 2000 December 14 based on MORE-PRS.NB *) composite[inverse[E],CART,DUP,E] := cart[V,cart[V,V]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[E],CART,DUP,inverse[BIGCUP]] := composite[inverse[E],CART,DUP,POWER] (* added 2000 December 14 based on MORE-PRS.NB *) composite[inverse[E],CART,DUP,inverse[S]] := composite[inverse[E],CART,DUP] (* added 2000 December 14 based on MORE-PRS.NB *) composite[inverse[E],CART,DUP,S] := cart[V,cart[V,V]] (* derived 2004 November 10 in CART-INE.NB *) composite[inverse[E],CART,inverse[FIRST]] := composite[inverse[FIRST],inverse[E]] (* derived 2004 November 10 in CART-INE.NB *) composite[inverse[E],CART,inverse[SECOND]] := composite[inverse[SECOND],inverse[E]] (* added 2003 July 4 based on COARSER.NB *) composite[inverse[E],COARSER] := composite[inverse[S],BIGCUP] (* Theorem DI-CO-E2 in DI added 1998 July 2 *) composite[inverse[E],complement[E]] := Di (* inverse of SP-E-C-E added 1999 January 19 *) composite[inverse[E],complement[inverse[E]]] := cart[V,V] composite[inverse[E],complement[inverse[S]]] := cart[V,V] (* added 1998 August 23 *) composite[inverse[E],complement[S]] := composite[inverse[SINGLETON],complement[S]] (* added 2002 November 29 based on PLUS.NB *) composite[inverse[E],COMPOSE,cross[composite[IMAGE[SWAP],PLUS],PLUS]] := EQUIDIFF (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],complement[E]] := composite[inverse[E],id[x],complement[E]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],complement[inverse[E]]] := cart[V,U[x]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],complement[inverse[S]]] := cart[V,U[x]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],complement[S]] := composite[inverse[E],id[x],complement[S]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],Di] := cart[V,U[x]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],DISJOINT] := composite[inverse[E],id[x],DISJOINT] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],E] := cart[V,U[x]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],inverse[S]] := composite[inverse[E],CORE[x]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],CORE[x_],S] := cart[V,U[x]] (* added 1999 October 5 based on CUP-SR.2 *) composite[inverse[E],CUP] := union[composite[inverse[E],FIRST],composite[inverse[E],SECOND]] (* Theorem SP-E-DI in SP3 proved 1998 November 11 *) composite[inverse[E],Di] := cart[V,V] (* added 2001 March 8 based on IMIMG.NB *) composite[inverse[E],DIF,cross[Id,complement[inverse[E]]]] := composite[inverse[E],FIRST] (* added 2001 March 8 based on IMIMG.NB *) composite[inverse[E],DIF,cross[Id,inverse[E]]] := composite[inverse[E],DIF,cross[Id,BIGCAP]] (* inverse of DJT-CO-E added 1998 August 23 *) composite[inverse[E],DISJOINT] := composite[Id,complement[inverse[E]]] (* derived 2005 May 3 in IN-E-DIV.NB *) composite[inverse[E],DIV] := cart[intersection[omega,complement[set[0]]],omega] (* Theorem E-CO-IN2 in E2 *) composite[inverse[E],E] := cart[V,V] (* derived 2004 October 2 in CLIQ-EQV.NB *) composite[inverse[E],id[cliques[x_]],E] := composite[id[fix[x]],intersection[x,inverse[x]],id[fix[x]]] (* added 2002 November 16 based on FACTEQDF.NB *) composite[inverse[E],id[cliques[EQUIDIFF]]] := GREATEST[EQUIDIFF] (* added 2000 December 18 based on LB-LB.NB *) composite[inverse[E],id[cliques[Q]]] := GREATEST[Q] (* added 2002 November 17 based on HER-Z.NB *) composite[inverse[E],id[image[inverse[S],x_]],E] := composite[inverse[E],id[x],E] (* derived 2004 October 28 in AC2.NB *) composite[inverse[E],id[intersection[x_,complement[set[0]]]]] := composite[inverse[E],id[x]] (* added 2001 May 8 based on CORE-2.NB *) composite[inverse[E],id[x_],inverse[S]] := composite[inverse[E],CORE[x]] (* derived 2005 May 3 in INE-OM-E.NB *) composite[inverse[E],id[omega],E] := cart[omega,omega] (* added 2002 June 3 based on S-ON.TXT *) composite[inverse[E],id[omega],SUCC] := composite[id[omega],inverse[S],id[omega]] (* added 2002 June 3 based on S-ON.TXT *) composite[inverse[E],id[OMEGA],SUCC] := composite[id[OMEGA],inverse[S],id[OMEGA]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],id[P[x_]],complement[E]] := composite[id[x],Di] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],id[P[x_]],DISJOINT] := composite[id[x],complement[inverse[E]]] (* added 1999 October 17 based on STRANGE.3 *) composite[inverse[E],id[P[x_]],E] := cart[x,x] (* see IMG-E-3 in IMG4.DEM *) composite[x_,inverse[E],id[P[domain[VERTSECT[x_]]]]] := composite[inverse[E],IMAGE[x]] composite[inverse[E],id[range[SINGLETON]]] := inverse[SINGLETON] (* derived 2003 December 30 in T2.NB *) composite[inverse[E],id[Uclosure[x_]],complement[E]] := composite[inverse[E],id[x],complement[E]] (* derived 2003 December 30 in T2.NB *) composite[inverse[E],id[Uclosure[x_]],complement[S]] := composite[inverse[E],id[x],complement[S]] (* derived 2003 December 30 in T2.NB *) composite[inverse[E],id[Uclosure[x_]],DISJOINT] := composite[inverse[E],id[x],DISJOINT] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[E],id[Z]] := composite[id[cart[omega,omega]],inverse[VERTSECT[EQUIDIFF]]] (* derived 2004 September 29 in WF-REC-7.NB *) composite[inverse[E],IMAGE[funpart[w_]],VERTSECT[y_]] := composite[funpart[w],thinpart[y]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],IMAGE[id[x_]],complement[E]] := composite[id[x],Di] (* derived 2004 July 21 in TOMINMAX.NB *) composite[inverse[E],IMAGE[id[complement[x_]]],id[P[x_]]] := 0 (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],IMAGE[id[x_]],complement[inverse[E]]] := cart[V,x] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],IMAGE[id[x_]],complement[inverse[S]]] := cart[V,x] (* added 2002 June 9 based on OMEGA.NB *) composite[inverse[E],IMAGE[id[complement[set[0]]]],id[omega],SUCC] := composite[id[intersection[omega,complement[set[0]]]],inverse[S],id[omega]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],IMAGE[id[x_]],Di] := cart[V,x] (* added 2000 December 9 based on REPLACE.NB *) composite[x_,inverse[E],IMAGE[id[domain[x_]]]] := composite[x,inverse[E]] (* added 2003 June 18 based on CUT-CORE.NB *) composite[inverse[E],IMAGE[id[x_]],E] := cart[V,x] (* derived 2005 February 19 in ITR-OM-E.NB *) composite[inverse[E],IMAGE[id[omega]],IMAGE[inverse[S]],id[omega]] := composite[inverse[E],id[omega]] (* derived 2004 December 24 in IMG-LBUB.NB *) composite[inverse[E],IMAGE[x_],inverse[LB[y_]]] := composite[thinpart[x],y] (* discovered 1999 December 20 in CANCEL.NB *) composite[inverse[E],IMAGE[inverse[POWER]],S] := cart[V,V] (* derived 2004 May 14 in REPLACE.NB *) composite[inverse[E],IMAGE[x_],inverse[S]] := composite[inverse[E],IMAGE[thinpart[x]]] (* added 2003 November 28 based on FIN-IND.NB *) composite[inverse[E],IMAGE[inverse[S]],IMAGE[SINGLETON]] := union[cart[complement[set[0]],set[0]],composite[inverse[E],IMAGE[SINGLETON]]] (* derived 2004 December 24 in THINPART.NB *) composite[inverse[E],IMAGE[inverse[S]],VERTSECT[x_]] := composite[inverse[S],thinpart[x]] (* derived 2004 December 24 in IMG-LBUB.NB *) composite[inverse[E],IMAGE[x_],inverse[UB[y_]]] := composite[thinpart[x],inverse[y]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[E],IMAGE[PAIRSET],CART,DUP] := composite[id[range[PAIRSET]],inverse[S]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[E],IMAGE[x_],POWER] := composite[x,inverse[S],id[complement[image[S,complement[domain[VERTSECT[x]]]]]]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[E],IMAGE[POWER],DISJOINT] := composite[POWER,complement[inverse[E]]] (* added 2002 January 6 based on Q-TEST.NB *) composite[inverse[E],IMAGE[SWAP],id[complement[set[0]]]] := composite[inverse[E],IMAGE[SWAP]] (* added 2001 March 15 based on H-1.NB *) composite[inverse[E],IMAGE[TC],S] := cart[V,FULL] (* derived 2004 December 24 in THINPART.NB *) composite[inverse[E],IMAGE[thinpart[x_]],VERTSECT[y_]] := composite[thinpart[x],thinpart[y]] (* added 1999 December 28 based on REMOVED.NB *) composite[inverse[E],IMG,cross[x_,SINGLETON]] := composite[rotate[E],cross[x,Id]] (* added 2002 January 6 based on LAMBDA42.NB *) composite[inverse[E],IMG,inverse[FIRST]] := composite[inverse[E],IMAGE[SECOND]] (* added 1999 December 28 based on REMOVED.NB *) composite[inverse[E],IMG,SWAP,cross[SINGLETON,x_]] := composite[rotate[E],SWAP,cross[Id,x]] (* added 1999 December 27 based on IMG-1.NB composite[inverse[E],IMG,SWAP,cross[SINGLETON,x_]] := composite[rotate[composite[inverse[x],E]],SWAP] *) (* added 2003 January 25 based on INVAR.NB *) composite[inverse[E],INVAR] := cart[V,V] (* added 1998 August 23 on basis of ASSOC-4.LOG *) composite[inverse[E],inverse[BIGCAP]] := S composite[inverse[E],inverse[BIGCUP]] := inverse[S] (* derived 2005 May 5 in S-DIV.NB *) composite[inverse[E],inverse[DIV]] := union[cart[set[0],omega],composite[inverse[E],id[omega]]] (* Corollary IMG-BC-7 in IMG4 proved 1998 November 21 *) composite[inverse[E],inverse[E]] := composite[inverse[E],BIGCUP] (* added 2002 November 16 based on LB-UB.NB *) composite[inverse[E],inverse[GREATEST[x_]]] := composite[inverse[x],id[fix[x]]] (* added 2002 November 16 based on LB-UB.NB *) composite[inverse[E],inverse[LB[x_]]] := composite[Id,x] (* added 2002 November 29 based on PLUS.NB *) composite[inverse[E],INVERSE,PLUS] := inverse[rotate[NATADD]] (* discovered 1999 December 20 in CANCEL.NB *) composite[inverse[E],inverse[POWER],S] := cart[V,V] composite[inverse[E],inverse[S]] := inverse[E] (* added 2001 March 15 based on H-1.NB *) composite[inverse[E],inverse[TC]] := composite[inverse[E],id[FULL]] (* added 2002 November 16 based on LB-UB.NB *) composite[inverse[E],inverse[UB[x_]]] := inverse[x] (* Theorem K-E-IN in K proved 2000 May 25 *) composite[inverse[E],K] := cart[V,V] (* derived 2004 December 22 in UCL-COMT.NB *) composite[inverse[E],LB[LB[x_]]] := UB[x] (* derived 2004 December 22 in UCL-COMT.NB *) composite[inverse[E],LB[UB[x_]]] := LB[x] (* added 1999 October 5 based on PAIRSET.3 *) composite[inverse[E],PAIRSET] := union[FIRST,SECOND] (* added 2002 November 29 based on PLUS.NB *) composite[inverse[E],PLUS] := composite[SWAP,inverse[rotate[NATADD]]] (* Theorem POW-CO3 in POW3 *) composite[inverse[E],POWER] := inverse[S] (* added 1998 August 9 *) composite[inverse[E],PS] := cart[V,V] (* added 2001 February 27 based on DMORG.NB *) composite[inverse[E],RC[x_]] := composite[id[intersection[x,image[V,set[x]]]],complement[inverse[E]],id[P[x]]] (* derived 2005 January 6 in RCF.NB *) composite[inverse[E],RCF] := composite[id[DISJOINT],inverse[CUP]] (* derived 2004 August 10 in RS-3.NB *) composite[inverse[E],RESTRICT] := composite[inverse[E],IMAGE[id[cart[V,V]]]] (* Theorem SR-CO12 in SR2 *) composite[inverse[E],S] := cart[V,V] (* Theorem SG-4E in SG1 *) composite[inverse[E],SINGLETON] := Id (* derived 2004 January 22 in U-SBV-PC.NB *) composite[inverse[E],SUBVAR,inverse[S]] := composite[inverse[E],SUBVAR] (* added 2000 August 16 based on SYMDIF2.NB *) composite[inverse[E],SYMDIF] := union[composite[inverse[E],DIF],composite[inverse[E],DIF,SWAP]] (* added 2000 October 26 based on TC-4.NB *) composite[inverse[E],TC,inverse[S]] := composite[inverse[E],TC] (* derived 2004 December 29 in I-FUL-REG.NB *) composite[inverse[E],TC,SINGLETON] := union[Id,composite[inverse[E],TC]] (* added 2003 January 25 based on TC-ZN.NB *) composite[inverse[E],TC,ZN] := composite[ZN,inverse[E]] (* derived 2004 May 14 in REPLACE.NB *) composite[inverse[E],thinpart[ZN]] := composite[inverse[E],IMAGE[ZN]] (* added 2003 June 6 based on ACL-UCL.NB *) composite[inverse[E],UCLOSURE,inverse[BIGCUP]] := inverse[S] (* derived 2004 December 21 in COMUTANT.NB *) composite[inverse[E],UCLOSURE,inverse[LB[COMMUTE]]] := COMMUTE (* added 2001 May 10 based on UCLOS-1.NB *) composite[inverse[E],UCLOSURE,inverse[S]] := composite[inverse[E],UCLOSURE] (* derived 2004 May 14 in REPLACE.NB *) composite[inverse[E],VERTSECT[x_]] := thinpart[x] (* added 2001 July 14 based on ZN-IMG.NB *) composite[inverse[E],ZN] := composite[ZN,inverse[E]] (* derived 2004 May 12 in EQUIV.NB *) composite[INVERSE,EQUIV] := EQUIV (* derived 2005 April 23 in FACT-S.NB *) composite[inverse[FACTORIAL],id[omega]] := inverse[FACTORIAL] composite[inverse[FIRST],id[x_]] := composite[id[cart[x,V]],inverse[FIRST]] (* added 2000 February 5 based on FUNPART.NB *) composite[x_,inverse[funpart[x_]]] := id[range[funpart[x]]] (* added 2001 April 1 based on HF-CONT.NB *) composite[inverse[HC],S] := composite[S,TC] composite[inverse[x_],id[complement[range[x_]]]] := 0 (* added 2002 October 22 based on CO-ID.NB *) composite[x_,inverse[y_],id[image[y_,domain[x_]]]] := composite[x,inverse[y]] (* added 2002 October 22 based on CO-ID.NB *) composite[inverse[x_],y_,id[image[inverse[y_],range[x_]]]] := composite[inverse[x],y] (* added 2002 October 22 based on CO-ID.NB *) composite[INVERSE,id[P[cart[V,V]]]] := INVERSE (* added 1999 October 12 based on NEWRULES.1 *) composite[INVERSE,id[P[Id]]] := id[P[Id]] (* added 2002 October 22 based on CO-ID.NB *) composite[inverse[x_],id[range[x_]]] := inverse[x] (* added 2003 August 10 based on ZADD-INV.NB *) composite[INVERSE,id[Z]] := composite[id[Z],INVERSE] (* added 2000 Septermber 12 based on DOUBLINV.NB *) composite[inverse[IMAGE[BIGCUP]],inverse[BIGCUP]] := composite[inverse[BIGCUP],inverse[BIGCUP]] (* added 2001 October 5 based on IBC-TH.NB *) composite[inverse[IMAGE[BIGCUP]],inverse[S]] := composite[inverse[S],IMAGE[inverse[BIGCUP]]] (* added 1999 October 12 based on NEWRULES.1 *) composite[INVERSE,IMAGE[DUP]] := IMAGE[DUP] (* derived 2004 December 6 in IDP.NB *) composite[inverse[IMAGE[DUP]],CAP,cross[IMAGE[DUP],IMAGE[DUP]]] := CAP (* added 2001 May 18 based on COMMUTE4.NB *) composite[inverse[IMAGE[DUP]],COMMUTE,IMAGE[DUP]] := cart[V,V] (* Theorem FIX-IDP4 in FIX2 proved 1998 December 20 *) composite[inverse[IMAGE[DUP]],IMAGE[id[Id]]] := IMAGE[inverse[DUP]] (* added 2001 April 29 based on CLIQUES2.NB *) composite[inverse[IMAGE[DUP]],inverse[IMAGE[CART]],inverse[S],POWER] := composite[inverse[S],CLIQUES] (* added 2000 September 12 based on DOUBLINV.NB *) composite[inverse[IMAGE[DUP]],inverse[IMAGE[FIRST]]] := Id (* added 1998 August 23 *) composite[inverse[IMAGE[DUP]],inverse[IMAGE[id[Id]]]] := inverse[IMAGE[DUP]] composite[inverse[IMAGE[DUP]],inverse[IMAGE[inverse[DUP]]]] := Id (* added 2000 September 12 based on DOUBLINV.NB *) composite[inverse[IMAGE[DUP]],inverse[IMAGE[SECOND]]] := Id (* added 2000 September 12 based on DOUBLINV.NB *) composite[inverse[IMAGE[DUP]],inverse[IMAGE[SWAP]]] := inverse[IMAGE[DUP]] (* added 1998 August 21 for Normality of FIX~ *) composite[inverse[IMAGE[DUP]],inverse[S]] := composite[inverse[S],IMAGE[inverse[DUP]]] (* added 2003 January 30 *) composite[inverse[IMAGE[DUP]],inverse[SUBCOMMUTE]] := composite[INVAR,IMAGE[SWAP]] (* derived 2004 January 13 in RA-RCF.NB *) composite[inverse[IMAGE[DUP]],RCF] := cart[set[0],set[set[0]]] (* added 2003 January 30 *) composite[inverse[IMAGE[DUP]],SUBCOMMUTE] := INVAR (* added 1999 October 12 based on INVERSE.4 *) composite[INVERSE,IMAGE[id[cart[V,V]]]] := IMAGE[SWAP] (* added 2001 May 18 based on COMMUTE5.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],COMMUTE] := COMMUTE (* added 2002 January 2 based on CRSRULES.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],image[inverse[CROSS],x_]] := image[inverse[CROSS],x] (* added 2000 June 14 based on IMAGE-Q.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],INVERSE] := inverse[IMAGE[SWAP]] (* added 1999 December 24 based on ONCEMORE.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],inverse[IMAGE[SWAP]]] := inverse[IMAGE[SWAP]] (* derived 2004 August 10 in RS-3.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],inverse[VERTSECT[RESTRICT]]] := inverse[VERTSECT[RESTRICT]] (* derived 2004 December 21 in COMUTANT.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],LB[COMMUTE]] := LB[COMMUTE] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],LB[SUBCOMMUTE]] := LB[SUBCOMMUTE] (* added 2002 October 29 based on COMMUTE.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],rotate[composite[COMPOSE,SWAP]]] := rotate[composite[COMPOSE,SWAP]] (* added 2003 April 30 based on SCARTDUP.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],S,CART,DUP] := composite[S,CART,DUP] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],SUBCOMMUTE] := SUBCOMMUTE (* derived 2004 December 21 in SBCOMMUT.NB *) composite[inverse[IMAGE[id[cart[V,V]]]],UB[SUBCOMMUTE]] := UB[SUBCOMMUTE] (* derived 2005 January 3 in ZN-RANK.NB *) composite[inverse[IMAGE[id[x_]]],complement[E]] := union[cart[complement[x],V],composite[Id,complement[E]]] (* added 1998 August 23 *) composite[inverse[IMAGE[id[Id]]],IMAGE[DUP]] := inverse[IMAGE[inverse[DUP]]] (* added 1998 August 23 *) composite[inverse[IMAGE[id[Id]]],inverse[IMAGE[inverse[DUP]]]] := inverse[IMAGE[inverse[DUP]]] (* added 2000 September 4 based on NEW.M *) composite[inverse[IMAGE[id[x_]]],id[P[y_]]] := inverse[IMAGE[id[x]]] /; subclass[x,y] composite[inverse[IMAGE[id[x_]]],inverse[IMAGE[id[y_]]]] := inverse[IMAGE[id[intersection[x,y]]]] (* added 1999 December 19 based on CUT-S.NB *) composite[inverse[IMAGE[id[x_]]],inverse[S],IMAGE[id[y_]]] := composite[id[P[union[y,complement[x]]]],inverse[IMAGE[id[x]]],inverse[S]] (* added 1999 December 23 based on IMINRULE.NB *) composite[inverse[IMAGE[id[x_]]],RC[x_],inverse[S]] := composite[S,RC[x],IMAGE[id[x]]] (* added 1999 December 19 based on CUT-S.NB *) composite[inverse[IMAGE[id[x_]]],S,IMAGE[id[y_]]] := composite[S,IMAGE[id[y]],id[P[union[x,complement[y]]]]] (* added 1999 December 19 based on RC-5.NB *) composite[inverse[IMAGE[id[x_]]],S,RC[x_]] := composite[S,RC[x]] (* added 1998 August 23 *) composite[inverse[IMAGE[inverse[DUP]]],inverse[IMAGE[DUP]]] := inverse[IMAGE[id[Id]]] (* rule FIX~ o S -> S o ID added 1998 August 21 for Normality of ID *) composite[inverse[IMAGE[inverse[DUP]]],S] := composite[S,IMAGE[DUP]] (* added 2002 May 18 based on FUNPART.NB *) composite[inverse[image[inverse[IMG],range[SINGLETON]]],inverse[E],IMAGE[SINGLETON]] := composite[inverse[FUNPART],inverse[IMAGE[FIRST]],E,inverse[E]] (* added 2002 May 18 based on FUNPART.NB *) composite[inverse[image[inverse[IMG],range[SINGLETON]]],SINGLETON] := composite[inverse[FUNPART],inverse[IMAGE[FIRST]],E] (* added 2002 January 10 based on MORE-PRS.NB *) composite[inverse[IMAGE[inverse[PAIRSET]]], inverse[IMAGE[id[cart[V,V]]]]] := inverse[IMAGE[inverse[PAIRSET]]] (* derived 2004 October 14 in REFINE.NB *) composite[inverse[IMAGE[inverse[S]]],COARSER, inverse[IMAGE[inverse[S]]],COARSER] := composite[inverse[IMAGE[inverse[S]]],COARSER] (* added 2000 September 12 based on DOUBLINV.NB *) composite[inverse[IMAGE[inverse[S]]],inverse[BIGCUP]] := inverse[BIGCUP] (* added 2000 September 12 based on DOUBLINV.NB *) composite[inverse[IMAGE[inverse[S]]],inverse[IMAGE[inverse[SINGLETON]]]] := inverse[BIGCUP] (* added 2003 March 9 based on CORE-HER.NB *) composite[inverse[IMAGE[inverse[S]]],inverse[S],IMAGE[inverse[S]]] := composite[inverse[S],IMAGE[inverse[S]]] (* added 2000 September 28 based on SUCC.NB *) composite[inverse[IMAGE[inverse[SUCC]]],S] := composite[S,IMAGE[SUCC]] (* added 2001 August 25 based on TC.NB *) composite[inverse[IMAGE[inverse[TC]]],S] := composite[S,IMAGE[TC]] (* derived 2004 August 11 in X2911.NB *) composite[inverse[IMAGE[LEFT[x_]]],IMAGE[LEFT[x_]]] := union[Id,cart[V,complement[image[V,set[x]]]]] (* added 2000 September 12 based on DOUBLINV.NB *) composite[inverse[IMAGE[POWER]],inverse[BIGCUP]] := inverse[IMAGE[inverse[S]]] (* derived 2004 August 11 in X2911.NB *) composite[inverse[IMAGE[RIGHT[x_]]],IMAGE[RIGHT[x_]]] := union[Id,cart[V,complement[image[V,set[x]]]]] (* added 2003 April 19 based on XSQ-RELN.NB *) composite[inverse[IMAGE[ROT]],IMAGE[ROT]] := composite[inverse[IMAGE[id[cart[cart[V,V],V]]]],IMAGE[id[cart[cart[V,V],V]]]] (* added 1999 December 26 based on ROT-E.NB *) composite[inverse[IMAGE[SINGLETON]],inverse[BIGCUP]] := Id (* added 2000 September 22 based on EXPT *) composite[inverse[IMAGE[SINGLETON]],SINGLETON] := id[range[SINGLETON]] (* added 2001 March 4 based on INVERSE2.NB *) composite[INVERSE,IMAGE[SWAP]] := IMAGE[id[cart[V,V]]] (* added 2001 May 18 based on COMMUTE5.NB *) composite[inverse[IMAGE[SWAP]],COMMUTE] := composite[COMMUTE,IMAGE[SWAP]] (* added 2002 January 3 based on COMPRULE.NB *) composite[inverse[IMAGE[SWAP]],E,cross[x_,y_],inverse[E]] := composite[E,cross[y,x],inverse[E],IMAGE[SWAP]] (* added 2001 March 4 based on INVERSE2.NB *) composite[inverse[IMAGE[SWAP]],IMAGE[SWAP]] := composite[inverse[IMAGE[id[cart[V,V]]]],IMAGE[id[cart[V,V]]]] (* derived 2004 June 17 in X1366.NB *) composite[inverse[IMAGE[SWAP]],INVAR,CROSS] := composite[INVAR,CROSS,SWAP] (* added 2001 March 4 based on INVERSE2.NB *) composite[inverse[IMAGE[SWAP]],INVERSE] := inverse[IMAGE[id[cart[V,V]]]] (* added 2002 January 3 based on COMPOSE.NB *) composite[inverse[IMAGE[SWAP]],inverse[IMAGE[FIRST]]] := inverse[IMAGE[SECOND]] (* added 2002 January 3 based on COMPOSE.NB *) composite[inverse[IMAGE[SWAP]],inverse[IMAGE[id[x_]]]] := composite[inverse[IMAGE[id[inverse[x]]]],inverse[IMAGE[SWAP]]] (* added 2002 January 3 based on COMPRULE.NB *) composite[inverse[IMAGE[SWAP]],inverse[IMAGE[SECOND]]] := inverse[IMAGE[FIRST]] (* added 1999 November 30 based on IMG-SWAP.2 *) composite[inverse[IMAGE[SWAP]],inverse[IMAGE[SWAP]]] := inverse[IMAGE[id[cart[V,V]]]] (* added 2001 March 4 based on INVERSE2.NB *) composite[inverse[IMAGE[SWAP]],inverse[S],INVERSE] := composite[inverse[IMAGE[id[cart[V,V]]]],inverse[S],id[P[cart[V,V]]]] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[inverse[IMAGE[SWAP]],inverse[SUBCOMMUTE]] := composite[SUBCOMMUTE,IMAGE[SWAP]] (* added 2002 January 3 based on REPLACE.NB *) composite[inverse[IMAGE[SWAP]],LB[LB[complement[cross[x_,y_]]]]] := composite[LB[LB[complement[cross[y,x]]]],IMAGE[SWAP]] (* added 2002 January 3 based on COMPRULE.NB *) composite[inverse[IMAGE[SWAP]],LB[UB[complement[cross[x_,y_]]]]] := composite[LB[UB[complement[cross[y,x]]]],IMAGE[SWAP]] (* added 2003 April 30 based on SCARTDUP.NB *) composite[inverse[IMAGE[SWAP]],S,CART,DUP] := composite[S,CART,DUP] (* added 2002 December 27 based on SBCOMMUT.NB *) composite[inverse[IMAGE[SWAP]],SUBCOMMUTE,IMAGE[SWAP]] := inverse[SUBCOMMUTE] (* added 2001 August 25 based on TC.NB *) composite[inverse[IMAGE[TC]],DISJOINT] := composite[DISJOINT,IMAGE[inverse[TC]]] (* added 2001 March 15 based on H-2.NB *) composite[inverse[IMAGE[TC]],inverse[S]] := composite[inverse[S],IMAGE[inverse[TC]]] (* added 2003 April 19 based on XSQ-RELN.NB *) composite[inverse[IMAGE[TWIST]],IMAGE[TWIST]] := composite[inverse[IMAGE[id[cart[cart[V,V],cart[V,V]]]]], IMAGE[id[cart[cart[V,V],cart[V,V]]]]] (* added 2003 August 10 based on ZADD-INV.NB *) composite[INVERSE,INTADD] := composite[INTADD,cross[INVERSE,INVERSE]] (* added 1999 October 12 based on INVERSE.4 *) composite[INVERSE,INVERSE] := id[P[cart[V,V]]] (* added 2002 October 22 based on CO-ID.NB *) composite[inverse[y_],inverse[x_],id[image[x_,range[y_]]]] := composite[inverse[y],inverse[x]] (* added 1999 October 12 based on INVERSE.4 *) composite[INVERSE,inverse[IMAGE[id[cart[V,V]]]]] := INVERSE (* added 2001 March 4 based on INVERSE2.NB *) composite[INVERSE,inverse[IMAGE[SWAP]]] := id[P[cart[V,V]]] (* added 2001 March 4 based on INVERSE2.NB *) composite[INVERSE,inverse[S]] := composite[inverse[S],IMAGE[SWAP]] (* added 2003 July 5 based on PLUS-ISO.NB *) composite[INVERSE,inverse[UB[rotate[NATADD]]],id[omega]] := composite[inverse[S],PLUS] (* added 2000 May 24 based on K.NB *) composite[inverse[K],Di] := cart[V,V] (* Theorem K-IN-E in K proved 2000 May 25 *) composite[inverse[K],E] := cart[V,V] (* added 2000 May 16 based on K-SR.NB *) composite[inverse[K],inverse[S]] := inverse[PS] (* Theorem K-K-EQ proved 2000 May 27 *) composite[inverse[K],K] := union[Id,composite[K,inverse[K]]] (* added 2003 June 6 based on K-PS.NB *) composite[inverse[K],Q] := composite[Q,inverse[K]] (* added 2000 May 16 based on K-SR.NB *) composite[inverse[K],SINGLETON] := cart[V,set[0]] (* derived 2004 March 6 in IMAGE.NB *) composite[inverse[LB[composite[x_,inverse[E]]]], id[P[domain[VERTSECT[x_]]]]] := composite[inverse[S],IMAGE[x]] (* derived 2004 May 14 in REPLACE.NB *) composite[inverse[LB[x_]],id[domain[VERTSECT[x_]]]] := composite[inverse[S],VERTSECT[x]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[LEFT[0]],EQUIDIFF] := composite[rotate[NATADD],SWAP] (* added 1999 December 6 based on CURRY.NB *) composite[inverse[LEFT[x_]],id[y_]] := composite[id[image[y,set[x]]],inverse[LEFT[x]]] (* added 2003 August 12 based on RO-ZADD.NB *) composite[inverse[LEFT[x]],inverse[INTADD]] := composite[INVERSE,image[inverse[INTADD],set[x]]] (* added 2003 August 7 based on PLUS.NB *) composite[inverse[LEFT[x_]],inverse[NATADD]] := inverse[plus[x]] (* derived 2005 March 29 in DIV-SUB.NB *) composite[inverse[LEFT[x_]],inverse[NATMUL],S,NATMUL,LEFT[x_]] := union[cart[omega,intersection[omega,complement[image[V,x]]]], composite[id[intersection[omega,image[V,intersection[omega,set[x]]]]],S,id[omega]]] (* added 1999 November 20 based on CURRY.NB *) composite[inverse[LEFT[x_]],inverse[rotate[y_]]] := inverse[image[inverse[y],set[x]]] (* added 1999 December 23 based on IMINRULE.NB *) composite[inverse[LEFT[x_]],inverse[SECOND]] := id[image[V,set[x]]] (* added 2002 May 24 based on LEFT.NB *) composite[inverse[LEFT[y_]],power[x_]] := iterate[x,set[y]] (* added 2003 January 25 based on LT-RT.NB *) composite[inverse[LEFT[x_]],RIGHT[y_]] := cart[set[x],set[y]] (* added 1999 December 6 based on CURRY.NB *) composite[inverse[LEFT[x_]],SWAP] := inverse[RIGHT[x]] (* added 2002 November 2 based on PAIR-V.NB *) composite[inverse[LeftPairV],id[cart[x_,y_]]] := 0 (* derived 2004 November 25 in MAP-SU.NB *) composite[inverse[MAP],MAP] := union[cart[cart[complement[set[0]],set[0]], cart[complement[set[0]],set[0]]],cart[cart[set[0],V],cart[set[0],V]], id[cart[complement[set[0]],complement[set[0]]]]] (* derived 2004 November 25 in MAP-SU.NB *) composite[inverse[MAP],inverse[S],MAP] := union[cart[cart[V,V],cart[complement[set[0]],set[0]]], cart[cart[set[0],V],cart[set[0],V]],cross[Id,inverse[S]]] (* derived 2004 November 25 in MAP-SU.NB *) composite[inverse[MAP],S,MAP] := union[cart[cart[complement[set[0]],set[0]],cart[V,V]], cart[cart[set[0],V],cart[set[0],V]],cross[Id,S]] (* added 2002 September 15 based on NATADDEZ.NB *) composite[inverse[NATADD],id[intersection[omega,x_]]] := composite[inverse[NATADD],id[x]] (* added 2002 December 3 based on IMG-EQDF.NB *) composite[inverse[NATADD],rotate[inverse[power[SUCC]]]] := composite[inverse[NATADD],NATADD] (* derived 2004 June 14 in TP-SYM.NB *) composite[INVERSE,PAIRSET] := composite[PAIRSET,cross[SWAP,SWAP]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[PAIRSET],complement[E]] := composite[inverse[E],CART,DUP,complement[E]] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[PAIRSET],complement[S]] := composite[inverse[E],CART,DUP,complement[S]] (* added 2000 December 14 based on MORE-PRS.NB *) composite[inverse[PAIRSET],DISJOINT] := composite[inverse[E],CART,DUP,DISJOINT] (* added 2000 December 14 based on CHECK-H8.NB *) composite[inverse[PAIRSET],inverse[PS]] := composite[inverse[E],CART,DUP,inverse[PS]] (* added 1999 October 17 based on STRANGE.7 *) composite[inverse[PAIRSET],inverse[S]] := composite[inverse[E],CART,DUP] (* added 2002 January 10 based on PAIRSET.NB *) composite[inverse[PAIRSET],PAIRSET] := union[SWAP,id[cart[V,V]]] (* added 1999 October 18 based on PAIRSET.3 *) composite[inverse[PAIRSET],SINGLETON] := DUP (* added 2003 August 8 based on REPLACE.NB *) composite[inverse[plus[x_]],id[image[S,set[x_]]]] := inverse[plus[x]] (* added 2003 August 8 based on REPLACE.NB *) composite[inverse[plus[x_]],y___,id[image[V,intersection[omega,set[x_]]]]] := composite[inverse[plus[x]],y] (* added 2003 August 8 based on REPLACE.NB *) composite[inverse[plus[x_]],y___,id[image[V,set[x_]]]] := composite[inverse[plus[x]],y] (* added 2003 August 8 based on REPLACE.NB *) composite[inverse[plus[x_]],id[omega]] := inverse[plus[x]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[PLUS],id[Z]] := inverse[PLUS] (* added 2003 August 8 based on REPLACE.NB *) composite[inverse[plus[x_]],image[inverse[NATADD],set[y_]]] := image[inverse[NATADD],set[natsub[y,x]]] (* added 2003 August 8 based on REPLACE.NB *) composite[inverse[plus[x_]],inverse[plus[y_]]] := inverse[plus[natadd[x,y]]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[PLUS],INVERSE,VERTSECT[EQUIDIFF]] := rotate[NATADD] (* added 2002 November 29 based on PLUS.NB *) composite[inverse[PLUS],PLUS] := id[omega] (* added 2003 October 21 based on MONOPLUS.NB *) composite[inverse[plus[x_]],S,plus[x_]] := composite[id[intersection[omega,image[V,intersection[omega,set[x]]]]],S,id[omega]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[PLUS],VERTSECT[EQUIDIFF]] := composite[rotate[NATADD],SWAP] (* derived 2003 December 31 in COARSER.NB *) composite[inverse[POWER],COARSER] := BIGCUP (* added 1998 August 9 *) composite[inverse[POWER],complement[E]] := composite[Id,complement[S]] (* added 2002 November 21 based on DJ-POW.NB *) composite[inverse[POWER],DISJOINT,POWER] := 0 (* Theorem POW-CO2 in POW3 *) composite[inverse[POWER],E] := S (* added 2002 January 22 based on EQ-PC.NB *) composite[inverse[POWER],id[range[SINGLETON]]] := cart[set[set[0]],set[0]] (* added 1998 August 9 *) composite[inverse[POWER],inverse[BIGCAP]] := cart[set[0],V] (* added 1998 August 9 *) composite[inverse[POWER],inverse[BIGCUP]] := Id (* added 2000 January 10 based on POWER-2.NB *) composite[inverse[POWER],inverse[S],POWER] := inverse[S] (* added 2002 September 24 based on MONOTONE.NB *) composite[inverse[POWER],inverse[UCLOSURE]] := inverse[POWER] (* added 2003 January 12 based on ITERATE.NB *) composite[inverse[power[x_]],LEFT[y_]] := inverse[iterate[x,set[y]]] (* added 2003 January 12 based on ITERATE.NB *) composite[inverse[power[x_]],RIGHT[y_]] := inverse[iterate[inverse[x],set[y]]] (* added 1999 December 25 based on HERED.NB *) composite[inverse[POWER],S,IMAGE[POWER]] := composite[S,IMAGE[inverse[S]]] (* derived 2004 August 23 in POW-S.NB *) composite[inverse[POWER],S,IMAGE[SINGLETON]] := S (* added 2001 March 15 based on H-1.NB *) composite[inverse[POWER],S,IMAGE[TC]] := composite[inverse[POWER],S,TC] (* added 2000 January 10 based on POWER-2.NB *) composite[inverse[POWER],S,POWER] := S (* added 1999 September 26 based on TEST-LOG.1 *) composite[inverse[POWER],SINGLETON] := cart[set[0],set[0]] (* added 2002 June 24 based on NATADD.NB *) composite[inverse[power[SUCC]],id[cart[omega,V]]] := composite[rotate[NATADD],SWAP] (* added 2002 November 30 based on NATSUB.NB *) composite[inverse[power[SUCC]],id[cart[V,omega]]] := composite[rotate[NATADD],SWAP] (* added 2002 November 13 based on NORM-ADD.NB *) composite[inverse[power[SUCC]],id[cart[V,V]]] := inverse[power[SUCC]] (* added 2002 September 5 based on NORMAL.NB *) composite[inverse[power[SUCC]],SWAP,id[cart[omega,V]]] := rotate[NATADD] (* added 2002 June 24 based on NATADD.NB *) composite[inverse[power[SUCC]],SWAP,id[cart[V,omega]]] := rotate[NATADD] (* added 2001 July 15 based on ZN-AGAIN.NB *) composite[inverse[POWER],VERTSECT[ZN]] := IMAGE[ZN] (* added 1999 September 26 based on TEST-LOG.1 *) composite[inverse[PS],E] := cart[V,V] (* added 1999 September 26 based on TEST-LOG.1 *) composite[inverse[PS],SINGLETON] := cart[V,set[0]] (* derived 2004 December 31 in IN-RK.NB *) composite[inverse[RANK],complement[inverse[E]]] := composite[id[REGULAR],complement[inverse[E]],IMAGE[inverse[RANK]]] (* derived 2005 January 5 in REPLACE.NB *) composite[inverse[RANK],id[P[OMEGA]]] := inverse[RANK] (* derived 2005 January 5 in REPLACE.NB *) composite[inverse[RANK],inverse[TC]] := inverse[RANK] (* added 2003 May 5 based on IN-E-RCF.NB *) composite[INVERSE,RCF] := RCF (* derived 2005 January 6 in RCF.NB *) composite[inverse[RCF],E] := composite[CUP,id[DISJOINT]] (* added 2003 October 20 based on MONOPLUS.NB *) composite[inverse[RCF],S,RCF] := Id (* added 2003 May 31 based on RS-CO.NB *) composite[inverse[RESTRICT],complement[inverse[S]]] := composite[inverse[IMAGE[id[cart[V,V]]]],complement[inverse[S]]] (* added 2003 May 31 based on RS-CO.NB *) composite[inverse[RESTRICT],complement[S]] := cart[complement[set[0]],V] (* added 2003 May 31 based on RS-CO.NB *) composite[inverse[RESTRICT],inverse[S]] := cart[V,V] (* derived 2004 November 17 in RS-IN-CO.NB *) composite[inverse[RESTRICT],RESTRICT] := cart[V,V] (* added 2003 May 31 based on RS-CO.NB *) composite[inverse[RESTRICT],S] := composite[inverse[IMAGE[id[cart[V,V]]]],S] (* derived 2004 December 17 in RFXTRV-C.NB *) composite[inverse[rfx[trv[x_]]],complement[rfx[trv[x_]]]] := composite[id[fix[trv[x]]],complement[rfx[trv[x]]]] (* added 2007 based on RIF-IN.NB *) composite[inverse[RIF],cross[x_,y_]] := composite[cross[cross[Id,x],cross[y,Id]],inverse[RIF]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[RIGHT[0]],EQUIDIFF] := rotate[NATADD] (* added 1999 December 6 based on CURRY.NB *) composite[inverse[RIGHT[x_]],id[y_]] := composite[id[image[inverse[y],set[x]]],inverse[RIGHT[x]]] (* derived 2004 March 23 in ADJECT.NB *) composite[inverse[RIGHT[x_]],inverse[FIRST]] := id[image[V,set[x]]] (* added 2003 August 12 based on RO-ZADD.NB *) composite[inverse[RIGHT[x_]],inverse[INTADD]] := composite[INVERSE,image[inverse[INTADD],set[x]]] (* added 2003 August 7 based on PLUS.NB *) composite[inverse[RIGHT[x_]],inverse[NATADD]] := inverse[plus[x]] (* added 2003 August 27 based on NATDIV.NB *) composite[inverse[RIGHT[x_]],inverse[NATMUL]] := composite[inverse[LEFT[x]],inverse[NATMUL]] (* added 1999 November 20 based on CURRY.NB *) composite[inverse[RIGHT[x_]],inverse[rotate[y_]]] := composite[y,LEFT[x]] (* added 2003 January 25 based on LT-RT.NB *) composite[inverse[RIGHT[x_]],LEFT[y_]] := cart[set[x],set[y]] (* added 2002 June 13 based on NATIMIN0.NB *) composite[inverse[RIGHT[y_]],power[x_]] := iterate[inverse[x],set[y]] (* added 1999 December 6 based on CURRY.NB *) composite[inverse[RIGHT[x_]],SWAP] := inverse[LEFT[x]] (* added 2002 November 2 based on PAIR-V.NB *) composite[inverse[RightPairV],id[cart[x_,y_]]] := 0 (* derived 2004 July 27 in ROTASSOC.NB *) composite[inverse[ROT],cross[cross[x_,y_],z_],ROT] := cross[cross[y,z],x] (* added 2002 December 27 based on TWIST.NB *) composite[inverse[ROT],cross[inverse[ROT],Id],inverse[ASSOC],cross[Id,SWAP]] := TWIST (* added 2002 June 16 based on LEFT-ROT.NB *) composite[inverse[ROT],cross[RIGHT[x_],Id]] := composite[SWAP,cross[Id,LEFT[x]]] (* modified 1999 December 15 based on PERMUTE.NB *) composite[inverse[ROT],inverse[ASSOC]] := composite[SWAP,id[cart[V,cart[V,V]]]] (* added 1999 October 12 based on ROT.5 *) composite[inverse[ROT],id[cart[V,V]]] := inverse[ROT] (* added 1999 October 12 based on ROT.2 *) composite[inverse[ROT],inverse[FIRST]] := composite[cross[inverse[FIRST],Id],SWAP] (* added 1999 October 12 based on ROT.1 *) composite[inverse[ROT],inverse[ROT]] := ROT (* added 1999 October 12 based on ROT.2 *) composite[inverse[ROT],inverse[SECOND]] := composite[inverse[FIRST],inverse[SECOND]] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[inverse[ROT],LEFT[x_]] := composite[RIGHT[first[x]],LEFT[second[x]]] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[inverse[ROT],RIGHT[x_]] := composite[SWAP,cross[Id,RIGHT[x]]] (* added 2002 June 13 based on NATIMIN0.NB *) composite[inverse[rotate[inverse[power[SUCC]]]],id[omega]] := inverse[NATADD] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[rotate[NATADD]],rotate[NATADD]] := composite[EQUIDIFF,id[inverse[S]]] (* added 2003 August 27 based on NATDIV.NB *) composite[inverse[rotate[NATMUL]],SUCC] := composite[ intersection[composite[inverse[FIRST],NATADD], composite[inverse[SECOND],SECOND]],inverse[rotate[NATMUL]]] (* revised 1999 December 19 based on REVISED.NB *) composite[inverse[S],ADJOIN[x_]] := composite[inverse[IMAGE[id[complement[x]]]], inverse[S],id[image[V,set[x]]]] (* added 2003 July 4 based on COARSER.NB *) composite[inverse[S],COARSER] := composite[inverse[S],POWER,BIGCUP] (* added 1998 July 31 *) composite[inverse[S],complement[E]] := composite[Id,complement[E]] (* 1999 March 25 session CO-C-NEW.LOG *) composite[inverse[S],complement[inverse[E]]] := cart[V,V] composite[inverse[S],complement[inverse[S]]] := cart[V,V] (* added 2000 May 25 based on K.NB *) composite[inverse[S],complement[K]] := cart[V,V] (* Theorem SR-C-CO4 in SR/C added 1998 July 31 *) composite[inverse[S],complement[S]] := composite[Id,complement[S]] (* inverse of PS-DI-SR added 1998 August 25 *) composite[inverse[S],Di] := cart[V,V] (* added 1998 August 23 on basis of ASSOC-4.LOG *) composite[inverse[S],DISJOINT] := DISJOINT (* Theorem SR-CO9 in SR2 *) composite[inverse[S],E] := cart[V,V] (* derived 2005 January 5 in REPLACE.NB *) composite[inverse[S],id[x_],complement[E]] := composite[inverse[HULL[x]],complement[E]] (* added 2003 March 9 based on REFINE.NB *) composite[inverse[S],id[fix[IMAGE[inverse[S]]]],inverse[S], IMAGE[inverse[S]]] := composite[inverse[S],IMAGE[inverse[S]]] (* added 2003 May 31 based on CUT-CO.NB *) composite[inverse[S],id[P[x_]],complement[S]] := composite[id[P[x]],complement[S]] (* added 1999 December 19 based on DISJOINT.NB *) composite[inverse[S],id[P[x_]],DISJOINT] := composite[id[P[x]],DISJOINT] (* added 1999 December 19 based on CUT-S.NB *) composite[inverse[S],id[P[x_]],S] := cart[P[x],P[x]] (* added 2002 March 12 based on TRV.NB *) composite[inverse[S],id[TRV],complement[inverse[S]]] := cart[V,P[cart[V,V]]] (* added 2003 October 15 based on ACYCLIC.NB *) composite[inverse[S],id[TRV],inverse[IMAGE[inverse[DUP]]],complement[E]] := composite[inverse[HULL[TRV]],inverse[IMAGE[inverse[DUP]]],complement[E]] (* added 2002 March 12 based on TRV.NB *) composite[inverse[S],id[TRV],S] := cart[P[cart[V,V]],P[cart[V,V]]] (* added 2003 May 31 based on CUT-CO.NB *) composite[inverse[S],IMAGE[id[x_]],complement[inverse[S]]] := cart[V,P[x]] (* added 1999 December 19 based on CUT-S.NB *) composite[inverse[S],IMAGE[id[x_]],S] := cart[V,P[x]] (* added 2001 March 4 based on INVERSE2.NB *) composite[INVERSE,S,IMAGE[SWAP]] := composite[id[P[cart[V,V]]],S,IMAGE[id[cart[V,V]]]] (* derived 2004 May 14 in REPLACE.NB *) composite[inverse[S],IMAGE[ZN]] := thinpart[ZN] (* added 2003 January 25 based on INVAR.NB *) composite[inverse[S],INVAR] := cart[V,V] (* inverse of Theorem ADJ-CO3 in ADJ proved 1999 November 23 *) composite[inverse[S],inverse[ADJOIN[x_]]] := composite[inverse[S],id[image[S,set[x]]]] (* added 1998 July 30 *) composite[inverse[S],inverse[BIGCAP]] := union[cart[V,set[0]],composite[inverse[BIGCAP],S]] composite[inverse[S],inverse[BIGCUP]] := composite[inverse[S],POWER] (* added 1999 December 19 based on CUT-S.NB *) composite[inverse[S],inverse[IMAGE[id[x_]]],S] := cart[P[x],V] (* added 2002 November 22 based on CHAL.NB *) composite[inverse[S],inverse[LB[x_]]] := inverse[LB[x]] (* added 1998 August 7 *) composite[inverse[S],inverse[POWER]] := composite[inverse[E],id[range[POWER]]] (* derived 2005 January 5 in RANK-S.NB *) composite[inverse[S],inverse[RANK]] := composite[inverse[RANK],inverse[S],id[OMEGA]] composite[inverse[S],inverse[S]] := inverse[S] (* derived 2004 March 9 in CO-S.NB *) composite[inverse[S],LB[x_],BIGCUP] := composite[LB[x],BIGCUP] (* derived 2004 March 9 in CO-S.NB *) composite[inverse[S],LB[composite[x_,S]]] := LB[composite[x,S]] (* derived 2004 March 9 in CO-S.NB *) composite[inverse[S],LB[LB[x_]]] := LB[LB[x]] (* derived 2004 March 9 in CO-S.NB *) composite[inverse[S],LB[UB[x_]]] := LB[UB[x]] (* discovered 1999 December 20 in CANCEL.NB *) composite[inverse[S],POWER,E] := cart[V,V] (* added 2001 February 19 based on IMINS.NB *) composite[inverse[S],POWER,inverse[S]] := composite[inverse[S],POWER] (* added 1998 August 9 *) composite[inverse[S],PS] := cart[V,V] (* added 2000 October 1 based on CANTOR.NB *) composite[inverse[S],Q] := composite[Q,inverse[S]] (* added 1999 December 19 based on RC-5.NB *) composite[inverse[S],RC[x_]] := composite[id[P[x]],DISJOINT, id[intersection[image[V,set[x]],P[x]]]] (* added 2003 May 31 based on RS-CO.NB *) composite[inverse[S],RESTRICT] := composite[inverse[S],IMAGE[id[cart[V,V]]]] (* Theorem SR-CO9 in SR2 *) composite[inverse[S],S] := cart[V,V] (* rediscovered 1999 September 24 in SESSION1.LOG *) composite[inverse[S],SINGLETON] := union[SINGLETON,cart[V,set[0]]] (* derived 2004 May 14 in REPLACE.NB *) composite[inverse[S],thinpart[ZN]] := thinpart[ZN] (* derived 2004 March 9 in CO-S.NB *) composite[inverse[S],UB[x_],BIGCUP] := composite[UB[x],BIGCUP] (* derived 2004 March 9 in CO-S.NB *) composite[inverse[S],UB[composite[x_,S]]] := UB[composite[x,S]] (* added 2001 July 14 based on ZN-IMG.NB *) composite[inverse[S],ZN] := ZN composite[inverse[SECOND],id[x_]] := composite[id[cart[V,x]],inverse[SECOND]] (* added 1999 October 17 based on CROSS.2 *) composite[INVERSE,SINGLETON] := composite[SINGLETON,SWAP] (* added 2003 October 7 based on WF-IND.NB *) composite[inverse[SINGLETON],CART] := cross[inverse[SINGLETON],inverse[SINGLETON]] (* Theorem AP-SG-C4 in AP2 added 1998 July 2 *) composite[inverse[SINGLETON],complement[E]] := Di composite[inverse[SINGLETON],complement[inverse[S]]] := composite[Id,complement[inverse[E]]] (* Theorem AP-DI-3 proved 1998 November 28 *) composite[inverse[SINGLETON],Di,SINGLETON] := Di (* added 1998 August 23 on basis of ASSOC-4.LOG *) composite[inverse[SINGLETON],DISJOINT] := composite[Id,complement[inverse[E]]] (* Theorem SG-4E-IN in SG1 *) composite[inverse[SINGLETON],E] := Id (* added 2001 October 10 based on REPLACE.NB *) composite[inverse[SINGLETON],id[x_]] := composite[id[image[inverse[SINGLETON],x]],inverse[SINGLETON]] (* added 2001 November 27 based on FUNPART1.NB *) composite[inverse[SINGLETON],image[inverse[IMG],range[SINGLETON]]] := composite[inverse[E],IMAGE[FIRST],FUNPART] (* added 2002 November 29 based on PLUS.NB *) composite[inverse[SINGLETON],IMAGE[rotate[NATADD]],INVERSE,PLUS] := id[omega] (* added 2000 September 22 based on EXPT *) composite[inverse[SINGLETON],IMAGE[SINGLETON]] := id[range[SINGLETON]] (* inverse of Theorem VS-IMG-3 in VS2 proved 1999 July 14 *) composite[inverse[SINGLETON],inverse[IMAGE[x_]]] := inverse[VERTSECT[x]] (* added 1998 August 9 *) composite[inverse[SINGLETON],inverse[BIGCAP]] := Id composite[inverse[SINGLETON],inverse[BIGCUP]] := Id (* added 2002 November 22 based on LB-UB-VS.NB *) composite[inverse[SINGLETON],inverse[LB[x_]]] := composite[Id,x] composite[inverse[SINGLETON],inverse[S]] := inverse[E] (* added 2002 November 22 based on LB-UB-VS.NB *) composite[inverse[SINGLETON],inverse[UB[x_]]] := inverse[x] (* added 2000 May 16 based on K-SR.NB *) composite[inverse[SINGLETON],K] := cart[set[0],V] (* added 1999 October 18 based on PAIRSET.3 *) composite[inverse[SINGLETON],PAIRSET] := inverse[DUP] (* added 2002 January 22 based on EQ-PC.NB *) composite[inverse[SINGLETON],POWER] := cart[set[0],set[0]] (* added 1999 September 26 based on TEST-LOG.1 *) composite[inverse[SINGLETON],PS] := cart[set[0],V] (* added 1999 September 26 based on TEST-LOG.1 *) composite[inverse[SINGLETON],S] := union[cart[set[0],V],inverse[SINGLETON]] (* added 2000 September 9 based on FNP-2.NB *) composite[inverse[SINGLETON],VERTSECT[x_]] := funpart[x] (* added 2003 January 30 *) composite[inverse[SUBCOMMUTE],IMAGE[DUP]] := inverse[INVAR] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[inverse[SUBCOMMUTE],IMAGE[SWAP]] := composite[inverse[IMAGE[SWAP]],SUBCOMMUTE] (* added 2002 June 3 based on REPLACE.NB *) composite[inverse[SUCC],id[omega],E] := composite[id[omega],S,id[omega]] (* added 2002 June 3 based on REPLACE.NB *) composite[inverse[SUCC],id[OMEGA],E] := composite[id[OMEGA],S,id[OMEGA]] (* added 2002 May 26 based on ON-SUC-1.NB *) composite[inverse[SUCC],id[OMEGA],inverse[IMAGE[inverse[SUCC]]]] := id[OMEGA] (* added 2002 June 3 based on REPLACE.NB *) composite[inverse[SUCC],id[omega],inverse[S],id[omega]] := composite[inverse[E],id[omega]] (* added 2002 April 15 based on OM-SUCC.NB *) composite[inverse[SUCC],id[omega],SUCC] := id[omega] (* added 2002 May 26 based on SUCC-ID.NB *) composite[inverse[SUCC],id[OMEGA],SUCC] := id[OMEGA] (* added 2002 April 18 based on SUCC.NB *) composite[inverse[SUCC],id[REGULAR],SUCC] := id[REGULAR] (* added 2002 September 16 based on SUB-SUCC.NB *) composite[inverse[SUCC],SUCC,NATADD] := NATADD (* added 2001 March 31 based on HF-AGAIN.NB *) composite[inverse[TC],inverse[S]] := composite[inverse[S],HC] (* derived 2005 January 29 in TRV-RFX.NB *) composite[inverse[trv[rfx[x_]]],complement[trv[rfx[x_]]]] := composite[id[fix[x]],complement[trv[rfx[x]]]] (* added 2002 November 9 based on TW-I-FL.NB *) composite[inverse[twist[x_]],id[cart[V,V]]] := inverse[twist[x]] (* derived 2004 May 14 in REPLACE.NB *) composite[inverse[VERTSECT[x_]],E] := inverse[thinpart[x]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[VERTSECT[EQUIDIFF]],INVERSE,PLUS] := inverse[rotate[NATADD]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[inverse[VERTSECT[EQUIDIFF]],PLUS] := composite[SWAP,inverse[rotate[NATADD]]] (* added 2002 December 16 based on EQUIDIFF.NB *) composite[inverse[VERTSECT[EQUIDIFF]],VERTSECT[EQUIDIFF]] := union[EQUIDIFF, cart[complement[cart[omega,omega]],complement[cart[omega,omega]]]] (* derived 2004 August 10 in RS-3.NB *) composite[inverse[VERTSECT[RESTRICT]],inverse[BIGCUP]] := inverse[IMAGE[id[cart[V,V]]]] (* derived 2004 August 10 in RS-3.NB *) composite[inverse[VERTSECT[RESTRICT]],VERTSECT[RESTRICT]] := composite[inverse[IMAGE[id[cart[V,V]]]],IMAGE[id[cart[V,V]]]] (* derived 2004 January 6 in VS-OO.NB *) composite[inverse[VS],VS] := composite[inverse[IMAGE[id[cart[V,V]]]],IMAGE[id[cart[V,V]]]] (* derived 2004 Agust 13 in X4015-56.NB *) composite[inverse[ZN],E] := composite[E,inverse[ZN]] (* derived 2005 January 5 in RANK-S.NB *) composite[inverse[ZN],inverse[ZN]] := inverse[ZN] (* added 2001 July 15 based on ZN-AGAIN.NB *) composite[inverse[ZN],S] := inverse[ZN] (* added 2001 July 15 based on ZN-AGAIN.NB *) composite[inverse[ZN],ZN] := cart[V,V] (* added 2003 August 8 based on REPLACE.NB *) composite[iterate[x_,y_],id[intersection[omega,z_]]] := composite[iterate[x,y],id[z]] (* added 2002 April 15 based on ITERATE.NB *) composite[iterate[x_,y_],id[omega]] := iterate[x,y] (* added 2002 October 27 based on NATMUL.NB *) composite[iterate[iterate[SUCC,set[x_]],set[0]], id[image[V,intersection[omega,set[x_]]]]] := composite[NATMUL,LEFT[x]] (* added 2002 July 4 based on NATADD.NB *) composite[iterate[x_,set[y_]],id[image[V,set[y_]]]] := iterate[x,set[y]] (* added 2002 July 4 based on NATADD.NB *) composite[iterate[x_,set[y_]], id[intersection[w_,image[V,set[y_]]]]] := composite[iterate[x,set[y]],id[w]] (* added 2002 April 17 based on ITERATE.NB *) composite[iterate[x_,y_],SUCC] := composite[x,iterate[x,y]] (* added 2003 December 9 based on ITER-K.NB *) composite[K,inverse[CARD],id[omega]] := composite[inverse[CARD],id[omega],SUCC] (* added 2003 June 6 based on K-PS.NB *) composite[K,PS] := composite[PS,PS] (* Theorem Q-K-2 in Q proved 2000 May 23 *) composite[K,Q] := composite[Q,K] (* Theorem K-SR2 in K proved 2000 May 16 *) composite[K,S] := PS (* added 2002 October 22 based on CO-ID.NB *) composite[KURA,id[cart[V,V]]] := KURA (* added 2003 May 10 based on LAMBHULL.NB *) composite[LAMBHULL,ACLOSURE] := LAMBHULL (* added 2003 May 10 based on LAMBHULL.NB *) composite[LAMBHULL,CLIQUES] := composite[IMAGE[DUP],CLIQUES] (* added 2003 October 21 based on LAMHUL-2.NB *) composite[LAMBHULL,IMAGE[inverse[S]]] := composite[IMAGE[DUP],IMAGE[inverse[S]]] (* added 2003 May 10 based on LAMBHULL.NB *) composite[LAMBHULL,POWER] := composite[IMAGE[DUP],POWER] (* added 2003 October 21 based on LAMHUL-2.NB *) composite[LAMBHULL,SINGLETON] := VERTSECT[composite[id[S],inverse[SECOND]]] (* derived 2004 December 21 in COMUTANT.NB *) composite[LB[COMMUTE],IMAGE[IMAGE[id[cart[V,V]]]]] := LB[COMMUTE] (* derived 2004 December 21 in COMUTANT.NB *) composite[LB[COMMUTE],IMAGE[IMAGE[SWAP]]] := composite[inverse[IMAGE[SWAP]],LB[COMMUTE]] (* derived 2004 December 21 in COMUTANT.NB *) composite[LB[COMMUTE],inverse[BIGCUP]] := COMMUTE (* added 2000 November 10 based on UB-LB-1.LOG *) composite[LB[x_],complement[E]] := cart[V,V] (* derived 2004 January 29 in UB-LB-CO.NB *) composite[LB[x_],complement[inverse[S]]] := composite[inverse[x],complement[inverse[E]]] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[LB[x_],complement[S]] := cart[complement[set[0]],V] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[LB[x_],DISJOINT] := cart[V,V] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[LB[x_],E] := inverse[x] (* added 2001 July 8 based on REMOVED.NB *) composite[LB[x_],id[P[y_]],E] := composite[inverse[x],id[y]] (* added 2002 November 17 based on LB-UB.NB *) composite[LB[x_],id[P[range[x_]]]] := LB[x] (* added 2002 May 18 based on LB-FUN.NB *) composite[LB[image[inverse[IMG],range[SINGLETON]]],IMAGE[SINGLETON]] := composite[inverse[FUNPART],inverse[IMAGE[FIRST]],S] (* derived 2004 December 24 in UCL-LBUB.NB *) composite[LB[x_],inverse[BIGCUP],E] := composite[inverse[x],E] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[LB[x_],inverse[GREATEST[y_]]] := composite[inverse[x],id[fix[y]]] (* derived 2004 January 29 in UB-LB-CO.NB *) composite[LB[x_],inverse[IMAGE[id[y_]]]] := composite[LB[x],id[P[y]]] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[LB[x_],inverse[LEAST[y_]]] := composite[inverse[x],id[fix[y]]] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[LB[x_],inverse[S]] := cart[V,V] (* added 2000 December 14 based on PAIRSET.NB *) composite[LB[x_],PAIRSET] := intersection[composite[inverse[x],FIRST],composite[inverse[x],SECOND]] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[LB[x_],S] := LB[x] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[LB[x_],SINGLETON] := inverse[x] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[LB[SUBCOMMUTE],IMAGE[IMAGE[id[cart[V,V]]]]] := LB[SUBCOMMUTE] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[LB[SUBCOMMUTE],IMAGE[IMAGE[SWAP]]] := composite[inverse[IMAGE[SWAP]],UB[SUBCOMMUTE]] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[LB[SUBCOMMUTE],inverse[BIGCUP]] := inverse[SUBCOMMUTE] (* added 2000 December 24 based on LT-CO-S *) composite[LEAST[x_],complement[E]] := composite[id[fix[x]],Di] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[LEAST[x_],DISJOINT] := composite[id[fix[x]],complement[inverse[E]]] (* added 2000 December 14 based on LT-CO-E.NB *) composite[LEAST[x_],E] := composite[id[fix[x]],inverse[x]] (* added 2002 November 17 based on LB-UB.NB *) composite[LEAST[x_],id[P[range[x_]]]] := LEAST[x] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[LEAST[x_],inverse[LB[y_]]] := composite[id[fix[x]],y] (* added 2000 December 24 based on LT-CO-S *) composite[LEAST[x_],inverse[S]] := composite[inverse[E],IMAGE[id[fix[x]]]] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[LEAST[x_],inverse[UB[y_]]] := composite[id[fix[x]],inverse[y]] composite[LEAST[x_],PAIRSET] := union[composite[FIRST,id[composite[x,id[fix[x]]]]], composite[SECOND,id[composite[id[fix[x]],inverse[x]]]]] (* added 2002 December 14 based on LT-S.NB *) composite[LEAST[x_],S] := composite[id[fix[x]],LB[x]] (* added 2000 November 19 based on GT-CO-SG.NB *) composite[LEAST[x_],SINGLETON] := id[fix[x]] (* derived 2004 March 9 in IDEMLTGT.NB *) composite[LEAST[x_],VERTSECT[LEAST[x_]]] := LEAST[x] (* derived 2004 May 14 in REPLACE.NB *) composite[LEAST[x_],VERTSECT[UB[x_]]] := composite[LUB[x],id[domain[VERTSECT[UB[x]]]]] (* added 2003 September 11 based on ID-IMV.NB *) composite[LEFT[x_],y___,id[image[V,set[x_]]]] := composite[LEFT[x],y] (* added 2003 July 15 based on L-R-PAIR.NB *) composite[LEFT[x_],id[image[V,set[first[x_]]]]] := LEFT[PAIR[first[x],second[x]]] (* added 2002 August 28 based on RIGHT.NB *) composite[LEFT[x_],id[intersection[y_,image[V,set[x_]]]]] := composite[LEFT[x],id[y]] (* added 2000 December 3 based on GLB-LUB.NB *) composite[LUB[x_],SINGLETON] := composite[Id, intersection[x,complement[composite[complement[inverse[x]],x]]]] (* added 2001 April 27 based on MAP2.NB *) composite[MAP,id[cart[V,V]]] := MAP (* added 2002 October 22 based on CO-ID.NB *) composite[MAXIMAL[x_],id[complement[subvar[intersection[Di,inverse[x_]]]]]] := MAXIMAL[x] (* added 2002 October 22 based on CO-ID.NB *) composite[MINIMAL[x_],id[complement[subvar[intersection[Di,x_]]]]] := MINIMAL[x] (* added 2002 June 21 based on NATASS.NB *) composite[NATADD,cross[x_,composite[id[omega],y_]]] := composite[NATADD,cross[x,y]] (* added 2002 June 21 based on NATASS.NB *) composite[NATADD,cross[composite[id[omega],x_],y_]] := composite[NATADD,cross[x,y]] (* added 2002 September 24 based on ADD-X-S.NB *) composite[NATADD,cross[composite[S,id[omega]],Id]] := composite[id[omega],S,NATADD] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[NATADD,cross[Id,composite[id[omega],SUCC]]] := composite[NATADD,cross[Id,SUCC]] (* added 2001 June 18 based on COMMUTE.NB *) composite[NATADD,cross[Id,composite[S,id[omega]]]] := composite[id[omega],S,NATADD] (* added 2002 June 13 based on ASSOC.NB *) composite[NATADD,cross[Id,NATADD],ASSOC] := composite[NATADD,cross[NATADD,Id]] (* added 2002 October 31 based on ADD-SUB.NB *) composite[NATADD,cross[Id,rotate[NATADD]]] := composite[rotate[NATADD],cross[NATADD,Id], id[composite[inverse[S],SECOND]],inverse[ASSOC]] (* added 2002 June 16 based on ADD-SUCC.NB *) composite[NATADD,cross[Id,SUCC]] := composite[SUCC,NATADD] (* added 2002 June 21 based on NATASS.NB *) composite[NATADD,cross[NATADD,Id],inverse[ASSOC]] := composite[NATADD,cross[Id,NATADD]] (* added 2002 June 21 based on NATASS.NB *) composite[NATADD,cross[NATADD,Id],inverse[ROT]] := composite[NATADD,cross[NATADD,Id]] (* added 2002 June 13 based on ASSOC.NB *) composite[NATADD,cross[NATADD,Id],ROT] := composite[NATADD,cross[NATADD,Id]] (* derived 2005 March 26 in DIVDSTRB.NB *) composite[NATADD,cross[NATMUL,NATMUL],TWIST,cross[DUP,Id]] := composite[NATMUL,cross[Id,NATADD]] (* added 2002 August 29 based on BINHOM.NB *) composite[NATADD,cross[NATMUL,NATMUL],TWIST,cross[Id,DUP]] := composite[NATMUL,cross[NATADD,Id]] (* added 2002 October 31 based on ADD-SUB.NB *) composite[NATADD,cross[rotate[NATADD],Id]] := composite[rotate[NATADD],cross[NATADD,Id],id[composite[inverse[S],SECOND]],ROT] (* added 2002 June 16 based on ADD-SUCC.NB *) composite[NATADD,cross[SUCC,Id]] := composite[SUCC,NATADD] (* added 2002 October 22 based on CO-ID.NB *) composite[NATADD,id[cart[omega,omega]]] := NATADD (* added 2002 June 20 based on ITERNORM.NB *) composite[NATADD,id[cart[omega,V]]] := NATADD (* added 2002 June 16 based on ADD-1ST.NB *) composite[NATADD,id[cart[V,omega]]] := NATADD (* added 2002 June 12 based on NATADD.NB *) composite[NATADD,id[cart[V,V]]] := NATADD (* added 2002 November 3 based on SIMPLIFY.NB *) composite[NATADD,id[complement[cart[omega,omega]]]] := 0 (* added 200 October 6 based on CANCEL.NB *) composite[NATADD,id[image[inverse[NATADD],set[x_]]],inverse[FIRST]] := cart[succ[x],intersection[omega,set[x]]] (* added 200 October 6 based on CANCEL.NB *) composite[NATADD,id[image[inverse[NATADD],set[x_]]],inverse[SECOND]] := cart[succ[x],intersection[omega,set[x]]] (* added 2002 September 5 based on NORMAL.NB *) composite[NATADD,id[union[cart[V,complement[omega]],cart[complement[omega],V]]]] := 0 (* derived 2005 March 26 in DIVDSTRB.NB *) composite[NATADD,intersection[composite[inverse[FIRST],DIV],composite[inverse[SECOND],DIV]]] := DIV (* added 2002 June 16 based on ADD-1ST.NB *) composite[NATADD,inverse[FIRST]] := composite[id[omega],S,id[omega]] (* added 2002 June 21 based on NATADD.NB *) composite[NATADD,inverse[SECOND]] := composite[id[omega],S,id[omega]] (* added 2003 August 7 based on PLUS.NB *) composite[NATADD,LEFT[x_]] := plus[x] (* added 2003 August 7 based on PLUS.NB *) composite[NATADD,RIGHT[x_]] := plus[x] (* added 2002 June 12 based on NATADD.NB *) composite[NATADD,SWAP] := NATADD (* derived 2005 May 21 in MOD-DUP.NB *) composite[NATMOD,DUP] := cart[omega,set[0]] (* derived 2005 May 17 based on NATMOD.NB *) composite[NATMOD,id[cart[V,V]]] := NATMOD (* derived 2005 May 21 in MOD-DUP.NB *) composite[NATMOD,id[inverse[DIV]],inverse[SECOND]] := cart[omega,set[0]] (* derived 2005 May 21 in MOD-DUP.NB *) composite[NATMOD,intersection[composite[inverse[FIRST],NATMUL], composite[inverse[SECOND],FIRST]]] := cart[cart[omega,omega],set[0]] (* derived 2005 May 21 in MOD-DUP.NB *) composite[NATMOD,inverse[rotate[NATMUL]]] := cart[omega,set[0]] (* derived 2005 May 17 based on NATMOD.NB *) composite[NATMOD,LEFT[0]] := cart[omega,set[0]] (* derived 2005 May 17 based on NATMOD.NB *) composite[NATMOD,RIGHT[0]] := id[omega] (* derived 2005 May 17 based on NATMOD.NB *) composite[NATMOD,RIGHT[set[0]]] := cart[omega,set[0]] (* added 2002 August 29 based on MULASSOC.NB *) composite[NATMUL,cross[Id,NATMUL],ASSOC] := composite[NATMUL,cross[NATMUL,Id]] (* derived 2005 February 18 in MUL-NORM.NB *) composite[NATMUL,id[cart[x_,complement[omega]]]] := 0 (* added 2002 October 22 based on CO-ID.NB *) composite[NATMUL,id[cart[omega,omega]]] := NATMUL (* added 2002 June 30 based on MUL-DO.NB *) composite[NATMUL,id[cart[omega,V]]] := NATMUL (* added 2002 June 30 based on MUL-DO.NB *) composite[NATMUL,id[cart[V,omega]]] := NATMUL (* added 2002 June 30 based on NATMUL.NB *) composite[NATMUL,id[cart[V,V]]] := NATMUL (* derived 2005 February 18 in MUL-NORM.NB *) composite[NATMUL,id[union[cart[V,complement[omega]],cart[complement[omega],V]]]] := 0 (* added 2002 August 30 based on DIVIDES.NB *) composite[NATMUL,inverse[FIRST]] := DIV (* added 2002 August 30 based on DIVIDES.NB *) composite[NATMUL,inverse[SECOND]] := DIV (* added 2002 August 25 based on MUL-LEFT.NB *) composite[NATMUL,LEFT[0]] := cart[omega,set[0]] (* added 2002 August 25 based on LEFT-MUL.NB *) composite[NATMUL,LEFT[x_],id[omega]] := composite[NATMUL,LEFT[x]] (* added 2002 August 29 based on BINHOM.NB *) composite[NATMUL,LEFT[x_],NATADD] := composite[NATADD, cross[composite[NATMUL,LEFT[x]],composite[NATMUL,LEFT[x]]]] (* added 2002 August 29 based on MULASSOC.NB *) composite[NATMUL,LEFT[x_],NATMUL,LEFT[y_]] := composite[NATMUL,LEFT[natmul[x,y]]] (* added 2002 October 5 based on MUL-OO.NB *) composite[NATMUL,LEFT[x_],rotate[NATADD]] := composite[rotate[NATADD], cross[composite[NATMUL,LEFT[x]],composite[NATMUL,LEFT[x]]],id[inverse[S]]] (* added 2002 August 25 based on MUL-LEFT.NB *) composite[NATMUL,LEFT[set[0]]] := id[omega] (* added 2003 August 8 based on REPLACE.NB *) composite[NATMUL,LEFT[x_],SUCC] := composite[plus[x],NATMUL,LEFT[x]] (* added 2003 August 27 based on NATDIV.NB *) composite[NATMUL,LEFT[succ[x_]]] := composite[NATADD,id[composite[inverse[LEFT[x]],inverse[NATMUL]]], inverse[SECOND]] (* added 2002 August 28 based on MUL-SWAP.NB *) composite[NATMUL,RIGHT[x_]] := composite[NATMUL,LEFT[x]] (* added 2002 August 28 based on MUL-SWAP.NB *) composite[NATMUL,SWAP] := NATMUL (* added 1998 May 24 *) composite[omega,x_] := 0 composite[x_,omega] := 0 (* added 1998 May 24 *) composite[OMEGA,x_] := 0 composite[x_,OMEGA] := 0 (* derived 2004 May 9 in OOPART.NB *) composite[OOPART,IMAGE[id[cart[V,V]]]] := OOPART (* derived 2004 May 9 in OOPART.NB *) composite[OOPART,IMAGE[SWAP]] := composite[IMAGE[SWAP],OOPART] (* derived 2004 May 9 in OOPART.NB *) composite[OOPART,OOPART] := OOPART (* derived 2004 June 15 in X1235.NB *) composite[set[x_,y_]] := union[cart[set[first[x]],set[second[x]]], cart[set[first[y]],set[second[y]]]] (* Theorem PRS-DUP proved 2000 August 15 *) composite[PAIRSET,DUP] := SINGLETON (* added 1999 October 2 based on PAIRSET.5 *) composite[PAIRSET,id[cart[V,V]]] := PAIRSET (* added 1999 December 2 based on PAIRSET.1 *) composite[PAIRSET,id[Id]] := composite[SINGLETON,inverse[DUP]] (* added 2001 August 23 based on PAIRSET.NB *) composite[PAIRSET,id[SINGLETON],inverse[FIRST]] := composite[SUCC,SINGLETON] (* added 2002 January 11 based on KURA.NB *) composite[PAIRSET,intersection[composite[inverse[FIRST],PAIRSET], composite[inverse[SECOND],SINGLETON,FIRST]]] := KURA (* added 2002 January 11 based on KURA.NB *) composite[PAIRSET,intersection[composite[inverse[SECOND],PAIRSET], composite[inverse[FIRST],SINGLETON,FIRST]]] := KURA (* added 2001 March 29 based on PAIRSET.NB *) composite[PAIRSET,LEFT[x_]] := composite[ADJOIN[set[x]],SINGLETON,id[image[V,set[x]]]] (* added 2001 March 29 based on PAIRSET.NB *) composite[PAIRSET,RIGHT[x_]] := composite[ADJOIN[set[x]],SINGLETON,id[image[V,set[x]]]] (* Theorem PRS-SW proved 2000 August 15 *) composite[PAIRSET,SWAP] := PAIRSET (* added 2003 August 8 based on REPLACE.NB *) composite[plus[x_],y___,id[image[V,intersection[omega,set[x_]]]]] := composite[plus[x],y] (* added 2003 August 8 based on REPLACE.NB *) composite[plus[x_],y___,id[image[V,set[x_]]]] := composite[plus[x],y] (* added 2003 August 8 based on REPLACE.NB *) composite[plus[x_],id[intersection[y_,image[V,set[x_]]]]] := composite[plus[x],id[y]] (* added 2002 December 19 based on PLUSNORM.NB *) composite[PLUS,id[omega]] := PLUS (* added 2003 August 8 based on REPLACE.NB *) composite[plus[x_],id[omega]] := plus[x] (* added 2003 July 5 based on PLUS-ISO.NB *) composite[PLUS,NATADD] := composite[COMPOSE,cross[PLUS,PLUS]] (* added 2003 August 8 based on REPLACE.NB *) composite[plus[x_],NATADD] := composite[NATADD,cross[Id,plus[x]]] (* added 2003 August 8 based on REPLACE.NB *) composite[plus[x_],plus[y_]] := plus[natadd[x,y]] (* added 2003 August 8 based on REPLACE.NB *) composite[plus[x_],S,id[omega]] := composite[id[omega],S,plus[x]] (* added 2003 October 20 based on MONOPLUS.NB *) composite[plus[x_],S,inverse[plus[x_]]] := composite[id[omega],S,id[intersection[omega,image[S,set[x]], image[V,intersection[omega,set[x]]]]]] (* added 2003 August 8 based on REPLACE.NB *) composite[plus[x_],SUCC] := composite[SUCC,plus[x]] (* added 1999 October 9 based on CAP-LOG.2 *) composite[POWER,CAP] := composite[CAP,cross[POWER,POWER]] (* 1999 March 26 session POW-E-SR.LOG *) composite[POWER,complement[S]] := composite[id[range[POWER]],complement[E]] (* added 2002 May 21 based on POWER.NB *) composite[power[x_],id[omega]] := power[x] (* added 2001 July 14 based on ZN-IMG.NB *) composite[POWER,IMAGE[ZN]] := VERTSECT[ZN] (* added 2000 October 3 based on POWER-PS.NB *) composite[POWER,PS] := composite[id[range[POWER]],PS,POWER] (* added 2002 June 12 based on NATADD.NB *) composite[power[x_],rotate[inverse[power[SUCC]]]] := composite[power[x],NATADD] (* added 2000 January 10 based on POWER-2.NB replacement for Theorem POW-CO4 in POW3 *) composite[POWER,S] := composite[id[range[POWER]],S,POWER] (* derived 2005 January 9 in PC-CARD2.NB *) composite[POWER,SINGLETON] := composite[ADJOIN[set[0]],SINGLETON,SINGLETON] (* added 2002 May 21 based on POWER.NB *) composite[power[x_],SUCC] := composite[cross[Id,x],power[x]] (* added 1998 August 9 *) composite[PS,complement[E]] := cart[V,complement[set[0]]] (* added 1998 August 9 *) composite[PS,complement[S]] := cart[complement[set[0]],complement[set[0]]] (* see PS-LOG.1 added 1998 September 5 *) composite[PS,DISJOINT] := cart[V,complement[set[0]]] (* Theorem PS-CO-SG in PS1 proved 1998 September 5 *) composite[PS,E] := composite[PS,SINGLETON] (* added 1999 November 23 based on ADJ-B3.NB *) composite[PS,id[image[S,set[x_]]],S] := composite[PS,ADJOIN[x]] (* added 1998 August 9 *) composite[PS,inverse[S]] := cart[V,complement[set[0]]] (* added 2003 June 6 based on K-PS.NB *) composite[PS,K] := composite[PS,PS] (* Theorem Q-PS-CO in Q proved 2000 June 2 *) composite[PS,Q] := composite[Q,PS] (* Theorem PS-CO-1 in PS added 1998 August 9 *) composite[PS,S] := PS (* added 2001 December 17 based on Q-HAT.NB *) composite[Q,CARD] := composite[inverse[CARD],CARD] (* Theorem Q-C-E in Q proved 2000 May 9 *) composite[Q,complement[E]] := cart[V,V] (* Theorem Q-C-CO-1 in Q proved 2000 May 7 *) composite[Q,complement[Q]] := composite[Id,complement[Q]] (* added 2000 May 9 based on Q-C-E.NB *) composite[Q,complement[S]] := cart[complement[set[0]],V] (* added 2001 July 15 based on FUNPART.NB *) composite[Q,Di] := union[cart[V,complement[set[0]]], cart[complement[set[0]],V]] (* Theorem Q-DJ-1 in Q proved 2000 May 12 *) composite[Q,DISJOINT] := cart[V,V] (* added 2002 August 2 based on Q-E.NB *) composite[Q,E] := cart[V,complement[set[0]]] (* added 2003 December 9 based on ITER-K.NB *) composite[Q,id[FINITE]] := composite[inverse[CARD],id[omega],CARD] (* added 2001 December 17 based on Q-HAT.NB *) composite[Q,id[fix[CARD]]] := inverse[CARD] (* added 2001 December 17 based on Q-HAT.NB *) composite[Q,id[image[Q,OMEGA]]] := composite[inverse[CARD],CARD] (* added 2002 May 28 based on FINITE.NB *) composite[Q,id[omega]] := composite[inverse[CARD],id[omega]] (* discovered 2000 May 7 in Q-CO.NB *) composite[Q,id[range[SINGLETON]]] := cart[range[SINGLETON],range[SINGLETON]] (* derived 2004 July 26 in DORAFUNS.NB *) composite[Q,image[DORA,FUNS]] := image[DORA,FUNS] (* added 2001 December 17 based on Q-HAT.NB *) composite[Q,inverse[CARD]] := inverse[CARD] (* Theorem Q-6B in Q proved 2000 April 25 *) composite[Q,Q] := Q (* Theorem Q-CO-SG in Q proved 2000 May 7 *) composite[Q,SINGLETON] := cart[V,range[SINGLETON]] (* derived 2004 April 6 in SMALLER.NB *) composite[Q,SMALLER] := SMALLER (* derived 2004 December 24 in CARD.NB *) composite[RANK,CARD] := CARD (* added 2001 August 5 based on RK-U.NB *) composite[RANK,CUP] := composite[CUP,cross[RANK,RANK]] (* added 2001 August 13 based on RANK-SR.NB *) composite[RANK,id[complement[REGULAR]]] := 0 (* added 2001 August 1 based on RK-TC.NB *) composite[RANK,id[OMEGA]] := id[OMEGA] (* added 2002 October 22 based on CO-ID.NB *) composite[RANK,id[REGULAR]] := RANK (* added 2001 August 4 based on RK-IMS.NB *) composite[RANK,IMAGE[inverse[S]]] := RANK (* added 2001 August 12 based on RANK-1.NB *) composite[RANK,IMAGE[RANK]] := composite[RANK,IMAGE[id[REGULAR]]] (* added 2001 July 31 based on RK-ZN-IM.NB *) composite[RANK,IMAGE[ZN]] := RANK (* added 2001 August 5 based on RK-U.NB *) composite[RANK,PAIRSET] := composite[CUP, cross[composite[SUCC,RANK],composite[SUCC,RANK]]] (* added 2001 August 4 based on RK-PC.NB *) composite[RANK,POWER] := composite[SUCC,RANK] (* Theorem RK-RK-2 in RANK2 proved 2001 July 25 *) composite[RANK,RANK] := RANK (* derived 2005 January 5 in RANK-S.NB *) composite[RANK,S] := composite[id[OMEGA],S,RANK] (* added 2001 August 4 based on RK-IMS.NB *) composite[RANK,SINGLETON] := composite[SUCC,RANK] (* added 2001 August 5 based on RK-U.NB *) composite[RANK,SUCC] := composite[SUCC,RANK] (* added 2001 August 1 based on RK-TC.NB *) composite[RANK,TC] := RANK (* derived 2004 August 14 in ZN-RULES.NB *) composite[RANK,VERTSECT[ZN]] := composite[SUCC,RANK] (* derived 2003 December 25 in RC-CUP.NB *) composite[RC[x_],CUP] := composite[CAP,cross[RC[x],RC[x]]] (* added 1999 December 19 based on RC-5.NB *) composite[RC[x_],DISJOINT] := composite[id[P[x]],S,IMAGE[id[x]],id[image[V,set[x]]]] (* added 2003 September 11 based on ID-IMV.NB *) composite[RC[x_],y___,id[image[V,set[x_]]]] := composite[RC[x],y] (* derived 2004 April 26 in ANTITONE.NB *) composite[RC[x_],y___,id[intersection[z_,image[V,set[x_]]]]] := composite[RC[x],y,id[z]] (* added 2002 October 22 based on CO-ID.NB *) composite[RC[x_],id[intersection[y_,P[x_]]]] := composite[RC[x],id[y]] (* added 1999 October 29 based on 1999 October 28 session RC-LOG.1 *) composite[RC[x_],id[P[x_]]] := RC[x] (* added 1999 December 24 based on SYMDIF-2.NB *) composite[RC[x_],image[inverse[SYMDIF],set[x_]]] := id[intersection[image[V,set[x]],P[x]]] (* added 1999 November 6 based on CO-4.LOG *) composite[RC[x_],inverse[IMAGE[id[x_]]]] := RC[x] (* added 1999 December 19 based on RC-5.NB *) composite[RC[x_],inverse[S],id[P[x_]]] := composite[id[P[x]],S,RC[x]] (* added 1999 December 19 based on RC-5.NB *) composite[RC[x_],inverse[S],IMAGE[id[x_]]] := composite[RC[x],inverse[S]] (* added 1999 October 31 based on DIF-LEFT.NB *) composite[RC[x_],RC[x_]] := id[intersection[image[V,set[x]],P[x]]] (* added 1999 December 19 based on RC-5.NB *) composite[RC[x_],S] := composite[id[P[x]],DISJOINT, id[intersection[image[V,set[x]],P[x]]]] (* added 2003 September 11 based on ID-IMV.NB *) composite[RC[U[x_]],y___,id[image[V,set[x_]]]] := composite[RC[U[x]],y] (* Theorem REG-CO2 in REG2 proved 1999 March 15 *) composite[REGULAR,x_] := cart[image[inverse[x],REGULAR],REGULAR] (* Theorem REG-CO1 in REG2 proved 1999 March 15 *) composite[x_,REGULAR] := cart[REGULAR,image[x,REGULAR]] (* added 2003 May 31 based on RS-CO.NB *) composite[RESTRICT,complement[S]] := composite[id[P[cart[V,V]]],complement[S]] (* added 2003 May 30 based on RESTRICT.NB *) composite[RESTRICT,IMAGE[id[cart[V,V]]]] := RESTRICT (* added 2003 May 31 based on RS-CO.NB *) composite[RESTRICT,inverse[S]] := composite[inverse[S],IMAGE[id[cart[V,V]]]] (* added 2003 May 30 based on RESTRICT.NB *) composite[RESTRICT,RESTRICT] := RESTRICT (* derived 2004 December 19 in QO-IDEM.NB *) composite[rfx[thinpart[trv[x_]]],rfx[thinpart[trv[x_]]]] := rfx[thinpart[trv[x]]] (* derived 2004 December 17 in RFXTRV-C.NB *) composite[rfx[trv[x_]],complement[inverse[rfx[trv[x_]]]]] := composite[id[fix[trv[x]]],complement[inverse[rfx[trv[x]]]]] (* derived 2004 December 19 in QO-IDEM.NB *) composite[rfx[trv[x_]],rfx[trv[x_]]] := rfx[trv[x]] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[composite[id[cart[V,V]],x_],y_]] := composite[RIF,cross[x,y]] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[x_,composite[id[cart[V,V]],y_]]] := composite[RIF,cross[x,y]] (* added 2002 November 2 based on TWIST-IM.NB *) composite[RIF,cross[x_,composite[id[inverse[SECOND]],inverse[SECOND],inverse[FIRST]]]] := twist[rotate[composite[inverse[x],SWAP]]] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[composite[SWAP,inverse[rotate[NATADD]]], composite[SWAP,inverse[rotate[NATADD]]]]] := composite[inverse[rotate[NATADD]],NATADD] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[composite[SWAP,power[x_]],composite[SWAP,power[x_]]]] := composite[power[x],NATADD] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[x_,composite[SWAP,RIF]],ASSOC] := composite[RIF,cross[composite[SWAP,RIF,cross[x,Id]],Id]] (* added 2002 December 27 based on RIF-ASS.NB *) composite[RIF,cross[x_,composite[SWAP,RIF,cross[y_,z_]]],ASSOC] := composite[RIF,cross[composite[SWAP,RIF,cross[x,y]],z]] (* added 2002 June 7 based on RIF-SWAP.NB *) composite[RIF,cross[cross[u_,v_],cross[x_,y_]],inverse[RIF]] := cross[v,composite[x,id[image[V,fix[composite[inverse[u],y]]]]]] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[id[cart[V,V]],x_]] := composite[RIF,cross[Id,x]] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[x_,id[cart[V,V]]]] := composite[RIF,cross[x,Id]] (* added 2001 January 20 based on TWIST-4.NB *) composite[RIF,cross[x_,inverse[FIRST]]] := cross[composite[SECOND,x],Id] (* added 2002 June 7 based on RIF.NB *) composite[RIF,cross[inverse[FIRST],x_]] := composite[inverse[SECOND],rotate[composite[inverse[x],SWAP]],SWAP] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[x_,y_],inverse[ROT]] := composite[SWAP,RIF,cross[composite[SWAP,y],composite[SWAP,x]],ASSOC] (* added 2002 November 29 based on PLUS.NB *) composite[RIF,cross[inverse[rotate[NATADD]], composite[SWAP,inverse[rotate[NATADD]]]]] := composite[SWAP,EQUIDIFF] (* added 2002 December 23 based on RIF-TW.NB *) composite[RIF,cross[inverse[rotate[NATADD]],inverse[NATADD]]] := composite[inverse[NATADD],rotate[NATADD],SWAP] (* added 2002 December 23 based on RIF-TW.NB *) composite[RIF,cross[inverse[rotate[NATADD]],inverse[rotate[NATADD]]]] := composite[SWAP,inverse[rotate[NATADD]],NATADD] (* added 2001 January 20 based on TWIST-4.NB *) composite[RIF,cross[inverse[SECOND],x_]] := cross[Id,composite[FIRST,x]] (* added 2002 June 7 based on RIF.NB *) composite[RIF,cross[x_,inverse[SECOND]]] := composite[inverse[FIRST],rotate[inverse[x]]] (* added 2002 June 12 based on NATADD.NB *) composite[RIF,cross[power[x_],power[x_]]] := composite[SWAP,power[x],NATADD] (* added 2002 July 9 based on RIFASSOC.NB *) composite[RIF,cross[SWAP,inverse[rotate[x_]]]] := composite[cross[Id,x],ASSOC] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,cross[SWAP,SWAP],inverse[RIF]] := cart[Id,Id] (* added 2002 January 2 based on ASSOC2.NB *) composite[RIF,DUP] := id[Id] (* added 2007 based on RIF-IN.NB *) composite[RIF,id[cart[x_,cart[V,V]]]] := composite[RIF,id[cart[x,V]]] (* added 2007 based on RIF-IN.NB *) composite[RIF,id[cart[cart[V,V],x_]]] := composite[RIF,id[cart[V,x]]] (* added 2002 April 5 based on REIFY.NB *) composite[RIF,id[cart[x_,y_]],inverse[FIRST]] := composite[SWAP,cross[inverse[y],Id],id[x]] (* added 2002 April 5 based on REIFY.NB *) composite[RIF,id[cart[x_,y_]],inverse[SECOND]] := composite[SWAP,cross[Id,x],id[y]] (* added 2002 April 6 based on SUBST.NB *) composite[RIF,id[cart[V,cart[V,V]]]] := RIF (* added 2001 January 20 based on RIF-2.NB *) composite[RIF,id[cart[V,V]]] := RIF (* added 2002 December 19 based on IDX-RIF.NB *) composite[RIF,id[composite[id[y_],inverse[SECOND],FIRST,id[x_]]]] := composite[RIF,id[cart[x,y]]] (* added 2002 October 22 based on CO-ID.NB *) composite[RIF,id[composite[inverse[SECOND],FIRST]]] := RIF (* derived 2004 January 7 in VSLAMBDA.NB *) composite[RIF,intersection[composite[inverse[FIRST],x_], composite[inverse[SECOND],DUP,y_]]] := composite[SWAP,intersection[x,composite[inverse[FIRST],y]]] (* derived 2004 January 7 in VSLAMBDA.NB *) composite[RIF,intersection[composite[inverse[FIRST],x_], composite[inverse[SECOND],inverse[E],IMAGE[DUP]]]] := composite[SWAP,intersection[x,composite[inverse[FIRST],inverse[E]]]] (* added 2001 February 1 based on RIF-1.NB *) composite[RIF,inverse[FIRST]] := composite[inverse[FIRST],SECOND] (* added 2001 February 1 based on RIF-1.NB *) composite[RIF,inverse[SECOND]] := composite[inverse[SECOND],FIRST] (* added 2002 August 31 based on RIF.NB *) composite[RIF,LEFT[x_]] := composite[LEFT[second[x]],inverse[RIGHT[first[x]]]] (* added 2002 August 31 based on RIF.NB *) composite[RIF,RIGHT[x_]] := composite[RIGHT[first[x]],inverse[LEFT[second[x]]]] (* added 2002 December 28 based on REPLACE.NB *) composite[RIF,SWAP] := composite[SWAP,RIF,cross[SWAP,SWAP]] (* added 2001 January 20 based on RIF-2.NB *) composite[RIF,TWIST] := composite[SWAP,RIF] (* added 2003 September 11 based on ID-IMV.NB *) composite[RIGHT[x_],y___,id[image[V,set[x_]]]] := composite[RIGHT[x],y] (* added 2003 July 15 based on L-R-PAIR.NB *) composite[RIGHT[x_],id[image[V,set[first[x_]]]]] := RIGHT[PAIR[first[x],second[x]]] (* added 2002 August 28 based on RIGHT.NB *) composite[RIGHT[x_],id[intersection[y_,image[V,set[x_]]]]] := composite[RIGHT[x],id[y]] (* added 2002 December 28 based on ROT-TW.NB *) composite[ROT,cross[composite[SWAP,ROT],Id],ROT] := composite[TWIST,cross[SWAP,SWAP]] (* derived 2004 July 27 in ROTASSOC.NB *) composite[ROT,cross[cross[x_,y_],z_],inverse[ROT]] := cross[cross[z,x],y] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[ROT,cross[LEFT[x_],Id]] := composite[SWAP,cross[Id,RIGHT[x]]] (* added 2002 October 22 based on CO-ID.NB *) composite[ROT,id[cart[cart[V,V],V]]] := ROT (* added 1999 August 3 *) composite[ROT,id[cart[V,V]]] := ROT (* added 1999 October 31 based on ASSOC.1 *) composite[ROT,inverse[ASSOC]] := composite[inverse[ROT],SWAP] (* added 1999 October 12 based on ROT.1 *) composite[ROT,inverse[FIRST]] := cross[inverse[SECOND],Id] (* added 1999 October 12 based on ROT.1 *) composite[ROT,inverse[SECOND]] := composite[inverse[FIRST],inverse[FIRST]] (* added 2002 June 16 based on LEFT-ROT.NB *) composite[ROT,LEFT[x_]] := composite[RIGHT[second[x]],RIGHT[first[x]]] (* added 1999 November 4 based on 1999/NOV/03/WORK/FLIP-ROT.1 *) composite[ROT,RIGHT[x_]] := cross[LEFT[x],Id] (* added 1999 September 3 based on ROTATE.3 *) composite[ROT,ROT] := inverse[ROT] (* added 1999 October 13 based on ASSOC.1 *) composite[ROT,SWAP] := inverse[ASSOC] (* added 2002 October 27 based on NATMUL.NB *) composite[rotate[composite[complement[composite[complement[ composite[FIRST,intersection[ composite[inverse[SECOND],SECOND,SECOND,SECOND], composite[power[SUCC],SECOND,SECOND,FIRST]], id[cross[composite[id[omega],SUCC], composite[inverse[FIRST],FIRST]]],cross[inverse[E],Id]]], id[composite[inverse[E],IMAGE[id[complement[cart[set[0],Id]]]]]], inverse[FIRST]]],inverse[IMAGE[cross[Id,inverse[LEFT[0]]]]],E]], id[cart[omega,V]]] := NATMUL (* added 2002 October 27 based on NATMUL.NB *) composite[rotate[composite[complement[composite[complement[ composite[rotate[composite[inverse[power[SUCC]],SWAP]], RIF,cross[SECOND,composite[SWAP,SECOND]], id[composite[id[cart[omega,V]],inverse[FIRST],SUCC, FIRST]],cross[inverse[E],Id]]], id[composite[inverse[E],IMAGE[id[complement[cart[set[0],Id]]]]]], inverse[FIRST]]],inverse[IMAGE[cross[Id,inverse[LEFT[0]]]]],E]], id[cart[omega,V]]] := NATMUL (* added 2003 January 23 based on REIF-MUL.NB *) composite[rotate[composite[complement[composite[complement[composite[ rotate[NATADD],SWAP,RIF,cross[SECOND,composite[SWAP,SECOND]], id[composite[id[cart[omega,V]],inverse[FIRST],SUCC,FIRST]], cross[inverse[E],Id]]],id[composite[inverse[E], IMAGE[id[complement[cart[set[0],Id]]]]]],inverse[FIRST]]], inverse[IMAGE[cross[Id,inverse[LEFT[0]]]]],E]], id[cart[omega,V]]] := NATMUL (* added 2002 November 14 based on POW-SUC.NB *) composite[rotate[composite[inverse[power[SUCC]],SWAP]],id[cart[V,omega]]] := composite[rotate[NATADD],SWAP] (* derived 2005 January 29 in NATSUB.NB *) composite[rotate[composite[inverse[power[SUCC]],SWAP]],SWAP,id[cart[omega,omega]]] := rotate[NATADD] (* added 2002 November 30 based on NATSUB.NB *) composite[rotate[composite[inverse[power[SUCC]],SWAP]],SWAP,id[cart[omega,V]]] := rotate[NATADD] (* derived 2005 January 29 in NATSUB.NB *) composite[rotate[composite[inverse[power[SUCC]],SWAP]],SWAP,id[composite[id[omega],x_,id[omega]]]] := composite[rotate[NATADD],id[x]] (* revised 2002 June 19 based on ROT-DUP.NB *) composite[rotate[x_],DUP] := fix[composite[inverse[FIRST],x]] (* added 2003 May 12 based on APPLY.NB *) composite[rotate[E],cross[FUNPART,Id]] := composite[inverse[SINGLETON],IMG,cross[Id,SINGLETON]] (* added 2002 October 24 based on ROT-E.NB *) composite[rotate[E],cross[Id,inverse[E]]] := composite[inverse[E],IMG] (* added 1999 December 28 based on REMOVED.NB *) composite[rotate[E],cross[IMAGE[id[cart[V,V]]],Id]] := rotate[E] composite[rotate[x_],id[cart[V,V]]] := rotate[x] (* added 1999 December 22 based on IMINROT2.NB *) composite[rotate[x_],id[cart[y_,V]],inverse[SECOND]] := composite[Id,image[inverse[x],y]] (* added 2002 October 22 based on CO-ID.NB *) composite[rotate[x_],id[composite[FIRST,inverse[x_]]]] := rotate[x] (* added 2001 March 8 based on FUNRULE2.NB *) composite[rotate[x_],id[y_],inverse[FIRST]] := composite[SECOND, intersection[composite[inverse[FIRST],y],inverse[x]]] (* added 2001 March 8 based on FUNRULE2.NB *) composite[rotate[x_],id[y_],inverse[SECOND]] := fix[composite[inverse[FIRST],y,x]] (* added 1999 September 3 based on ROTATE.4 *) composite[rotate[x_],inverse[FIRST]] := composite[SECOND,inverse[x]] (* derived 2005 January 25 *) composite[rotate[inverse[x_]],id[cart[domain[VERTSECT[x_]],V]]] := rotate[inverse[thinpart[x]]] (* added 2002 June 24 based on NATADD.NB *) composite[rotate[inverse[power[SUCC]]],id[cart[V,omega]]] := NATADD (* added 2002 June 24 based on NATADD.NB *) composite[rotate[inverse[power[SUCC]]],SWAP,id[cart[omega,V]]] := NATADD (* added 1999 September 3 based on ROTATE.4 *) composite[rotate[x_],inverse[SECOND]] := composite[Id,domain[x]] (* added 1999 November 20 based on CURRY.NB *) composite[rotate[x_],LEFT[y_]] := composite[Id,image[inverse[x],set[y]]] (* added 2002 October 29 based on ASSOC.NB *) composite[rotate[NATADD],cross[Id,rotate[NATADD]],ASSOC,cross[DUP,Id]] := composite[SECOND,id[composite[id[omega],inverse[S],id[omega]]]] (* added 2002 September 24 based on ADD-S.NB *) composite[rotate[NATADD],cross[Id,composite[S,id[omega]]]] := composite[id[omega],inverse[S],rotate[NATADD]] (* added 2002 September 17 based on SUBRECUR.NB *) composite[rotate[NATADD],cross[Id,NATADD],ASSOC] := composite[rotate[NATADD],cross[rotate[NATADD],Id]] (* added 2002 September 21 based on ROT-ADD.NB *) composite[rotate[NATADD],cross[image[inverse[NATADD],set[x_]],Id]] := composite[image[inverse[NATADD],set[x]],NATADD] (* added 2003 August 8 based on REPLACE.NB *) composite[rotate[NATADD],cross[plus[x_],plus[x_]]] := composite[id[image[V,intersection[omega,set[x]]]],rotate[NATADD]] (* added 2002 September 16 based on SUB-SUCC.NB *) composite[rotate[NATADD],cross[SUCC,SUCC]] := rotate[NATADD] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[rotate[NATADD],EQUIDIFF] := rotate[NATADD] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[rotate[NATADD],id[cart[omega,omega]]] := rotate[NATADD] (* added 2002 November 10 based on ADD-RO.NB *) composite[rotate[NATADD],id[cart[omega,V]]] := rotate[NATADD] (* derived 2005 January 29 in NATSUB.NB *) composite[rotate[NATADD],id[composite[id[omega],E]]] := 0 (* added 2002 November 30 based on NATSUB.NB *) composite[rotate[NATADD],id[composite[id[omega],inverse[S],id[omega]]]] := rotate[NATADD] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[rotate[NATADD],id[inverse[S]]] := rotate[NATADD] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[rotate[NATADD],inverse[VERTSECT[EQUIDIFF]]] := composite[inverse[PLUS],INVERSE] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[rotate[NATADD],SWAP,EQUIDIFF] := composite[rotate[NATADD],SWAP] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[rotate[NATADD],SWAP,id[cart[omega,omega]]] := composite[rotate[NATADD],SWAP] (* added 2002 November 30 based on NATSUB.NB *) composite[rotate[NATADD],SWAP,id[composite[id[omega],S,id[omega]]]] := composite[rotate[NATADD],SWAP] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[rotate[NATADD],SWAP,id[S]] := composite[rotate[NATADD],SWAP] (* added 2002 June 21 based on NATSUB.NB *) composite[rotate[NATADD],SWAP,inverse[rotate[NATADD]]] := cart[set[0],set[0]] (* derived 2005 May 21 in MOD-DUP.NB *) composite[rotate[NATMUL],inverse[NATMOD]] := cart[set[0],omega] (* added 1999 November 20 based on CURRY.NB *) composite[rotate[x_],RIGHT[y_]] := composite[inverse[LEFT[y]],inverse[x]] (* Theorem ADJ-CO2 in ADJ proved 1999 March 13 *) composite[S,ADJOIN[x_]] := composite[id[image[S,set[x]]],S] (* Theorem POW-BC6 in POW4 proved 1998 December 20 *) composite[S,BIGCUP] := composite[inverse[POWER],S] (* added 2003 July 4 based on COARSER.NB *) composite[S,COARSER] := S (* added 2003 October 21 based on COMMUTE.NB *) composite[S,COMMUTE] := cart[V,V] (* Theorem SR-CO10 in SR2 added 1998 July 31 *) composite[S,complement[E]] := cart[V,V] (* added 1998 August 23 *) composite[S,complement[inverse[E]]] := composite[inverse[POWER],complement[inverse[S]]] (* Theorem SR-C-CO5 in SR/C *) composite[S,complement[inverse[S]]] := composite[Id,complement[inverse[S]]] (* Theorem SR-CO11 in SR2 added 1998 July 31 *) composite[S,complement[S]] := cart[complement[set[0]],V] (* added 1998 September 24 based on session SR-CO-DI.LOG *) composite[S,Di] := union[cart[V,complement[set[0]]],cart[complement[set[0]],V]] (* Theorem DJT-CO-S in DJT *) composite[S,DISJOINT] := cart[V,V] (* derived 2005 May 5 in S-DIV.NB *) composite[S,DIV] := cart[omega,V] (* Theorem SR-CO5 in SR2 *) composite[S,E] := E (* added 2001 May 8 based on CORE-2.NB *) composite[S,id[x_],E] := composite[inverse[CORE[x]],E] (* added 2001 April 2 based on HF-X.NB *) composite[S,id[FULL],S] := composite[S,TC] (* added 2001 May 2 based on ADJOIN.NB *) composite[S,id[image[S,set[x_]]],S] := composite[id[image[S,set[x]]],S] (* derived 2005 May 17 in S-OM-C-E.NB *) composite[S,id[omega],complement[E]] := cart[V,V] (* direction needed for Normality of IMAGE[id[x]] *) composite[S,id[P[x_]]] := composite[inverse[IMAGE[id[x]]],S] composite[S,id[range[SINGLETON]]] := composite[inverse[IMAGE[SINGLETON]],E] (* derived 2004 July 26 in DORAFUNS.NB *) composite[S,image[DORA,FUNS]] := union[cart[V,complement[set[0]]],cart[set[0],V]] (* added 2000 September 19 based on NEWRULE1.LOG *) composite[S,intersection[composite[DISJOINT,DIF], composite[complement[inverse[S]],SECOND]]] := composite[complement[inverse[S]],CUP] (* added 2003 January 25 based on INVAR.NB *) composite[S,INVAR] := cart[V,V] (* added 2001 March 4 based on INVERSE2.NB *) composite[S,INVERSE] := composite[inverse[IMAGE[SWAP]],S] (* added 2003 June 6 based on ACL-UCL.NB *) composite[S,inverse[BIGCAP]] := composite[inverse[ACLOSURE],E] (* added 2002 September 24 based on MONOTONE.NB *) composite[S,inverse[BIGCUP]] := composite[inverse[UCLOSURE],E] (* added 2000 December 24 based on LT-CO-S *) composite[S,inverse[GREATEST[x_]]] := composite[inverse[IMAGE[id[fix[x]]]],E] composite[S,inverse[IMAGE[id[x_]]]] := composite[inverse[IMAGE[id[x]]],S] (* added 2000 November 22 based on VS-MEMB.NB *) composite[S,inverse[LB[x_]]] := cart[V,V] (* added 2000 December 24 based on LT-CO-S *) composite[S,inverse[LEAST[x_]]] := composite[inverse[IMAGE[id[fix[x]]]],E] (* added 2003 May 31 based on RS-CO.NB *) composite[S,inverse[RESTRICT]] := composite[inverse[IMAGE[id[cart[V,V]]]],S] (* Theorem SR-CO7 in SR2 *) composite[S,inverse[S]] := cart[V,V] (* derived 2005 February 4 in X3943.NB *) composite[S,inverse[TC],E] := composite[inverse[TC],E] (* added 2001 July 15 based on ZN-AGAIN.NB *) composite[S,inverse[ZN]] := inverse[ZN] (* Theorem K-SR1 in K proved 2000 May 16 *) composite[S,K] := PS (* added 2000 December 23 based on CO-S-LB.NB *) composite[S,LB[LB[x_]]] := cart[V,V] (* added 2000 December 23 based on CO-S-LB.NB *) composite[S,LB[UB[x_]]] := cart[V,V] (* added 2002 April 28 based on CLIQUES.NB *) composite[S,PAIRSET,complement[inverse[E]]] := composite[complement[inverse[E]],CLIQUES] (* Theorem PS-CO-2 in PS added 1998 August 9 *) composite[S,PS] := PS (* Theorem Q-SR-CO in Q proved 2000 June 2 *) composite[S,Q] := composite[Q,S] (* added 2003 May 31 based on RS-CO.NB *) composite[S,RESTRICT] := cart[V,V] (* Theorem SR-CO6 in SR2 *) composite[S,S] := S (* Theorem SG-SR2 in SG1 proved 1998 September 4 *) composite[S,SINGLETON] := E (* derived 2004 April 6 in SMALLER.NB *) composite[S,SMALLER] := SMALLER (* derived 2004 December 21 in SBCOMMUT.NB *) composite[S,SUBCOMMUTE] := cart[V,V] (* added 2001 July 14 based on ZN-IMG.NB *) composite[S,ZN] := cart[V,V] (* added 1999 November 4 based on ASSOC.NB *) composite[SECOND,ASSOC] := cross[SECOND,Id] (* added 2000 August 9 based on DOROTEST.NB *) composite[SECOND,complement[inverse[E]]] := cart[V,V] (* Theorem X-2ND-CO in X1 proved 2000 August 1 *) composite[SECOND,cross[x_,y_]] := composite[y,SECOND,id[cart[domain[x],V]]] (* added 1999 August 31 based on 12-CO-DI *) composite[SECOND,Di] := cart[V,V] (* added 2001 December 23 based on DORA-2.NB *) composite[SECOND,DORA] := IMAGE[SECOND] (* Theorem DUP2ND-1 in DUP1 proved 1998 November 29 *) composite[SECOND,DUP] := Id (* added 2003 July 20 based on EQUIDIFF.NB *) composite[SECOND,EQUIDIFF] := composite[rotate[composite[inverse[S],NATADD]], SWAP,id[cart[V,omega]]] (* added 2002 October 22 based on CO-ID.NB *) composite[SECOND,FIRST,id[cart[cart[V,V],V]]] := composite[SECOND,FIRST] (* added 2007 based on RIF-IN.NB *) composite[SECOND,id[cart[x_,y_]],inverse[RIF]] := composite[SWAP,id[inverse[y]],cross[inverse[x],Id]] (* added 2003 January 12 based on ITERATE.NB *) composite[SECOND,id[cart[x_,y_]],power[z_]] := composite[id[y],iterate[z,x]] (* Inverse of Normalization Rule for LEFT[x] added 1999 August 16 *) composite[SECOND,id[cart[set[x_],y_]]] := composite[id[y],inverse[LEFT[x]]] (* added 1999 December 22 based on IMINROT2.NB *) composite[SECOND,id[cart[x_,V]],inverse[rotate[y_]]] := inverse[image[inverse[y],x]] composite[SECOND,id[cart[V,V]]] := SECOND composite[SECOND,id[complement[cart[V,V]]]] := 0 composite[SECOND,id[composite[Id,x_]]] := composite[SECOND,id[x]] (* added 1999 October 13 based on SESSION.3 *) composite[SECOND,id[x_],cross[y_,z_]] := intersection[composite[z,SECOND],composite[x,y,FIRST]] (* Theorem DUP2ND-2 in DUP1 proved 1998 November 29 *) composite[SECOND,id[Id]] := inverse[DUP] composite[SECOND,id[id[x_]]] := composite[id[x],inverse[DUP]] composite[SECOND,id[x_],intersection[composite[inverse[FIRST],y_], composite[inverse[SECOND],z_]]] := intersection[z,composite[x,y]] (* added 2002 October 29 based on REIF-NAT.NB *) composite[SECOND,id[x_],intersection[composite[y_,SECOND], composite[inverse[FIRST],FIRST]]] := composite[intersection[composite[x,SECOND],rotate[inverse[y]]],SWAP] (* Theorem X-2ND1ST in X2 proved 1999 August 25 *) composite[SECOND,id[x_],inverse[FIRST]] := composite[Id,x] (* added 2002 May 16 based on ROTATE.NB *) composite[SECOND,id[x_],inverse[rotate[z_]]] := inverse[fix[composite[inverse[FIRST],x,z]]] (* Theorem 2ND-CO4 in 2ND proved 1999 August 25 *) composite[SECOND,id[x_],inverse[SECOND]] := id[range[x]] (* added 2003 May 30 based on FIX-ROT.NB *) composite[SECOND,intersection[composite[cross[Id,inverse[SECOND]],SECOND], composite[SWAP,cross[inverse[FIRST],Id],FIRST]]] := composite[RIF,cross[SWAP,SWAP]] (* revised 1999 October 13 based on SESSION.1 *) composite[SECOND,intersection[composite[x_,FIRST], composite[inverse[FIRST],SECOND]]] := rotate[inverse[x]] (* added 1999 December 2 based on 1999/DEC/01/WORK/PAIRSET.4 *) composite[SECOND,intersection[composite[inverse[CUP],x_], composite[inverse[FIRST],y_]]] := composite[FIRST,intersection[composite[inverse[CUP],x], composite[inverse[SECOND],y]]] (* added 1999 November 14 based on IMG1.NB *) composite[SECOND,intersection[composite[inverse[E],FIRST], composite[inverse[FIRST],inverse[E],SECOND]]] := composite[inverse[E],IMG] (* added 1999 December 1 based on TRI-E.NB *) composite[SECOND,intersection[composite[inverse[E],IMAGE[SWAP],x_], composite[inverse[FIRST],y_]]] := composite[FIRST,intersection[composite[inverse[E],x], composite[inverse[SECOND],y]]] (* added 2002 June 20 based on ITERNORM.NB *) composite[SECOND,intersection[composite[inverse[FIRST],x_,FIRST], composite[inverse[E],id[intersection[P[cart[omega,V]], subvar[union[cross[SUCC,SUCC],id[cart[set[0],V]]]]]], complement[composite[intersection[E, composite[inverse[IMAGE[cross[SUCC,SUCC]]],complement[E]]], inverse[SECOND],Di]],SECOND]]] := composite[rotate[inverse[power[SUCC]]],cross[x,Id]] (* added 2000 September 21 based on CROSS.NB *) composite[SECOND,intersection[composite[inverse[FIRST],x_,FIRST], composite[inverse[rotate[y_]],SECOND]]] := rotate[composite[inverse[x],y,SWAP]] (* corrected 2000 September 9 based on CORRECT.LOG *) composite[SECOND,intersection[composite[inverse[FIRST],FIRST], composite[x_,SECOND]]] := composite[rotate[inverse[x]],SWAP] (* added 2000 September 21 based on LAMBRULE.NB *) composite[SECOND,intersection[ composite[inverse[FIRST],IMAGE[SWAP],FIRST], composite[inverse[rotate[E]],inverse[E],SECOND]]] := composite[inverse[E],IMG] (* derived 2005 May 17 based on NATMOD.NB *) composite[SECOND,intersection[composite[inverse[NATADD],FIRST],composite[inverse[FIRST],x_,SECOND]]] := composite[rotate[NATADD],cross[Id,x]] (* added 2002 October 29 based on RO-I.NB *) composite[SECOND,intersection[inverse[rotate[x_]],inverse[rotate[y_]]]] := inverse[fix[composite[inverse[x],y]]] (* added 1999 November 4 based on ASSOC.NB *) composite[SECOND,inverse[ASSOC]] := composite[SECOND,SECOND] (* added 2000 July 24 based on CAPCUP.NB *) composite[SECOND,inverse[CAP]] := S (* added 2000 July 24 based on CAPCUP.NB *) composite[SECOND,inverse[CUP]] := inverse[S] (* added 2001 March 8 based on DISJOINT.NB *) composite[SECOND,inverse[DIF]] := DISJOINT (* Theorem 2ND-CO1 in 2ND proved 1998 November 5 *) composite[SECOND,inverse[FIRST]] := cart[V,V] (* added 2003 August 11 based on DOROZADD.NB *) composite[SECOND,inverse[INTADD]] := cart[Z,Z] (* added 2002 June 21 based on NATADD.NB *) composite[SECOND,inverse[NATADD]] := composite[id[omega],inverse[S],id[omega]] (* added 2001 February 1 based on RIF-1.NB *) composite[SECOND,inverse[RIF]] := composite[inverse[FIRST],SECOND] (* added 1999 September 12 based on 1999\SEP\07\ROTATE.8 *) composite[SECOND,inverse[ROT]] := composite[FIRST,FIRST] (* added 1999 October 17 based on 1999\OCT\15\WORK\SESSION.1 *) composite[SECOND,inverse[rotate[x_]]] := inverse[domain[x]] (* added 1999 August 16 based on session NORMAL.5 *) composite[SECOND,LEFT[x_]] := id[image[V,set[x]]] (* added 2001 January 20 based on RIF-2.NB *) composite[SECOND,RIF] := composite[FIRST,SECOND, id[composite[inverse[SECOND],FIRST]]] (* Theorem RT-2ND in RIGHT proved 2000 July 21 *) composite[SECOND,RIGHT[x_]] := cart[V,set[x]] (* added 1999 September 12 based on 1999\SEP\07\ROTATE.8 *) composite[SECOND,ROT] := composite[SECOND,FIRST] (* added 2002 October 22 based on CO-ID.NB *) composite[SECOND,SECOND,id[cart[V,cart[V,V]]]] := composite[SECOND,SECOND] (* Theorem 2ND-SW-2 in 2ND proved 1998 November 3 *) composite[SECOND,SWAP] := FIRST (* added 1999 October 11 based on 1999\OCT\10\ASSOC.2 *) composite[SECOND,TWIST] := cross[SECOND,SECOND] (* added 2003 July 20 based on DIRECT12.NB *) composite[SECOND,twist[x_]] := rotate[composite[FIRST,inverse[x]]] (* added 2001 November 29 based on CO-SS.NB *) composite[x_,set[y_]] := cart[set[first[y]],image[x,set[second[y]]]] (* added 2001 November 29 based on CO-SS.NB *) composite[set[x_],y_] := cart[image[inverse[y],set[first[x]]],set[second[x]]] composite[SINGLETON,complement[inverse[E]]] := composite[id[range[SINGLETON]],complement[inverse[S]]] (* added 2001 November 27 based on IN-SS.NB *) composite[x_,set[pair[y_,z_]]] := cart[set[y],image[x,set[z]]] (* added 2001 November 27 based on IN-SS.NB *) composite[set[pair[x_,y_]],z_] := cart[image[inverse[z],set[x]],set[y]] (* derived 2004 April 6 in SMALLER.NB *) composite[SMALLER,Q] := SMALLER (* derived 2004 April 6 in SMALLER.NB *) composite[SMALLER,S] := SMALLER (* added 2003 January 30 *) composite[SUBCOMMUTE,complement[E]] := cart[V,V] (* added 2003 January 30 *) composite[SUBCOMMUTE,complement[S]] := cart[complement[set[0]],V] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[SUBCOMMUTE,DISJOINT] := cart[V,V] (* added 2003 January 30 *) composite[SUBCOMMUTE,IMAGE[DUP]] := composite[inverse[IMAGE[SWAP]],inverse[INVAR]] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[SUBCOMMUTE,IMAGE[id[cart[V,V]]]] := SUBCOMMUTE (* derived 2004 December 21 in SBCOMMUT.NB *) composite[SUBCOMMUTE,inverse[S]] := cart[V,V] (* added 2003 January 30 *) composite[SUBCOMMUTE,inverse[SUBCOMMUTE]] := cart[V,V] (* added 2003 January 30 *) composite[SUBCOMMUTE,SUBCOMMUTE] := cart[V,V] (* derived 2004 January 19 in SUBVAR.NB *) composite[SUBVAR,CART,DUP] := POWER (* added 2000 February 15 based on SUBVAR4.NB *) composite[SUBVAR,IMAGE[DUP]] := POWER (* added 2000 February 15 based on SUBVAR4.NB *) composite[SUBVAR,IMAGE[id[cart[V,x_]]]] := composite[IMAGE[id[P[x]]],SUBVAR] (* derived 2004 January 19 in SUBVAR.NB *) composite[SUBVAR,LAMBHULL] := composite[POWER,ACLOSURE] (* derived 2005 February 16 in BC-OM.NB *) composite[SUCC,BIGCUP,id[omega]] := composite[ADJOIN[set[0]],id[omega]] (* Theorem OM-SUC12 in OM3 *) composite[SUCC,id[omega]] := composite[id[omega],SUCC] (* added 2002 May 25 based on SUCC-ID.NB *) composite[SUCC,id[OMEGA]] := composite[id[OMEGA],SUCC] (* added 2002 April 18 based on SUCC.NB *) composite[SUCC,id[REGULAR]] := composite[id[REGULAR],SUCC] (* derived 2005 February 17 in X3741-49.NB *) composite[SUCC,id[U[nat[x_]]]] := composite[id[nat[x]],SUCC] (* added 1999 October 13 based on SESSION.1 *) composite[SWAP,ASSOC] := inverse[ROT] (* added 2002 December 1 based on TW-RIF.NB *) composite[SWAP,cross[x_,y_],ASSOC] := composite[cross[y,x],inverse[ROT]] (* added 2002 December 28 based on REPLACE.NB *) composite[SWAP,cross[x_,y_],inverse[RIF]] := composite[cross[composite[y,SWAP],composite[x,SWAP]],inverse[RIF],SWAP] (* added 2002 December 1 based on TW-RIF.NB *) composite[SWAP,cross[x_,y_],inverse[ROT]] := composite[cross[y,x],ASSOC] (* added 2002 April 6 based on FUNP-ROT.NB *) composite[SWAP,cross[Id,inverse[SINGLETON]], inverse[rotate[composite[inverse[SINGLETON],IMG,SWAP]]]] := composite[inverse[E],FUNPART] (* added 1998 July 2 *) composite[SWAP,Di,id[cart[V,V]]] := composite[id[cart[V,V]],Di,SWAP] (* Theorem DUP-SW2 in DUP proved 1998 November 21 *) composite[SWAP,DUP] := DUP (* derived 2004 May 8 in GT-C-X.NB *) composite[SWAP,GREATEST[complement[cross[x_,y_]]]] := composite[GREATEST[complement[cross[y,x]]],IMAGE[SWAP]] (* added 2002 October 22 based on CO-ID.NB *) composite[SWAP,id[cart[V,V]]] := SWAP (* added 1999 November 30 based on IMG-SWAP.3 *) composite[SWAP,id[complement[cart[V,V]]]] := 0 (* added 2002 October 22 based on CO-ID.NB *) composite[SWAP,id[composite[Id,domain[x_]]],inverse[x_]] := composite[SWAP,inverse[x]] (* added 1999 December 15 based on REMOVEC3.LOG *) composite[SWAP,id[Id]] := id[Id] (* added 1999 December 15 based on REMOVEC3.LOG *) composite[SWAP,id[id[x_]]] := id[id[x]] (* added 2001 January 21 based on TWIST-1.NB *) composite[SWAP,id[x_],inverse[FIRST]] := composite[id[inverse[x]],inverse[SECOND]] (* added 2002 October 22 based on CO-ID.NB *) composite[x_,SWAP,id[inverse[domain[x_]]]] := composite[x,SWAP] (* added 2001 January 21 based on TWIST-1.NB *) composite[SWAP,id[x_],inverse[SECOND]] := composite[id[inverse[x]],inverse[FIRST]] (* added 1999 December 9 based on FLIP-DIF.NB *) composite[SWAP,intersection[composite[inverse[FIRST],x_],composite[inverse[SECOND],y_]]] := intersection[composite[inverse[FIRST],y],composite[inverse[SECOND],x]] (* added 1999 October 8 based on CAP-LOG.2 *) composite[SWAP,inverse[CAP]] := inverse[CAP] (* inverse of Theorem CUP-SW in CUP proved 1999 September 23 *) composite[SWAP,inverse[CUP]] := inverse[CUP] composite[SWAP,inverse[FIRST]] := inverse[SECOND] (* added 2002 October 22 based on CO-ID.NB *) composite[SWAP,inverse[x_],id[image[x_,cart[V,V]]]] := composite[SWAP,inverse[x]] (* added 2002 July 30 based on ADD-INV.NB *) composite[SWAP,inverse[NATADD]] := inverse[NATADD] (* derived 2005 February 18 in MUL-NORM.NB *) composite[SWAP,inverse[NATMUL]] := inverse[NATMUL] (* added 2002 January 10 based on PAIRSET.NB *) composite[SWAP,inverse[PAIRSET]] := inverse[PAIRSET] (* added 2002 December 28 based on REPLACE.NB *) composite[SWAP,inverse[RIF]] := composite[cross[SWAP,SWAP],inverse[RIF],SWAP] (* added 1999 October 13 based on ASSOC.1 *) composite[SWAP,inverse[ROT]] := ASSOC composite[SWAP,inverse[SECOND]] := inverse[FIRST] (* added 2002 May 20 based on ITER-X.NB *) composite[SWAP,iterate[cross[x_,y_],z_]] := iterate[cross[y,x],inverse[z]] (* added 1999 September 23 based on RL-SWAP.LOG *) composite[SWAP,LEFT[x_]] := RIGHT[x] (* added 1999 September 23 based on RL-SWAP.LOG *) composite[SWAP,RIGHT[x_]] := LEFT[x] (* Theorem SW-CO-3 in SW3 *) composite[SWAP,SWAP] := id[cart[V,V]] (* added 1999 October 10 based on TWIST.3 *) composite[SWAP,TWIST] := composite[TWIST,cross[SWAP,SWAP]] (* added 2002 June 25 based on SYMDIF.NB *) composite[SYMDIF,cross[Id,SYMDIF],ASSOC] := composite[SYMDIF,cross[SYMDIF,Id]] (* added 2002 June 25 based on SYMDIF.NB *) composite[SYMDIF,cross[SYMDIF,Id],inverse[ASSOC]] := composite[SYMDIF,cross[Id,SYMDIF]] (* added 2002 June 25 based on SYMDIF.NB *) composite[SYMDIF,cross[SYMDIF,Id],inverse[ROT]] := composite[SYMDIF,cross[SYMDIF,Id]] (* added 2002 June 25 based on SYMDIF.NB *) composite[SYMDIF,cross[SYMDIF,Id],ROT] := composite[SYMDIF,cross[SYMDIF,Id]] (* added 1999 December 2 based on SYMDIF-4.NB *) composite[SYMDIF,DUP] := cart[V,set[0]] (* added 1999 December 2 based on SYMDIF-2.NB *) composite[SYMDIF,id[cart[V,V]]] := SYMDIF (* added 2001 September 3 based in RC-DEF.NB *) composite[SYMDIF,id[DISJOINT]] := composite[CUP,id[DISJOINT]] (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],CUP]]] := SYMDIF (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],DIF]]] := FIRST (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],FIRST]]] := DIF (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],SECOND]]] := composite[DIF,SWAP] (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],CAP], composite[inverse[SECOND],SYMDIF]]] := CUP (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],CUP]]] := SECOND (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],DIF,SWAP]]] := SYMDIF (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],FIRST]]] := CAP (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],SECOND]]] := CUP (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],DIF], composite[inverse[SECOND],SYMDIF]]] := composite[DIF,SWAP] (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],CUP]]] := composite[DIF,SWAP] (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],DIF]]] := CAP (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],SYMDIF]]] := SECOND (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],DIF]]] := CUP (* added 1999 December 9 based on BUILD.TXT *) composite[SYMDIF,intersection[composite[inverse[FIRST],SYMDIF], composite[inverse[SECOND],DIF]]] := composite[DIF,SWAP] (* added 2002 May 28 based on DISJOINT.NB *) composite[SYMDIF,inverse[CAP]] := DISJOINT (* added 2002 June 25 based on SYMDIF.NB *) composite[SYMDIF,inverse[FIRST]] := cart[V,V] (* added 1999 December 24 based on SYMDIF-2.NB *) composite[SYMDIF,inverse[SECOND]] := cart[V,V] (* added 1999 December 4 based on 1999/DEC/03/CURRY-SD.NB *) composite[SYMDIF,LEFT[x_]] := image[inverse[SYMDIF],set[x]] (* added 1999 December 4 based on 1999/DEC/03/CURRY-SD.NB *) composite[SYMDIF,RIGHT[x_]] := image[inverse[SYMDIF],set[x]] (* added 1999 December 2 based on SYMDIF-4.NB *) composite[SYMDIF,SWAP] := SYMDIF (* Theorem TC-CO-BC in TC3 proved 2001 January 4 *) composite[TC,BIGCUP] := composite[BIGCUP,TC] (* derived 2004 December 24 in CARD.NB *) composite[TC,CARD] := CARD (* added 2001 January 1 based on TC-1.NB *) composite[TC,complement[inverse[S]]] := composite[id[FULL],complement[inverse[S]]] (* derived 2005 January 5 in CORE-ON.NB *) composite[TC,CORE[OMEGA]] := CORE[OMEGA] (* added 2000 October 26 based on TC-6.NB *) composite[TC,CUP] := composite[CUP,cross[TC,TC]] (* added 2001 January 1 based on TC-1.NB *) composite[TC,E] := composite[id[FULL],E] (* added 2001 March 31 based on HF.NB *) composite[TC,HC] := HC (* added 2000 January 8 based on TC-TC.NB *) composite[TC,id[FULL]] := id[FULL] (* added 2003 January 18 based on HC-TC-OM.NB *) composite[TC,id[omega]] := id[omega] (* added 2001 December 4 based on TC-ON.NB *) composite[TC,id[OMEGA]] := id[OMEGA] (* Theorem RK-IMG-1 in RANK7 proved 2001 October 12 *) composite[TC,IMAGE[RANK]] := composite[RANK,IMAGE[id[REGULAR]]] (* added 2002 May 17 based on ZN.NB *) composite[TC,IMAGE[ZN]] := IMAGE[ZN] (* added 2001 August 1 based on RK-TC.NB *) composite[TC,RANK] := RANK (* added 2000 January 8 based on TC-SR.NB *) composite[TC,S] := composite[id[FULL],S] (* derived 2004 September 29 in WF-REC-7.NB *) composite[TC,SINGLETON,id[omega]] := composite[id[omega],SUCC] (* derived 2004 September 29 in WF-REC-7.NB *) composite[TC,SINGLETON,inverse[SUCC],id[omega]] := id[intersection[omega,complement[set[0]]]] (* added 2000 January 8 based on TC-TC.NB *) composite[TC,TC] := TC (* derived 2004 September 29 in WF-REC-7.NB *) composite[TC,VERTSECT[inverse[SUCC]],id[omega]] := id[omega] (* added 2002 May 17 based on TC-REDO.NB *) composite[TC,VERTSECT[ZN]] := VERTSECT[ZN] (* derived 2004 December 16 in VS-EQV.NB *) composite[thinpart[eqv[x_]],id[fix[eqv[x_]]]] := thinpart[eqv[x]] (* derived 2004 August 28 in FUNPTHIN.NB *) composite[thinpart[x_],id[domain[x_]]] := thinpart[x] (* derived 2004 May 14 in THINPART.NB *) composite[thinpart[x_],id[domain[VERTSECT[x_]]]] := thinpart[x] (* derived 2004 December 17 in RFXTRV-C.NB *) composite[thinpart[rfx[trv[x_]]],id[fix[trv[x_]]]] := thinpart[rfx[trv[x]]] (* derived 2004 December 19 in QO-IDEM.NB *) composite[thinpart[rfx[trv[x_]]],thinpart[rfx[trv[x_]]]] := thinpart[rfx[trv[x]]] (* derived 2004 May 14 in REPLACE.NB *) composite[thinpart[ZN],IMAGE[ZN]] := thinpart[ZN] (* derived 2004 August 14 in ZN-RULES.NB *) composite[thinpart[ZN],TC] := thinpart[ZN] (* added 2002 March 27 based on TRV.NB *) composite[trv[x_],x_] := composite[trv[x],trv[x]] (* added 2002 March 27 based on TRV.NB *) composite[x_,trv[x_]] := composite[trv[x],trv[x]] (* derived 2003 December 18 in RA-ITER.NB *) composite[trv[SUCC],id[omega]] := composite[id[omega],E] (* derived 2005 January 29 in TRV-RFX.NB *) composite[trv[rfx[x_]],complement[inverse[trv[rfx[x_]]]]] := composite[id[fix[x]],complement[inverse[trv[rfx[x]]]]] (* derived 2005 January 29 in TRV-RFX.NB *) composite[trv[rfx[x_]],trv[rfx[x_]]] := trv[rfx[x]] (* added 2002 December 30 based on 9-TWIST.NB *) composite[TWIST,cross[cross[u_,v_],cross[x_,y_]],TWIST] := cross[cross[u,x],cross[v,y]] (* added 2001 December 28 based on TW-DUP.NB *) composite[TWIST,cross[DUP,DUP]] := composite[DUP,id[cart[V,V]]] (* added 2003 July 17 based on DIR-PROD.NB *) composite[TWIST,cross[x_,id[cart[V,V]]]] := composite[TWIST,cross[x,Id]] (* added 2003 July 17 based on DIR-PROD.NB *) composite[TWIST,cross[id[cart[V,V]],x_]] := composite[TWIST,cross[Id,x]] (* added 1999 October 10 based on TWIST.3 *) composite[TWIST,DUP] := cross[DUP,DUP] (* added 1999 October 10 based on TWIST.2 *) composite[TWIST,id[cart[V,V]]] := TWIST (* added 2001 January 20 based on TWIST-2.NB *) composite[twist[x_],id[cart[V,V]]] := twist[x] (* added 2002 October 22 based on CO-ID.NB *) composite[twist[x_],id[composite[FIRST,x_,inverse[FIRST]]]] := twist[x] (* derived 2005 March 26 in DIVDSTRB.NB *) composite[TWIST,inverse[FIRST]] := cross[inverse[FIRST],inverse[FIRST]] (* added 2003 July 20 based on DIRECT12.NB *) composite[twist[x_],inverse[FIRST]] := composite[SWAP,inverse[rotate[composite[SECOND,x,SWAP]]]] (* added 2002 June 7 based on RIF.NB *) composite[TWIST,inverse[RIF]] := composite[inverse[RIF],SWAP] (* derived 2005 March 26 in DIVDSTRB.NB *) composite[TWIST,inverse[SECOND]] := cross[inverse[SECOND],inverse[SECOND]] (* added 2003 July 20 based on DIRECT12.NB *) composite[twist[x_],inverse[SECOND]] := inverse[rotate[composite[SECOND,inverse[x],SWAP]]] (* added 2003 July 17 based on DIR-PROD.NB *) composite[TWIST,LEFT[x_]] := cross[LEFT[first[x]],LEFT[second[x]]] (* added 2003 July 14 based on TW-LEFT.NB *) composite[TWIST,LEFT[PAIR[x_,y_]]] := cross[LEFT[x],LEFT[y]] (* added 2003 July 17 based on DIR-PROD.NB *) composite[TWIST,RIGHT[x_]] := cross[RIGHT[first[x]],RIGHT[second[x]]] (* added 2002 August 29 based on BINHOM.NB *) composite[TWIST,RIGHT[PAIR[x_,y_]]] := cross[RIGHT[x],RIGHT[y]] (* added 1999 October 10 based on TWIST.3 *) composite[TWIST,SWAP] := composite[cross[SWAP,SWAP],TWIST] (* Theorem TW-TW-CO in TWIST proved 2000 August 5 *) composite[TWIST,TWIST] := id[cart[cart[V,V],cart[V,V]]] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[UB[x_],complement[E]] := cart[V,V] (* derived 2004 January 29 in UB-LB-CO.NB *) composite[UB[x_],complement[inverse[S]]] := composite[x,complement[inverse[E]]] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[UB[x_],complement[S]] := cart[complement[set[0]],V] (* added 2000 December 14 based on PAIRSET.NB *) composite[UB[x_],CUP] := intersection[composite[UB[x],FIRST],composite[UB[x],SECOND]] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[UB[x_],DISJOINT] := cart[V,V] (* added 2000 November 5 based on UB-2.NB *) composite[UB[x_],E] := composite[Id,x] (* added 2002 November 17 based on LB-UB.NB *) composite[UB[x_],id[P[domain[x_]]]] := UB[x] (* added 2001 July 8 based on REMOVED.NB *) composite[UB[x_],id[P[y_]],E] := composite[x,id[y]] (* added 2002 April 10 based on INVAR.NB *) composite[UB[INVAR],IMAGE[SINGLETON]] := INVAR (* derived 2004 December 24 in UCL-LBUB.NB *) composite[UB[x_],inverse[BIGCUP],E] := composite[x,E] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[UB[x_],inverse[GREATEST[y_]]] := composite[x,id[fix[y]]] (* derived 2004 January 29 in UB-LB-CO.NB *) composite[UB[x_],inverse[IMAGE[id[y_]]]] := composite[UB[x],id[P[y]]] (* derived 2004 January 25 in GT-LT-CO.NB *) composite[UB[x_],inverse[LEAST[y_]]] := composite[x,id[fix[y]]] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[UB[x_],inverse[S]] := cart[V,V] (* added 2000 December 14 based on PAIRSET.NB *) composite[UB[x_],PAIRSET] := intersection[composite[x,FIRST],composite[x,SECOND]] (* added 2002 October 29 based on COMMUTE.NB *) composite[UB[rotate[x_]],id[P[cart[V,V]]]] := UB[rotate[x]] (* Theorem UB-CO-SR proved 2000 November 5 *) composite[UB[x_],S] := UB[x] (* added 2000 November 10 based on UB-LB-1.LOG *) composite[UB[x_],SINGLETON] := composite[Id,x] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[UB[SUBCOMMUTE],IMAGE[IMAGE[id[cart[V,V]]]]] := UB[SUBCOMMUTE] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[UB[SUBCOMMUTE],IMAGE[IMAGE[SWAP]]] := composite[inverse[IMAGE[SWAP]],LB[SUBCOMMUTE]] (* derived 2004 December 21 in SBCOMMUT.NB *) composite[UB[SUBCOMMUTE],inverse[BIGCUP]] := SUBCOMMUTE (* added 2002 November 20 based on UCL-U.NB *) composite[UCLOSURE,ADJOIN[set[0]]] := UCLOSURE (* derived 2004 December 23 in UCLA-SBV.NB *) composite[UCLOSURE,BIGCAP,IMAGE[SUBVAR]] := composite[BIGCAP,IMAGE[SUBVAR]] (* derived 2004 December 21 in UCL-A.NB *) composite[UCLOSURE,BIGCAP,IMAGE[UCLOSURE]] := composite[BIGCAP,IMAGE[UCLOSURE]] (* added 2001 October 18 based on UCL-IMS.NB *) composite[UCLOSURE,CLIQUES] := composite[POWER,IMAGE[inverse[DUP]]] (* derived 2004 October 2 in UCL-U-PC.NB *) composite[UCLOSURE,CUP,cross[POWER,POWER]] := composite[POWER,CUP] (* added 2003 November 6 based on HULLTOPS.NB *) composite[UCLOSURE,HULL[binclosed[CAP]]] := HULL[TOPS] (* derived 2005 February 16 in BC-OM.NB *) composite[UCLOSURE,id[omega]] := composite[ADJOIN[set[0]],id[omega]] (* derived 2003 December 24 in UCL-ON.NB *) composite[UCLOSURE,id[OMEGA]] := composite[SUCC,BIGCUP,id[OMEGA]] (* derived 2004 October 2 in UCL-0.NB *) composite[UCLOSURE,IMAGE[id[complement[set[0]]]]] := UCLOSURE (* added 2001 October 29 based on UCL.NB *) composite[UCLOSURE,IMAGE[id[P[x_]]]] := composite[IMAGE[id[P[x]]],UCLOSURE] (* added 2002 April 8 based on UCL-ACL.NB *) composite[UCLOSURE,IMAGE[inverse[S]]] := composite[POWER,BIGCUP] (* added 2002 April 8 based on UCL-ACL.NB *) composite[UCLOSURE,IMAGE[SINGLETON]] := POWER (* added 2001 October 23 based on TOPS.NB *) composite[UCLOSURE,SINGLETON] := composite[ADJOIN[set[0]],SINGLETON] (* added 2001 May 10 based on UCLOS-1.NB *) composite[UCLOSURE,UCLOSURE] := UCLOSURE (* added 2001 May 10 based on UCLOS-1.NB *) composite[UCLOSURE,POWER] := POWER (* added 2001 September 30 based on ACL-3.NB *) composite[UCLOSURE,SUBVAR] := SUBVAR (* derived 2004 August 10 in RS-3.NB *) composite[UCLOSURE,VERTSECT[RESTRICT]] := VERTSECT[RESTRICT] (* Theorem CO-U2 in CO1 *) composite[x_,union[y_,z_]] := union[composite[x,y],composite[x,z]] (* Theorem CO-U1 in CO1 *) composite[union[x_,y_],z_] := union[composite[x,z],composite[y,z]] (* Theorem CO-RA4 in CO2 *) composite[x_,V] := cart[V,range[x]] (* Theorem CO-DO4 in CO2 *) composite[V,x_] := cart[domain[x],V] (* added 2002 January 29 based on FUNPART.NB *) composite[VERTSECT[complement[composite[complement[inverse[E]],x_]]], id[domain[funpart[x_]]]] := funpart[x] (* derived 2004 February 25 in HULLUBLB.NB *) composite[VERTSECT[complement[composite[complement[x_],LB[x_]]]], VERTSECT[complement[composite[complement[x_],LB[x_]]]]] := VERTSECT[complement[composite[complement[x],LB[x]]]] (* derived 2004 November 23 in A8-AXCH.NB *) composite[VERTSECT[composite[z_,x_]],id[domain[VERTSECT[x_]]]] := composite[IMAGE[z],VERTSECT[x]] (* added 2003 February 4 based on PLUS-Q.NB *) composite[VERTSECT[composite[id[omega],S]],id[omega]] := composite[RC[omega],id[omega]] (* Definitin DEF-CART in CART added 1999 August 12 *) composite[VERTSECT[cross[inverse[E],inverse[E]]],id[cart[V,V]]] := CART (* added 2003 August 9 based on ASS-ADDZ.NB *) composite[VERTSECT[EQUIDIFF],cross[NATADD,NATADD],TWIST] := composite[INTADD,cross[VERTSECT[EQUIDIFF],VERTSECT[EQUIDIFF]]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[VERTSECT[EQUIDIFF],EQUIDIFF] := composite[VERTSECT[EQUIDIFF],id[cart[omega,omega]]] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[VERTSECT[EQUIDIFF],inverse[rotate[NATADD]]] := composite[INVERSE,PLUS] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[VERTSECT[EQUIDIFF],LEFT[0],id[omega]] := PLUS (* added 2003 August 17 based on EQDF-SUB.NB *) composite[VERTSECT[EQUIDIFF],RIGHT[0],id[omega]] := composite[INVERSE,PLUS] (* added 2003 August 17 based on EQDF-SUB.NB *) composite[VERTSECT[EQUIDIFF],SWAP] := composite[INVERSE,VERTSECT[EQUIDIFF],id[cart[V,V]]] (* derived 2004 March 9 in IDEMLTGT.NB *) composite[VERTSECT[GREATEST[x_]],VERTSECT[GREATEST[x_]]] := VERTSECT[GREATEST[x]] (* added 1999 October 16 based on 1999\OCT\15\VERTSECT.4 *) composite[VERTSECT[x_],id[complement[domain[x_]]]] := cart[complement[domain[x]],set[0]] (* added 2000 November 22 based on VS-MEMB.NB *) composite[VERTSECT[x_],inverse[x_]] := composite[id[range[VERTSECT[x]]],E] (* derived 2004 July 23 in X23--.NB *) composite[VERTSECT[x_],inverse[thinpart[x_]]] := composite[id[range[VERTSECT[x]]],E] (* added 2000 November 22 based on VS-MEMB.NB *) composite[VERTSECT[x_],LB[x_]] := composite[id[range[VERTSECT[x]]],S] (* derived 2004 March 9 in IDEMLTGT.NB *) composite[VERTSECT[LEAST[x_]],VERTSECT[LEAST[x_]]] := VERTSECT[LEAST[x]] (* derived 2004 August 10 in RS-3.NB *) composite[VERTSECT[RESTRICT],FUNPART] := composite[POWER,FUNPART] (* derived 2004 August 10 in RS-3.NB *) composite[VERTSECT[RESTRICT],IMAGE[id[cart[V,V]]]] := VERTSECT[RESTRICT] (* derived 2004 May 14 in SIMPLIFY.NB *) composite[VERTSECT[thinpart[x_]],id[domain[VERTSECT[x_]]]] := VERTSECT[x] (* derived 2004 August 21 in VS-RS.NB *) composite[VERTSECT[thinpart[x_]],id[intersection[domain[x_],domain[VERTSECT[x_]]]]] := composite[VERTSECT[x],id[domain[x]]] (* added 2002 July 30 based on LAMBAPPL.NB *) composite[VERTSECT[UB[complement[composite[complement[inverse[E]],x_]]]], SINGLETON] := VERTSECT[complement[composite[complement[inverse[E]],x]]] (* added 2001 July 17 based on ZN-IMG4.NB *) composite[VERTSECT[ZN],IMAGE[ZN]] := VERTSECT[ZN] (* added 2001 July 15 based on ZN-AGAIN.NB *) composite[VERTSECT[ZN],POWER] := composite[POWER,VERTSECT[ZN]] (* derived 2004 August 14 in ZN-RULES.NB *) composite[VERTSECT[ZN],SUCC] := composite[POWER,VERTSECT[ZN]] (* added 2002 May 17 based on TC-REDO.NB *) composite[VERTSECT[ZN],TC] := VERTSECT[ZN] (* derived 2004 August 28 in FUNP-VS.NB *) composite[VS,IMAGE[composite[id[x_],inverse[FIRST]]]] := composite[IMAGE[composite[id[composite[VERTSECT[x],id[domain[x]]]],inverse[FIRST]]],id[P[domain[VERTSECT[x]]]]] (* derived 2004 August 21 in VS-RS.NB *) composite[VS,IMAGE[DUP]] := IMAGE[composite[id[SINGLETON],inverse[FIRST]]] (* derived 2004 January 6 in VS-OO.NB *) composite[VS,IMAGE[id[cart[V,V]]]] := VS (* derived 2004 August 21 in VS-RS.NB *) composite[VS,RESTRICT] := composite[inverse[S],VS] (* derived 2004 September 25 in LAMB-WF.NB *) composite[WFPART,id[WF]] := id[WF] (* derived 2004 September 25 in LAMB-WF.NB *) composite[WFPART,IMAGE[DUP]] := cart[V,set[0]] (* derived 2004 September 25 in LAMB-WF.NB *) composite[WFPART,IMAGE[id[cart[V,V]]]] := WFPART (* derived 2004 September 25 in LAMB-WF.NB *) composite[WFPART,WFPART] := WFPART (* derived 2004 November 16 in XS.NB *) composite[XS,FUNPART] := composite[SINGLETON,FUNPART] (* derived 2004 November 16 in XS.NB *) composite[XS,IMAGE[DUP]] := composite[SINGLETON,IMAGE[DUP]] (* derived 2004 November 16 in XS.NB *) composite[XS,IMAGE[id[cart[V,V]]]] := XS (* added 2001 July 14 based on ZN-IMG.NB *) composite[ZN,complement[inverse[E]]] := cart[V,V] (* added 2001 July 14 based on ZN-IMG.NB *) composite[ZN,complement[inverse[S]]] := cart[V,V] (* added 2001 July 14 based on ZN-IMG.NB *) composite[ZN,Di] := cart[V,V] (* added 2001 July 14 based on ZN-IMG.NB *) composite[ZN,E] := cart[V,V] (* derived 2005 January 5 in RANK-S.NB *) composite[ZN,id[OMEGA]] := composite[inverse[RANK],inverse[S],id[OMEGA]] (* derived 2004 May 14 in REPLACE.NB *) composite[ZN,IMAGE[ZN]] := thinpart[ZN] (* added 2001 July 21 based on LB-ZN.NB *) composite[ZN,inverse[BIGCUP]] := composite[ZN,POWER] (* added 2003 January 25 based on TC-ZN.NB *) composite[ZN,inverse[E],TC] := composite[ZN,inverse[E]] (* added 2001 July 14 based on ZN-IMG.NB *) composite[ZN,inverse[S]] := ZN (* added 2001 July 15 based on ZN-AGAIN.NB *) composite[ZN,inverse[ZN]] := cart[V,V] (* added 2001 July 14 based on ZN-IMG.NB *) composite[ZN,S] := cart[V,V] (* added 2003 January 25 based on TC-ZN.NB *) composite[ZN,TC] := ZN (* derived 2004 May 14 in REPLACE.NB *) composite[ZN,thinpart[ZN]] := thinpart[ZN] (* Theorem ZN-IDEM in ZN3 proved 2001 July 9 *) composite[ZN,ZN] := ZN (* added 2001 May 2 based on COREHULL.NB *) CORE[0] := cart[V,set[0]] (* added 2004 April 17 based on CORE.NB *) core[0,x_] := 0 (* added 2004 April 17 based on CORE.NB *) core[x_,0] := 0 (* added 2003 October 15 based on ACYCLIC.NB *) CORE[ACYCLIC] := IMAGE[id[Di]] (* derived 2004 April 18 in REPLACE.NB *) core[ACYCLIC,x_] := intersection[Di,x] (* added 2002 June 4 based on CORE.NB *) CORE[ANTISYM] := IMAGE[id[cart[V,V]]] (* derived 2004 April 18 in REPLACE.NB *) core[ANTISYM,x_] := composite[Id,x] (* added 2001 October 18 based on CORE-BIJ.NB *) CORE[BIJ] := IMAGE[id[cart[V,V]]] (* derived 2004 April 18 in REPLACE.NB *) core[BIJ,x_] := composite[Id,x] (* added 2003 May 23 based on CORE-BCL.NB *) CORE[binclosed[CAP]] := Id (* derived 2004 April 18 in REPLACE.NB *) core[binclosed[CAP],x_] := x (* added 2003 May 23 based on CORE-BCL.NB *) CORE[binclosed[CUP]] := Id (* derived 2004 April 18 in REPLACE.NB *) core[binclosed[CUP],x_] := x (* added 2002 June 4 based on CORE.NB *) CORE[cliques[x_]] := IMAGE[id[fix[x]]] (* derived 2004 April 18 in REPLACE.NB *) core[cliques[x_],y_] := intersection[y,fix[x]] (* added 2002 November 19 based on CORE.NB *) CORE[complement[set[0]]] := Id (* added 2004 April 17 based on CORE.NB *) core[x_,core[x_,y_]] := core[x,y] (* added 2004 April 17 based on CORE.NB *) core[x_,core[intersection[x_,y_],z_]] := core[intersection[x,y],z] (* added 2001 October 19 based on CORE.NB *) CORE[DEDEKIND] := Id (* derived 2004 April 18 in REPLACE.NB *) core[DEDEKIND,x_] := x (* derived 2004 September 24 in COREDESC.NB *) core[DESCENDING,REGULAR] := 0 (* derived 2004 October 4 in CORE-EQV.NB *) CORE[EQV] := CORE[intersection[RFX,SYM]] (* added 2001 October 19 based on CORE.NB *) CORE[FINITE] := Id (* derived 2004 April 18 in REPLACE.NB *) core[FINITE,x_] := x (* added 2003 May 23 based on CORE-BCL.NB *) CORE[fix[ACLOSURE]] := Id (* derived 2004 April 18 in REPLACE.NB *) core[fix[ACLOSURE],x_] := x (* derived 2004 April 18 in REPLACE.NB *) core[fix[UCLOSURE],P[x_]] := P[x] (* added 2001 May 2 based on COREHULL.NB *) CORE[FULL] := HC (* added 2004 April 17 based on CORE.NB *) core[FULL,x_] := H[x] (* added 2001 October 18 based on UCL-I-PC *) CORE[FUNS] := IMAGE[id[cart[V,V]]] (* derived 2004 April 18 in REPLACE.NB *) core[FUNS,x_] := composite[Id,x] (* added 2002 January 22 based on CORE-UCL.NB *) CORE[H[FULL]] := composite[HC,IMAGE[id[FULL]]] (* derived 2004 October 4 in CORE-EQV.NB *) CORE[image[CART,Id]] := CORE[intersection[RFX,SYM]] (* added 2002 June 4 based on CORE.NB *) CORE[image[inverse[S],x_]] := IMAGE[id[U[x]]] (* derived 2004 May 11 in EQV-GEN.NB *) core[image[HULL[TRV],P[x_]],cart[V,V]] := trv[x] (* derived 2004 April 18 in REPLACE.NB *) core[image[inverse[S],x_],y_] := intersection[y,U[x]] (* derived 2004 May 4 in CORE-IMS.NB *) CORE[image[S,set[x_]]] := union[cart[complement[image[S,set[x]]],set[0]],id[image[S,set[x]]]] (* derived 2004 August 8 in COREIMSG.NB *) CORE[image[SINGLETON,x_]] := IMAGE[id[x]] (* derived 2004 August 8 in COREIMSG.NB *) core[image[SINGLETON,x_],y_] := intersection[x,y] (* derived 2004 April 25 in IMS-UCL.NB *) CORE[intersection[image[S,x_],Uclosure[x_]]] := CORE[x] (* added 2001 October 28 based on CORE.NB *) CORE[intersection[x_,P[y_]]] := composite[CORE[x],IMAGE[id[y]]] (* derived 2004 May 11 in EQV-GEN.NB *) core[intersection[x_,P[y_]],z_] := core[x,intersection[y,z]] (* derived 2004 August 7 in RS-1.NB *) core[invar[composite[id[x_],inverse[FIRST],FIRST]],composite[Id,x_]] := thinpart[x] (* derived 2004 August 7 in RS-1.NB *) core[invar[composite[id[x_],inverse[FIRST],FIRST]],thinpart[x_]] := thinpart[x] (* derived 2005 January 5 in REPLACE.NB *) core[OMEGA,FULL] := OMEGA (* derived 2005 January 5 in REPLACE.NB *) core[OMEGA,omega] := omega (* derived 2005 January 5 in REPLACE.NB *) core[OMEGA,OMEGA] := OMEGA (* derived 2005 January 5 in REPLACE.NB *) core[OMEGA,RUSSELL] := OMEGA (* added 2001 May 2 based on COREHULL.NB *) CORE[P[x_]] := IMAGE[id[x]] (* added 2004 April 17 based on CORE.NB *) core[P[x_],y_] := intersection[x,y] (* added 2003 September 24 based on PO-FACTS.NB *) CORE[PO] := CORE[RFX] (* derived 2004 April 18 in REPLACE.NB *) core[PO,x_] := composite[id[fix[x]],x,id[fix[x]]] (* derived 2004 July 22 in X22--.NB *) CORE[range[POWER]] := CORE[fix[IMAGE[inverse[S]]]] (* added 2001 May 2 based on ADJOIN.NB *) CORE[range[SINGLETON]] := Id (* derived 2004 August 8 in COREIMSG.NB *) core[range[SINGLETON],x_] := x (* added 2001 May 2 based on COREHULL.NB *) CORE[REGULAR] := IMAGE[id[REGULAR]] (* derived 2004 May 2 in REGULAR.NB *) core[REGULAR,x_] := intersection[REGULAR,x] (* derived 2005 January 5 in REPLACE.NB *) core[x_,REGULAR] := U[intersection[REGULAR,x]] (* derived 2004 December 16 in RFX-CORE.NB *) core[RFX,x_] := rfx[x] (* added 2001 October 27 based on CORE-UCL.NB *) CORE[set[0]] := cart[V,set[0]] (* derived 2004 December 31 in IN-RK.NB *) core[subcommutant[inverse[E]],cart[V,V]] := ZN (* derived 2004 April 18 in REPLACE.NB *) core[subvar[union[cart[cart[set[0],set[y_]], cart[set[0],set[y_]]],cross[SUCC,x_]]],cart[omega,V]] := iterate[x,set[y]] (* derived 2004 April 18 in REPLACE.NB *) core[subvar[union[cross[SUCC,cross[Id,x_]], id[cart[set[0],union[Id,complement[cart[V,V]]]]]]],cart[omega,cart[V,V]]] := power[x] (* derived 2004 April 18 in REPLACE.NB *) core[subvar[union[cross[SUCC,x_],id[cart[set[0],y_]]]],cart[omega,V]] := iterate[x,y] (* added 2002 January 22 based on CORE-UCL.NB *) CORE[succ[omega]] := composite[HC,IMAGE[id[omega]]] (* added 2004 April 17 based on CORE.NB *) core[SYM,x_] := intersection[x,inverse[x]] (* derived 2004 April 18 in REPLACE.NB *) core[T1,P[x_]] := P[x] (* added 2002 February 12 based on CORE-TRV.NB *) CORE[TRV] := IMAGE[id[cart[V,V]]] (* added 2004 April 17 based on CORE.NB *) core[TRV,x_] := composite[Id,x] (* derived 2004 May 4 in REPLACE.NB *) core[x_,U[x_]] := U[x] (* added 2002 May 3 based on CORE-UCL.NB *) CORE[Uclosure[x_]] := CORE[x] (* added 2004 April 17 based on CORE.NB *) core[Uclosure[x_],y_] := core[x,y] (* added 2004 April 17 based on CORE.NB *) core[union[x_,y_],z_] := union[core[x,z],core[y,z]] (* added 2003 September 4 based on IDEMCORE.NB *) CORE[union[P[x_],P[y_]]] := IMAGE[id[union[x,y]]] (* derived 2004 May 4 in CORE-IMS.NB *) CORE[union[x_,set[0]]] := CORE[x] (* added 2001 May 2 based on COREHULL.NB *) CORE[V] := Id (* added 2004 April 17 based on CORE.NB *) core[V,x_] := x (* added 2004 April 17 based on CORE.NB *) core[x_,V] := U[x] (* added 2003 September 29 based on WF.NB *) CORE[WF] := IMAGE[id[Di]] (* derived 2004 April 18 in REPLACE.NB *) core[WF,x_] := intersection[Di,x] (* abbreviation added 2005 January 7 *) COUNTABLE = image[Q,succ[omega]] (* Theorem X-0-B in X1 *) cross[0,x_] := 0 (* Theorem X-0-A in X1 *) cross[x_,0] := 0 cross[x_,cart[y_,z_]] := composite[id[cart[V,z]],inverse[FIRST],x, FIRST,id[cart[V,y]]] cross[cart[x_,y_],z_] := composite[id[cart[y,V]],inverse[SECOND],z, SECOND,id[cart[x,V]]] (* added 2001 December 31 based on X-C-CP.NB *) cross[complement[cart[x_,y_]],z_] := cross[union[cart[V,complement[y]],cart[complement[x],V]],z] (* added 2001 December 31 based on X-C-CP.NB *) cross[x_,complement[cart[y_,z_]]] := cross[x,union[cart[V,complement[z]],cart[complement[y],V]]] cross[composite[Id,x_],y_] := cross[x,y] cross[x_,composite[Id,y_]] := cross[x,y] (* added 2000 September 7 based on CART.NB *) cross[composite[inverse[E],x_],composite[inverse[E],y_]] := composite[inverse[E],CART,cross[x,y]] (* added 2000 September 7 based on CART.NB *) cross[composite[inverse[E],x_],inverse[E]] := composite[inverse[E],CART,cross[x,Id]] (* added 1999 October 21 based on CARTINVS.NB *) cross[E,E] := composite[inverse[CART],E] (* Theorem X-ID-4 in X2 *) cross[Id,Id] := id[cart[V,V]] (* Theorem X-IDX-3 in X2 proved 1998 December 3 *) cross[Id,id[y_]] := id[cart[V,y]] (* Theorem X-IDX-4 in X2 proved 1998 December 3 *) cross[id[x_],Id] := id[cart[x,V]] (* Theorem X-IDX-2 in X2 proved 1998 December 3 *) cross[id[x_],id[y_]] := id[cart[x,y]] (* added 2000 September 7 based on CART.NB *) cross[inverse[E],composite[inverse[E],x_]] := composite[inverse[E],CART,cross[Id,x]] (* added 1999 October 5 based on CART.1 flipped 1999 October 12 *) cross[inverse[E],inverse[E]] := composite[inverse[E],CART] (* added 2001 November 27 based on FUNPART3.NB *) cross[inverse[E],inverse[SINGLETON]] := composite[inverse[E],CART,id[cart[V,range[SINGLETON]]]] (* added 2001 November 27 based on FUNPART3.NB *) cross[inverse[SINGLETON],inverse[E]] := composite[inverse[E],CART,id[cart[range[SINGLETON],V]]] cross[REGULAR,REGULAR] := cart[cart[REGULAR,REGULAR],cart[REGULAR,REGULAR]] (* added 2001 December 31 based on X-C-CP.NB *) cross[union[w_,complement[cart[x_,y_]]],z_] := cross[union[w,cart[V,complement[y]],cart[complement[x],V]],z] (* added 2001 December 31 based on X-C-CP.NB *) cross[w_,union[x_,complement[cart[y_,z_]]]] := cross[w,union[x,cart[V,complement[z]],cart[complement[y],V]]] cross[x_,V] := composite[inverse[FIRST],x,FIRST] cross[V,y_] := composite[inverse[SECOND],y,SECOND] (* revised 2003 May23 based on DEF-CLOS.NB *) CUPclosed := binclosed[CUP] (* abbreviation added 2005 January 7 *) DENUMERABLE = image[Q,set[omega]] (* Quaife's diagonalization functor *) diag[x_] := complement[fix[x]] (* added 2000 September 19 *) dif[x_,y_] := intersection[x,complement[y]] (* revised 2003 May23 based on DEF-CLOS.NB *) DIFclosed := binclosed[DIF] (* added 2002 September 7 based on REPLACE.NB *) disjoint[x_,y_] := equal[0,intersection[x,y]] (* Theorem DO-2A in DO1 *) domain[0] := 0 (* added 2001 May 10 based on ACLOSURE.NB *) domain[ACLOSURE] := V (* Theorem ADJ-DO in ADJ proved 1999 March 13 *) domain[ADJOIN[x_]] := image[V,set[x]] (* added 1999 October 13 based on ASSOC.1 *) domain[ASSOC] := cart[cart[V,V],V] (* Theorem BA-DO in BIGCAP/BA1 added 1998 July 30 *) domain[BIGCAP] := complement[set[0]] (* Theorem BC-DO in BIGCUP/BC *) domain[BIGCUP] := V (* sum class of a set is a set *) (* Theorem CAP-DO in CAP proved 1999 August 12 *) domain[CAP] := cart[V,V] (* added 2001 December 2 based on CARD-FUN.NB *) domain[CARD] := image[Q,OMEGA] (* Theorem CART-DO in CART proved 1999 July 26 *) domain[CART] := cart[V,V] (* added 1996 June 29 Theorem IM-CP-DO in IM3 *) domain[cart[x_,y_]] := intersection[x,image[V,y]] (* added 2001 April 29 based on CLIQUES2.NB *) domain[CLIQUES] := V (* added 2003 July 4 based on COARSER.NB *) domain[COARSER] := V (* added 2001 May 18 based on COMMUTE2.NB *) domain[COMMUTE] := V (* derived 2004 February 20 in REPLACE1.NB *) domain[complement[x_]] := complement[lb[x,V]] (* Theorem CPS-DO in COMPOSE-CPS proved 2001 January 16 *) domain[COMPOSE] := cart[V,V] (* Theorem CO-DO5 in CO3 *) domain[composite[x_,y_]] := image[inverse[y],domain[x]] (* added 2001 May 2 based on COREHULL.NB *) domain[CORE[x_]] := V (* Theorem CRS-DO in CROSS proved 2000 August 6 *) domain[CROSS] := cart[V,V] (* Theorem X-DO-3 in X2 *) domain[cross[x_,y_]] := cart[domain[x],domain[y]] (* Theorem CUP-DO in CUP1 proved 1999 July 22 *) domain[CUP] := cart[V,V] (* Theorem DI-DO in DI added 1998 July 2 *) domain[Di] := V (* added 1999 October 26 based on DIF2.NB *) domain[DIF] := cart[V,V] (* Theorem DJT-DO in DJT *) domain[DISJOINT] := V (* added 2002 August 30 based on DIVIDES.NB *) domain[DIV] := omega (* added 2001 December 18 based on DORA.NB *) domain[DORA] := V (* Theorem DUP-DO in DUP *) domain[DUP] := V (* Theorem E-DO in E1 *) domain[E] := V (* added 2002 November 3 based on EQUIDIFF.NB *) domain[EQUIDIFF] := cart[omega,omega] (* derived 2004 May 12 in EQUIV.NB *) domain[EQUIV] := V (* derived 2004 May 12 in EQV-GEN.NB *) domain[eqv[x_]] := fix[eqv[x]] (* derived 2005 April 16 in FACTRL.NB *) domain[FACTORIAL] := omega (* Theorem FIN-DO2 proved 2000 April 22 *) domain[FINITE] := V (* Theorem 1ST-DO-3 *) domain[FIRST] := cart[V,V] (* added 2001 January 28 based on PAIRSET.NB *) domain[fix[composite[complement[inverse[rotate[x_]]],y_]]] := fix[composite[complement[x],SWAP,inverse[rotate[composite[y,SWAP]]]]] domain[fix[composite[x_,FIRST]]] := fix[composite[FIRST,x]] domain[fix[composite[inverse[FIRST],x_]]] := fix[composite[x,inverse[FIRST]]] (* added 2000 September 8 based on FUNPART.LOG *) domain[FUNPART] := V (* added 2000 December 3 based on DO-LT.NB *) domain[GLB[complement[E]]] := V (* added 2000 December 5 based on DO-GT.NB *) domain[GREATEST[complement[x_]]] := complement[subvar[x]] (* added 2002 November 16 based on FACTEQDF.NB *) domain[GREATEST[EQUIDIFF]] := intersection[cliques[EQUIDIFF],complement[set[0]]] (* Theorem HC-DO in HC proved 2001 April 6 *) domain[HC] := V (* added 2001 May 2 based on IMG-PC.NB *) domain[HULL[x_]] := image[inverse[S],x] (* Theorem ID-5A in ID2 *) domain[Id] := V (* Theorem IDX-DO in IDX2 *) domain[id[x_]] := x (* added 2001 December 23 based on DORA-1.NB *) domain[image[DORA,x_]] := image[IMAGE[FIRST],x] (* added 2001 March 31 based on BIN-FU.NB *) domain[image[inverse[CAP],x_]] := image[S,x] (* added 2001 March 31 based on BIN-FU.NB *) domain[image[inverse[CUP],x_]] := image[inverse[S],x] (* added 2001 December 30 based on IMINDIF.NB *) domain[image[inverse[DIF],x_]] := image[S,x] (* added 2002 September 12 based on LEFT-SUB.NB *) domain[image[inverse[NATADD],set[x_]]] := intersection[image[V,intersection[omega,set[x]]],succ[x]] (* added 2002 September 2 based on IMAGEDIV.NB *) domain[image[inverse[NATMUL],x_]] := image[inverse[DIV],x] (* added 1999 December 24 based on SYMDIF-2.NB *) domain[image[inverse[SYMDIF],set[x_]]] := image[V,set[x]] (* Theorem IM-V-DO in IM2 *) domain[image[V,x_]] := image[V,x] (* Theorem VS-DO-9 in VS2 proved 1999 July 13 *) domain[IMAGE[x_]] := P[domain[VERTSECT[x]]] (* Theorem MG-DO in MG proved 2000 August 25 *) domain[IMG] := cart[V,V] (* added 2003 July 25 based on INTADD.NB *) domain[INTADD] := cart[Z,Z] (* Theorem FP-CO3 in FP2 *) domain[intersection[x_,y_]] := fix[composite[inverse[x],y]] (* added 2002 April 10 based on INVAR.NB *) domain[INVAR] := V (* added 1999 October 12 based on INVERSE.4 *) domain[INVERSE] := P[cart[V,V]] (* Definition DF-RA in AX-B *) domain[inverse[z_]] := range[z] (* added 2002 June 30 based on DOITSUCC.NB *) domain[iterate[SUCC,x_]] := intersection[omega,image[V,x]] (* Theorem K-DO in K proved 2000 May 16 *) domain[K] := V (* added 2002 January 11 based on KURA.NB *) domain[KURA] := cart[V,V] (* added 2003 May 10 based on LAMBHULL.NB *) domain[LAMBHULL] := V (* added 2001 December 30 based on DISCOVER.NB *) domain[LB[complement[cross[x_,y_]]]] := V (* derived 2004 June 27 in X1691.NB *) domain[LB[eqv[x_]]] := cliques[eqv[x]] (* derived 2004 January 22 in INVAR.NB *) domain[LB[INVAR]] := V (* added 2000 December 23 based on LB-LB.NB *) domain[LB[LB[x_]]] := V (* added 2000 December 23 based on LB-LB.NB *) domain[LB[UB[x_]]] := V (* added 2000 December 5 based on DO-GT.NB *) domain[LEAST[complement[x_]]] := complement[subvar[inverse[x]]] (* added 2002 November 26 based on LT-GT-CP.NB *) domain[LEAST[union[cart[x_,y_],composite[Di,SUCC]]]] := union[complement[invar[SUCC]],complement[invar[composite[SUCC,id[x]]]], complement[P[union[complement[x],complement[image[inverse[SUCC],y]]]]]] (* added 1999 August 16 based on session NORMAL.4 *) domain[LEFT[x_]] := image[V,set[x]] (* rules added 1998 January 22 *) domain[LeftPairV] := V (* added 2001 April 27 based on MAP3.NB *) domain[MAP] := cart[V,V] (* added 2000 November 21 based on MAX-DO.NB *) domain[MAXIMAL[x_]] := complement[subvar[intersection[Di,inverse[x]]]] (* added 2000 November 20 based on GT-DO.LOG *) domain[MINIMAL[x_]] := complement[subvar[intersection[Di,x]]] (* added 2002 June 12 based on NATADD.NB *) domain[NATADD] := cart[omega,omega] (* derived 2005 May 17 based on NATMOD.NB *) domain[NATMOD] := cart[omega,omega] (* added 2002 July 1 based on MUL-DO.NB *) domain[NATMUL] := cart[omega,omega] (* added 1998 May 24 *) domain[omega] := 0 (* Theorem ON-1-DO in ON1 added 1998 May 24 *) domain[OMEGA] := 0 (* derived 2004 May 9 in OOPART.NB *) domain[OOPART] := V (* added 1999 October 2 based on PAIRSET.7 *) domain[PAIRSET] := cart[V,V] (* added 2002 November 29 based on PLUS.NB *) domain[PLUS] := omega (* added 2003 August 7 based on PLUS.NB *) domain[plus[x_]] := intersection[omega,image[V,intersection[omega,set[x]]]] (* Theorem POW-DO in POW2 added 1998 July 18 *) domain[POWER] := V (* Theorem PS-DO in PS added 1998 August 9 *) domain[PS] := V (* Theorem Q-DO in Q proved 2000 April 25 *) domain[Q] := V (* rules added 1998 January 22 *) domain[range[LeftPairV]] := 0 domain[range[RightPairV]] := 0 (* Theorem RK-DO6 in RANK6 proved 2001 August 11 *) domain[RANK] := REGULAR (* added 1999 October 31 based on DIF-LEFT.NB *) domain[RC[x_]] :=intersection[image[V,set[x]],P[x]] (* added 2002 February 3 based on RCF.NB *) domain[RCF] := V (* Theorem REG-30 *) domain[REGULAR] := REGULAR (* added 2003 May 30 based on RESTRICT.NB *) domain[RESTRICT] := V (* derived 2004 December 16 in RFX-CORE.NB *) domain[rfx[x_]] := fix[x] (* added 2001 January 20 based on RIF-2.NB *) domain[RIF] := composite[inverse[SECOND],FIRST] (* added 1999 August 16 based on session NORMAL.4 *) domain[RIGHT[x_]] := image[V,set[x]] (* rules added 1998 January 22 *) domain[RightPairV] := V (* added 1999 August 2 *) domain[ROT] := cart[cart[V,V],V] (* added 1999 September 3 based on ROTATE.1 *) domain[rotate[x_]] := composite[FIRST,inverse[x]] (* Theorem SR-DO in SR1 *) domain[S] := V (* Theorem 2ND-DO *) domain[SECOND] := cart[V,V] (* Theorem DG-DO in SG2 *) domain[SINGLETON] := V (* added 2001 November 13 based on 1ST-2ND.NB *) domain[set[x_]] := set[first[x]] (* derived 2004 April 6 in SMALLER.NB *) domain[SMALLER] := V (* added 2002 December 27 based on SBCOMMUT.NB *) domain[SUBCOMMUTE] := V (* added 2000 February 15 *) domain[SUBVAR] := V (* Theorem SUC-DO in SUC-RELATION *) domain[SUCC] := V (* Theorem SW-DO in SW3 *) domain[SWAP] := cart[V,V] (* added 1999 December 2 based on SYMDIF-2.NB *) domain[SYMDIF] := cart[V,V] (* revised 2000 October 24 *) domain[TC] := V (* added 2003 January 27 *) domain[trv[x_]] := domain[x] (* added 2001 January 18 based on ROT-CPS.NB *) domain[twist[x_]] := composite[FIRST,x,inverse[FIRST]] (* Theorem TW-2 in TWIST proved 1999 July 30 *) domain[TWIST] := cart[cart[V,V],cart[V,V]] (* derived 2004 June 24 in SBCOMTNT.NB *) domain[U[subcommutant[thinpart[x_]]]] := V (* added 2001 December 30 based on DISCOVER.NB *) domain[UB[complement[cross[x_,y_]]]] := V (* derived 2004 August 4 in THIN-DO.NB *) domain[UB[composite[E,inverse[E]]]] := P[complement[set[0]]] (* derived 2004 August 4 in THIN-DO.NB *) domain[UB[composite[E,thinpart[x_]]]] := P[domain[thinpart[x]]] (* added 2002 November 16 based on FACTEQDF.NB *) domain[UB[EQUIDIFF]] := cliques[EQUIDIFF] (* derived 2004 June 27 in X1691.NB *) domain[UB[eqv[x_]]] := cliques[eqv[x]] (* added 2000 December 18 based on LB-LB.NB *) domain[UB[Q]] := cliques[Q] (* added 2001 May 10 based on UCLOS-1.NB *) domain[UCLOSURE] := V (* Theorem DO-3 in DO1 *) domain[union[x_,y_]] := union[domain[x],domain[y]] (* Theorem DO-2B in DO1 *) domain[V] := V (* derived 2003 December 31 in COARSER.NB *) domain[VERTSECT[COARSER]] := V (* added 2001 July 4 based on VS-1.NB *) domain[VERTSECT[complement[composite[complement[inverse[E]],x_]]]] := domain[x] (* added 2001 July 4 based on VS-1.NB *) domain[VERTSECT[complement[composite[complement[inverse[S]],x_]]]] := domain[x] (* derived 2004 February 25 in HULLUBLB.NB *) domain[VERTSECT[complement[composite[complement[x_],LB[x_]]]]] := image[inverse[S],fix[VERTSECT[complement[composite[complement[x],LB[x]]]]]] (* added 1999 October 16 based on 1999\OCT\15\VERTSECT.1 *) domain[VERTSECT[composite[id[cart[V,V]],x_]]] := intersection[ domain[VERTSECT[composite[FIRST,x]]], domain[VERTSECT[composite[SECOND,x]]]] (* derived 2004 June 19 in X14--.NB *) domain[VERTSECT[composite[id[x_],Di]]] := image[V,set[x]] (* derived 2004 June 25 in X2500-19.NB *) domain[VERTSECT[composite[id[x_],inverse[FIRST]]]] := domain[VERTSECT[x]] (* derived 2004 June 25 in X2500-19.NB *) domain[VERTSECT[composite[id[x_],inverse[SECOND]]]] := domain[VERTSECT[inverse[x]]] (* added 2001 December 24 based on THINDORA.NB *) domain[VERTSECT[composite[id[P[cart[V,V]]],inverse[DORA]]]] := V (* derived 2004 November 18 in XS-IN-AC.NB *) domain[VERTSECT[composite[id[P[cart[V,V]]],inverse[RESTRICT]]]] := complement[P[cart[V,V]]] (* added 2002 June 24 based on THIN-TRV.NB *) domain[VERTSECT[composite[inverse[power[x_]],inverse[FIRST]]]] := V (* revised 2001 November 25 based on VS-X.NB *) domain[VERTSECT[cross[x_,y_]]] := intersection[ complement[cart[complement[domain[VERTSECT[x]]],domain[y]]], complement[cart[domain[x],complement[domain[VERTSECT[y]]]]]] (* derived 2004 September 30 in EQV-THNP.NB *) domain[VERTSECT[eqv[thinpart[x_]]]] := V (* added 2002 April 8 based on DVS-1ST.NB *) domain[VERTSECT[first[x_]]] := image[V,set[first[x]]] (* added 2000 December 22 based on LEAST.NB *) domain[VERTSECT[GREATEST[x_]]] := V (* derived 2005 April 16 in VS-I-DI.NB *) domain[VERTSECT[intersection[Di,x_]]] := domain[VERTSECT[x]] (* added 2002 February 2 based on THINNESS.NB *) domain[VERTSECT[inverse[ACLOSURE]]] := V (* added 2003 June 29 based on ADJOIN.NB *) domain[VERTSECT[inverse[ADJOIN[x_]]]] := V (* added 2001 October 2 based on ACL-UCL.NB *) domain[VERTSECT[inverse[BIGCUP]]] := V (* added 2003 July 4 based on COARSER.NB *) domain[VERTSECT[inverse[COARSER]]] := V (* added 2002 February 2 based on THINNESS.NB *) domain[VERTSECT[inverse[CUP]]] := V (* added 2001 October 2 based on ACL-UCL.NB *) domain[VERTSECT[inverse[IMAGE[POWER]]]] := V (* added 2002 February 2 based on THINNESS.NB *) domain[VERTSECT[inverse[K]]] := V (* added 1999 October 17 based on STRANGE.7 *) domain[VERTSECT[inverse[PAIRSET]]] := V (* added 2000 November 14 based on MAX.NB *) domain[VERTSECT[inverse[PS]]] := V (* derived 2004 December 31 in IN-RK.NB *) domain[VERTSECT[inverse[RANK]]] := V (* derived 2004 November 17 in INTERVAL.NB *) domain[VERTSECT[inverse[RESTRICT]]] := complement[P[cart[V,V]]] (* added 1999 October 17 based on 1999\OCT\15\WORK\SESSION.1 *) domain[VERTSECT[inverse[rotate[x_]]]] := intersection[domain[VERTSECT[composite[x,inverse[SECOND]]]], domain[VERTSECT[inverse[domain[x]]]]] (* Corollary of Theorem SUC-IN7 in SUC-RELATION added 1998 August 7 *) domain[VERTSECT[inverse[SUCC]]] := V (* added 2001 March 15 based on H-2.NB *) domain[VERTSECT[inverse[TC]]] := V (* derived 2004 June 6 in REPLACE.NB *) domain[VERTSECT[inverse[trv[SUCC]]]] := V (* added 2002 February 2 based on THINNESS.NB *) domain[VERTSECT[inverse[UCLOSURE]]] := V (* added 2000 December 22 based on LEAST.NB *) domain[VERTSECT[LEAST[x_]]] := V (* added 1999 August 17 based on session INTRIGUE.2 *) domain[VERTSECT[LEFT[x_]]] := V (* derived 2004 August 1 in THINNESS.NB *) domain[VERTSECT[MAXIMAL[x_]]] := V (* derived 2004 August 1 in THINNESS.NB *) domain[VERTSECT[MINIMAL[x_]]] := V (* added 2003 May 30 based on RESTRICT.NB *) domain[VERTSECT[RESTRICT]] := V (* derived 2004 December 17 in RFX.NB *) domain[VERTSECT[rfx[thinpart[x_]]]] := V (* derived 2005 January 29 in RFXTRVTH.NB *) domain[VERTSECT[rfx[trv[thinpart[x_]]]]] := V (* added 1999 August 17 based on session INTRIGUE.2 *) domain[VERTSECT[RIGHT[x_]]] := V (* added 1999 October 12 based on CHALRULE.LOG *) domain[VERTSECT[rotate[E]]] := V (* derived 2004 May 14 based on SPECIAL.NB *) domain[VERTSECT[rotate[inverse[thinpart[x_]]]]] := V (* added 2002 April 8 based on DVS-1ST.NB *) domain[VERTSECT[second[x_]]] := image[V,set[first[x]]] (* derived 2004 May 14 in THINPART.NB *) domain[VERTSECT[thinpart[x_]]] := V (* derived 2004 August 1 in THINNESS.NB *) domain[VERTSECT[trv[thinpart[x_]]]] := V (* Corollary of Theorem IMG-U in IMG3 proved 1998 March 25 *) domain[VERTSECT[union[x_,y_]]] := intersection[domain[VERTSECT[x]],domain[VERTSECT[y]]] (* added 2003 June 11 based on VS.NB *) domain[VS] := V (* derived 2004 September 25 in LAMB-WF.NB *) domain[WFPART] := V (* derived 2004 November 16 in XS.NB *) domain[XS] := V (* added 2001 July 12 based on ZN-2.NB *) domain[ZN] := V (* definition of empty *) empty[x_] := equal[0,x] equal[x_,x_] := True (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,Aclosure[x_]] := equal[0,x] (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,ADJOIN[x_]] := not[member[x,V]] (* added 2002 January 26 based on IMV.NB *) equal[0,ANTISYM] := False (* derived 2005 April 21 in AP-FACT.NB *) equal[0,APPLY[FACTORIAL,x_]] := False (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,ASSOC] := False (* added 2003 May 23 based on BINCLOSE.NB *) equal[0,binclosed[x_]] := False (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,CAP] := False (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,CARD] := False (* added 2001 December 8 based on EMPTY-2.NB *) equal[0,card[x_]] := equal[0,x] (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,CART] := False (* added 1998 August 23 *) equal[0,cart[x_,y_]] := or[equal[0,x],equal[0,y]] (* added 2001 November 22 based on CLIQUES.NB *) equal[0,cliques[x_]] := False (* derived 2003 December 22 in EMPTY.NB *) equal[0,COARSER] := False (* added 2001 December 8 based on EQUAL-C.NB *) equal[0,complement[x_]] := equal[V,x] (* added 1998 August 23 *) equal[0,composite[x_,y_]] := subclass[domain[x],complement[range[y]]] (* derived 2004 April 17 in REPLACE.NB *) equal[0,core[x_,y_]] := subclass[intersection[x,P[y]],set[0]] (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,CROSS] := False (* proposed 1998 September 13 *) equal[0,cross[x_,y_]] := or[equal[0,domain[x]],equal[0,domain[y]]] (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,CUP] := False (* derived 2003 December 22 in EMPTY.NB *) equal[0,DESCENDING] := False (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,DIF] := False (* derived 2003 December 22 in EMPTY.NB *) equal[0,DIV] := False (* added 2002 October 25 based on ROTATE.NB *) equal[0,domain[fix[composite[x_,complement[y_]]]]] := subclass[composite[inverse[x],id[cart[V,V]]],y] (* added 2002 October 25 based on ROTATE.NB *) equal[0,domain[fix[composite[complement[x_],y_]]]] := subclass[composite[id[cart[V,V]],inverse[y]],x] (* added 2002 June 13 based on FUN-ADD.NB *) equal[0,domain[fix[composite[inverse[x_],Di,x_]]]] := FUNCTION[composite[x,id[cart[V,V]]]] (* added 2003 July 23 based on NATADD.NB *) equal[0,domain[fix[composite[x_,SWAP]]]] := equal[0,fix[composite[x,SWAP]]] (* added 2001 December 30 based on DISCOVER.NB *) equal[0,domain[GREATEST[x_]]] := equal[0,fix[x]] (* added 2001 December 30 based on DISCOVER.NB *) equal[0,domain[LEAST[x_]]] := equal[0,fix[x]] (* derived 2004 November 18 in XS-IN-AC.NB *) equal[0,domain[U[complement[SELECT]]]] := axch (* derived 2004 September 21 in WF-X.NB *) equal[0,domain[U[subvar[cross[x_,y_]]]]] := WELLFOUNDED[cross[x,y]] (* derived 2003 December 22 in EMPTY.NB *) equal[0,EQUIDIFF] := False (* derived 2004 December 13 in DORA-FIN.NB *) equal[0,FINITE] := False (* derived 2003 December 22 in EMPTY.NB *) equal[0,fix[CARD]] := False (* added 2000 November 27 based on FIX-C.NB *) equal[0,fix[composite[complement[x_],y_]]] := subclass[inverse[y],x] (* added 1998 September 10 *) equal[0,fix[composite[x_,complement[y_]]]] := subclass[inverse[x],y] (* added 1998 September 10 *) equal[0,fix[composite[x_,complement[y_],z_]]] := subclass[composite[z,x],inverse[y]] (* added 2002 June 15 based on REPLACE.NB *) equal[0,fix[composite[x_,cross[Id,Di],inverse[x_]]]] := FUNCTION[rotate[x]] (* added 2003 October 15 based on FUNRULES.NB *) equal[0,fix[composite[Di,x_]]] := subclass[composite[Id,x],Id] (* added 2003 October 15 based on FUNRULES.NB *) equal[0,fix[composite[x_,Di]]] := subclass[composite[Id,x],Id] (* added 2003 October 15 based on FUNRULES.NB *) equal[0,fix[composite[x_,Di,y_]]] := subclass[composite[y,x],Id] (* added 2002 November 16 based on LB-UB.NB *) equal[0,fix[composite[E,x_,LB[y_]]]] := equal[0,fix[composite[x,inverse[y]]]] (* added 2002 November 16 based on LB-UB.NB *) equal[0,fix[composite[E,x_,UB[y_]]]] := equal[0,intersection[x,inverse[y]]] (* added 2002 October 6 based on DIVISION.NB *) equal[0,fix[composite[FIRST, intersection[composite[inverse[x_],FIRST], composite[inverse[SECOND],Di,SECOND]], inverse[rotate[composite[x_,SWAP]]]]]] := FUNCTION[rotate[x]] (* added 2002 October 25 based on EQ-0-FIX.NB *) equal[0,fix[composite[x_,id[y_],z_]]] := equal[0,intersection[y,fix[composite[z,x]]]] (* derived 2004 January 11 in PSU-ASYM.TXT *) equal[0,fix[composite[x_,intersection[Di,x_]]]] := subclass[intersection[x,inverse[x]],Id] (* added 2002 June 15 based on REPLACE.NB *) equal[0,fix[composite[inverse[x_],cross[Id,Di],x_]]] := FUNCTION[rotate[inverse[x]]] (* derived 2004 May 14 in SIMPLIFY.NB *) equal[0,fix[composite[inverse[IMAGE[id[x_]]],y_,IMAGE[id[composite[Id,x_]]]]]] := equal[0,intersection[fix[composite[y,IMAGE[id[cart[V,V]]]]],P[x]]] (* added 2002 June 28 based on BIN-FUN.NB *) equal[0,fix[composite[rotate[x_], inverse[rotate[composite[Di,x_]]]]]] := FUNCTION[composite[x,id[cart[V,V]]]] (* added 2002 October 6 based on DIVISION.NB *) equal[0,fix[composite[SECOND, intersection[composite[inverse[x_],FIRST], composite[inverse[FIRST],Di,SECOND]],inverse[rotate[x_]]]]] := FUNCTION[rotate[composite[x,SWAP]]] (* added 2003 September 7 based on FIX-HULL.NB *) equal[0,fix[HULL[x_]]] := equal[0,x] (* derived 2004 March 29 based on HULL.NB *) equal[0,fix[hull[TRV,x_]]] := and[equal[0,fix[trv[x]]],member[x,V],subclass[x,cart[V,V]]] (* added 2001 December 30 based on LEAST.NB *) equal[0,GREATEST[x_]] := equal[0,fix[x]] (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,HULL[x_]] := equal[0,x] (* added 1998 August 23 *) equal[0,id[x_]] := equal[0,x] (* added 2000 September 5 based on RC.NB *) equal[0,IMAGE[x_]] := False (* added 1998 August 23 *) equal[0,image[x_,y_]] := subclass[y,complement[domain[x]]] (* added 1998 August 23 *) equal[0,image[S,x_]] := equal[0,x] equal[0,image[V,x_]] := equal[0,x] (* derived 2003 December 22 in EMPTY.NB *) equal[0,INTADD] := False (* added 2003 August 9 based on REIFZADD.NB *) equal[0,intadd[x_,y_]] := False (* derived 2004 January 16 in ADJ-UIDK.NB *) equal[0,intersection[ADJOIN[x_],composite[PS,PS]]] := or[equal[0,x],member[x,range[SINGLETON]],not[member[x,V]]] (* added 2002 September 7 based on REPLACE.NB *) equal[0,intersection[x_,complement[y_]]] := subclass[x,y] (* added 2002 November 15 based on SCHRODER.NB *) equal[0,intersection[x_,composite[y_,complement[z_]]]] := subclass[composite[inverse[y],x],z] (* added 2002 November 15 based on SCHRODER.NB *) equal[0,intersection[x_,composite[complement[y_],z_]]] := subclass[composite[x,inverse[z]],y] (* added 2002 September 7 based on REPLACE.NB *) equal[0,intersection[x_,composite[Di,x_]]] := FUNCTION[composite[Id,x]] (* added 2002 September 7 based on REPLACE.NB *) equal[0,intersection[x_,composite[x_,Di]]] := FUNCTION[inverse[x]] (* added 2002 September 10 based on DJ-DI.NB *) equal[0,intersection[Di,x_]] := subclass[composite[Id,x],Id] (* derived 2004 January 24 in FIN-DJ3.NB *) equal[0,intersection[FINITE,image[S,x_]]] := equal[0,intersection[FINITE,x]] (* derived 2003 December 25 in RC-CUP.NB *) equal[0,intersection[FINITE,P[x_]]] := False (* added 2002 September 8 based on REPLACE.NB *) equal[0,intersection[x_,fix[composite[y_,complement[z_]]]]] := subclass[composite[inverse[y],id[x]],z] (* added 2002 September 8 based on REPLACE.NB *) equal[0,intersection[x_,fix[composite[complement[y_],z_]]]] := subclass[composite[id[x],inverse[z]],y] (* derived 2004 June 26 in X1509.NB *) equal[0,intersection[x_,fix[composite[Di,id[x_],y_,id[z_],inverse[y_]]]]] := FUNCTION[composite[id[x],y,id[z]]] (* derived 2004 June 26 in X1509.NB *) equal[0,intersection[y_,fix[composite[x_,Di,inverse[x_]]]]] := FUNCTION[composite[inverse[x],id[y]]] (* derived 2004 June 26 in X1509.NB *) equal[0,intersection[x_,fix[composite[y_,id[z_],inverse[y_],id[x_],Di]]]] := FUNCTION[composite[id[x],y,id[z]]] (* derived 2005 January 25 *) equal[0,intersection[y_,fix[composite[inverse[x_],cross[Id,Di],x_]]]] := FUNCTION[composite[rotate[inverse[x]],id[cart[y,V]]]] (* added 2002 September 8 based on REPLACE.NB *) equal[0,intersection[y_,fix[composite[inverse[x_],Di,x_]]]] := FUNCTION[composite[x,id[y]]] (* added 2002 September 7 based on REPLACE.NB *) equal[0,intersection[x_,fix[E]]] := subclass[x,RUSSELL] (* added 2002 September 10 based on DJ-CP.NB *) equal[0,intersection[x_,image[y_,complement[z_]]]] := subclass[image[inverse[y],x],z] (* added 2002 September 9 based on CP-SU-ID.NB *) equal[0,intersection[x_,image[Di,y_]]] := or[and[equal[x,y], member[y,range[SINGLETON]]],equal[0,x],equal[0,y]] (* added 2002 September 7 based on REPLACE.NB *) equal[0,intersection[x_,image[inverse[y_],z_]]] := equal[0,intersection[z,image[y,x]]] (* added 2002 October 19 based on E-RULES.NB *) equal[0,intersection[x_,image[y_,set[z_]]]] := not[member[z,image[inverse[y],x]]] (* derived 2004 June 12 in X1103.NB *) equal[0,intersection[x_,inverse[y_]]] := equal[0,fix[composite[x,y]]] (* added 2002 September 8 based on REPLACE.NB *) equal[0,intersection[x_,P[complement[set[y_]]]]] := or[and[equal[0,x],not[member[y,V]]],member[y,A[x]]] (* added 2003 July 16 based on FINITE.NB *) equal[0,intersection[P[x_],subvar[y_]]] := False (* derived 2004 March 4 in PAIRSET.NB *) equal[0,intersection[x_,set[y_,z_]]] := and[not[member[y,x]],not[member[z,x]]] (* added 2002 September 7 based on REPLACE.NB *) equal[0,intersection[x_,set[y_]]] := not[member[y,x]] (* added 1999 October 28 based on TEST-LOG.1 *) equal[0,invar[x_]] := False (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,INVERSE] := False (* proposed 1998 September 13 *) equal[0,inverse[x_]] := equal[0,domain[x]] (* added 2002 May 20 based on ITER-EQ.NB *) equal[0,iterate[x_,y_]] := equal[0,y] (* added 2002 January 26 based on IMV.NB *) equal[0,KURA] := False (* derived 2004 February 21 in LB-SS.NB *) equal[0,lb[x_,set[y_]]] := and[member[y,V],not[member[y,range[x]]]] (* added 2001 December 30 based on LEAST.NB *) equal[0,LEAST[x_]] := equal[0,fix[x]] (* added 2000 September 4 based on LEFTPAIR.NB *) equal[0,LEFT[x_]] := not[member[x,V]] (* added 2003 May 8 based on MAP-0.NB *) equal[0,map[x_,y_]] := or[and[equal[0,y],not[equal[0,x]]],not[member[x,V]]] (* derived 2005 June 17 in DF.NB *) equal[0,nat[natsub[x_,y_]]] := or[equal[x,y],not[member[x,omega]],not[member[y,omega]],not[subclass[y,x]]] (* derived 2003 December 22 in EMPTY.NB *) equal[0,NATADD] := False (* added 2002 July 30 based on IMIN-ADD.NB *) equal[0,natadd[x_,y_]] := and[equal[0,x],equal[0,y]] (* derived 2005 May 17 based on NATMOD.NB *) equal[0,natmod[x_,y_]] := member[pair[y,x],DIV] (* derived 2003 December 22 in EMPTY.NB *) equal[0,NATMUL] := False (* added 2002 October 4 based on ZERO-MUL.NB *) equal[0,natmul[x_,y_]] := or[and[equal[0,x],member[y,omega]], and[equal[0,y],member[x,omega]]] (* added 2002 September 17 based on EQUAL.NB *) equal[0,natsub[x_,y_]] := and[equal[x,y],member[x,omega]] (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,omega] := False (* added 1998 August 23 *) equal[0,P[x_]] := False equal[0,pair[x_,y_]] := False (* added 9/17/96 at 9:20 pm *) (* added 2002 January 1 based on PAIR-MEM.NB *) equal[0,PAIR[x_,y_]] := False (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,PAIRSET] := False (* derived 2003 December 22 in EMPTY.NB *) equal[0,PLUS] := False (* added 2003 August 8 based on REPLACE.NB *) equal[0,plus[x_]] := not[member[x,omega]] (* derived 2005 February 22 in PRIMEDIV.NB *) equal[0,PRIMES] := False (* added 1998 August 23 *) equal[0,range[x_]] := equal[0,domain[x]] (* derived 2003 December 21 in LOW-RANK.NB *) equal[0,rank[x_]] := equal[0,x] (* added 2000 September 5 based on RC.NB *) equal[0,RC[x_]] := not[member[x,V]] (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,RFX] := False (* added 2000 September 4 based on LEFTPAIR.NB *) equal[0,RIGHT[x_]] := not[member[x,V]] (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,ROT] := False (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,rotate[x_]] := equal[0,domain[domain[x]]] (* derived 2004 August 7 in RS-1.NB *) equal[0,RS[x_]] := False (* derived 2005 January 11 in SET-0.NB *) equal[0,set[x_,y___]] := and[equal[0,set[y]],not[member[x,V]]] (* derived 2004 August 11 in RS-4.NB *) equal[0,setpart[x_]] := or[equal[0,x],not[member[x,V]]] (* derived 2003 December 22 in EMPTY.NB *) equal[0,subcommutant[x_]] := False (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,SUBVAR] := False (* added 1999 October 28 based on TEST-LOG.2 *) equal[0,subvar[x_]] := False (* added 2001 November 6 based on CP-SU.NB *) equal[0,succ[x_]] := False (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,SYM] := False (* added 2001 December 8 based on EMPTY-2.NB *) equal[0,tc[x_]] := equal[0,x] (* derived 2004 May 14 in THINPART.NB *) equal[0,thinpart[x_]] := equal[0,intersection[domain[x],domain[VERTSECT[x]]]] (* derived 2003 December 22 in EMPTY.NB *) equal[0,TO] := False (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,TOPS] := False (* added 2001 December 8 based on EMPTY-1.NB *) equal[0,TRV] := False (* derived 2003 December 22 in EMPTY.NB *) equal[0,trv[x_]] := equal[0,domain[x]] (* added 2000 October 4 based on NONEMPTY.LOG *) equal[0,TWIST] := False (* derived 2003 December 22 in EMPTY.NB *) equal[0,twist[x_]] := equal[0,domain[image[x,cart[V,V]]]] (* added 1998 August 23 *) equal[0,U[x_]] := subclass[x,set[0]] (* added 2001 December 8 based on EMPTY-2.NB *) equal[0,Uclosure[x_]] := False equal[0,union[x_,y_]] := and[equal[0,x],equal[0,y]] equal[0,V] := False (* derived 2003 December 22 in EMPTY.NB *) equal[0,VS] := False (* derived 2004 September 18 in WF-WRAP.NB *) equal[0,wf[x_]] := subclass[range[x],U[subvar[x]]] (* derived 2003 December 22 in EMPTY.NB *) equal[0,WO] := False (* derived 2004 November 2 in SELECT.NB *) equal[0,X[cart[x_,y_]]] := and[not[equal[0,y]],not[member[x,V]]] (* derived 2005 January 11 in FIN-SET.NB *) equal[0,X[set[x__]]] := False (* added 2002 November 17 based on HER-Z.NB *) equal[0,Z] := False (* added 2002 May 10 based on U-A.NB *) equal[A[x_],U[x_]] := member[x,range[SINGLETON]] (* added 2001 December 21 based on ADJOIN.NB *) equal[ADJOIN[x_],ADJOIN[y_]] := equal[set[x],set[y]] (* derived 2004 March 23 in ADJECT.NB *) equal[ADJOIN[x_],composite[CUP,id[cart[V,y_]],inverse[FIRST]]] := equal[y,set[x]] (* derived 2003 December 22 in LOW-CARD.NB *) equal[card[x_],set[0]] := member[x,range[SINGLETON]] (* derived 2003 December 22 in LOW-CARD.NB *) equal[card[x_],succ[set[0]]] := member[x,image[PAIRSET,Di]] (* added 2003 April 19 based on XSQ.NB *) equal[cart[x_,x_],cart[y_,y_]] := equal[x,y] (* added 2001 December 8 based on EQ-BIN.NB *) equal[cart[x_,y_],cart[x_,z_]] := or[equal[0,x],equal[y,z]] (* added 2001 December 8 based on EQ-BIN.NB *) equal[cart[x_,y_],cart[z_,y_]] := or[equal[0,y],equal[x,z]] (* derived 2004 June 20 in X1604-56.NB *) equal[cart[x_,y_],cart[y_,x_]] := or[equal[0,x],equal[0,y],equal[x,y]] (* derived 2003 December 21 in RECT.NB *) equal[cart[x_,x_],id[x_]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 January 2 in CUT-EQNS.NB *) equal[cart[x_,y_],IMAGE[id[z_]]] := and[equal[0,z],equal[V,x],equal[y,set[0]]] (* derived 2003 December 21 in RECT.NB *) equal[cart[x_,y_],inverse[z_]] := equal[cart[y,x],composite[Id,z]] (* added 2001 November 30 based on FLIP-SS.NB *) equal[cart[x_,y_],set[z_]] := or[and[equal[0,x],not[member[z,V]]],and[equal[0,y],not[member[z,V]]], and[equal[set[first[z]],x],equal[set[second[z]],y], member[first[z],V]]] (* derived 2004 October 12 in CMPCT-OM.NB *) equal[COMPACT,FINITE] := False (* derived 2004 October 12 in CMPCT-OM.NB *) equal[COMPACT,image[COARSER,FINITE]] := False (* added 2001 December 8 based on EQUAL-C.NB *) equal[complement[x_],complement[y_]] := equal[x,y] (* added 2002 October 25 based on SU-IM-CP.NB *) equal[complement[x_],image[Di,x_]] := member[x,range[SINGLETON]] (* added 2002 October 25 based on SU-IM-CP.NB *) equal[x_,complement[image[Di,x_]]] := member[x,range[SINGLETON]] (* derived 2004 June 12 in X928.NB *) equal[x_,complement[image[inverse[S],complement[x_]]]] := equal[x,image[S,x]] (* derived 2004 June 12 in X928.NB *) equal[complement[x_],image[inverse[S],complement[x_]]] := equal[x,image[S,x]] (* derived 2004 June 12 in X928.NB *) equal[x_,complement[image[S,complement[x_]]]] := equal[x,image[inverse[S],x]] (* derived 2004 June 12 in X928.NB *) equal[complement[x_],image[S,complement[x_]]] := equal[x,image[inverse[S],x]] (* added 2002 October 14 based on IMAGEV.NB *) equal[x_,complement[image[V,y_]]] := or[and[equal[0,x],not[equal[0,y]]],and[equal[0,y],equal[V,x]]] (* derived 2004 July 15 in X2310-57.NB *) equal[x_,composite[BIGCAP,VERTSECT[x_]]] := FUNCTION[x] (* derived 2004 October 7 in BC-IM-PC.NB *) equal[x_,composite[BIGCUP,IMAGE[x_],POWER]] := and[equal[V,domain[x]],FUNCTION[x],subclass[composite[x,inverse[S]],composite[inverse[S],x]]] (* derived 2004 November 18 in XS-IN-AC.NB *) equal[composite[BIGCUP,XS],IMAGE[id[cart[V,V]]]] := axch (* added 2003 August 28 based on IMIN-FUI.NB *) equal[composite[CAP,cross[IMAGE[x_],IMAGE[x_]]],composite[IMAGE[x_],CAP]] := and[equal[V,domain[VERTSECT[x]]],FUNCTION[inverse[x]]] (* added 2003 September 6 based on CUP-HULL.NB *) equal[composite[CUP,cross[ADJOIN[x_],ADJOIN[y_]]], composite[ADJOIN[union[x_,y_]],CUP]] := True (* added 2003 September 6 based on CUP-HULL.NB *) equal[composite[CUP,cross[HULL[SYM],HULL[SYM]]], composite[HULL[SYM],CUP]] := True (* added 2003 September 6 based on CUP-HULL.NB *) equal[composite[CUP,id[cart[FINITE,FINITE]]],composite[id[FINITE],CUP]] := True (* added 2003 September 6 based on CUP-HULL.NB *) equal[composite[CUP,id[cart[P[x_],P[x_]]]],composite[id[P[x_]],CUP]] := True (* added 2003 September 6 based on CUP-HULL.NB *) equal[composite[CUP,id[cart[REGULAR,REGULAR]]],composite[id[REGULAR],CUP]] := True (* derived 2004 March 23 in ADJECT.NB *) equal[composite[CUP,id[cart[V,x_]],inverse[FIRST]], composite[CUP,id[cart[V,y_]],inverse[FIRST]]] := equal[x,y] (* added 2001 December 29 based on X-FU-FP.NB *) equal[composite[DUP,x_],intersection[composite[inverse[FIRST],x_], composite[inverse[SECOND],x_]]] := FUNCTION[composite[Id,x]] (* derived 2004 March 30 in CO-ES-ID.NB *) equal[composite[E,x_],composite[E,y_]] := equal[composite[Id,x],composite[Id,y]] (* derived 2004 July 27 in FUNP-RS.NB *) equal[x_,composite[funpart[y_],id[domain[x_]]]] := subclass[x,funpart[y]] (* added 2001 March 4 based on SU-IN.NB *) equal[composite[Id,x_],x_] := subclass[x,cart[V,V]] (* added 2002 June 30 based on ITER-RS.NB *) equal[x_,composite[id[w_],x_]] := subclass[x,cart[V,w]] (* added 2002 June 30 based on MUL-DO.NB *) equal[x_,composite[x_,id[y_]]] := subclass[x,cart[y,V]] (* added 2002 June 29 based on IDX-IMV.NB *) equal[composite[u___,x_,id[complement[image[V,y_]]],v___], composite[u___,id[complement[image[V,y_]]],x_,v___]] := True (* derived 2004 June 17 in X1337-65.NB *) equal[composite[Id,x_],composite[x_,id[y_]]] := subclass[domain[x],y] (* derived 2004 June 17 in X1337-65.NB *) equal[composite[Id,x_],composite[id[y_],x_]] := subclass[range[x],y] (* derived 2004 June 4 in X-DUP-SU.NB *) equal[composite[Id,x_],composite[Id,intersection[x_,y_]]] := subclass[composite[Id,x],y] (* derived 2004 September 5 in WF-REC-4.NB *) equal[composite[id[composite[IMAGE[composite[id[x_],inverse[FIRST]]],VERTSECT[y_]]],inverse[FIRST]],history[x_,y_]] := True (* added 2001 December 28 based on FUNPART.NB *) equal[composite[Id,x_],funpart[x_]] := FUNCTION[composite[Id,x]] (* Theorem RS-SU derived 2004 June 10 in X369.NB *) equal[x_,composite[id[z_],x_,id[y_]]] := subclass[x,cart[y,z]] (* added 2002 June 29 based on IDX-IMV.NB *) equal[composite[u___,x_,id[image[V,y_]],v___], composite[u___,id[image[V,y_]],x_,v___]] := True (* derived 2004 June 26 in X1457.NB *) equal[composite[id[x_],inverse[FIRST],FIRST,id[x_]],id[x_]] := FUNCTION[x] (* derived 2004 June 18 in X13-FUNP.NB *) equal[composite[Id,x_],inverse[funpart[inverse[x_]]]] := FUNCTION[inverse[x]] (* derived 2004 June 26 in X1457.NB *) equal[composite[id[x_],inverse[SECOND],SECOND,id[x_]],id[x_]] := and[FUNCTION[inverse[x]],subclass[x,cart[V,V]]] (* added 2003 July 25 based on HULL-Z.NB *) equal[composite[id[omega],SUCC],id[omega]] := False (* derived 2004 November 18 in XS-IN-AC.NB *) equal[composite[id[P[cart[V,V]]],inverse[XS],XS,id[P[cart[V,V]]]],id[P[cart[V,V]]]] := axch (* derived 2004 May 14 in THINPART.NB *) equal[composite[Id,x_],thinpart[x_]] := equal[V,domain[VERTSECT[x]]] (* derived 2004 March 21 in TRV-WRAP.NB *) equal[composite[Id,x_],trv[x_]] := TRANSITIVE[composite[Id,x]] (* added 2002 February 3 based on RCF.NB *) equal[composite[IMAGE[cross[Id,inverse[S]]],RCF], composite[IMAGE[cross[inverse[S],Id]],RCF]] := True (* added 2002 June 5 based on RIFPOWER.NB *) equal[composite[image[power[x_],y_],image[power[x_],z_]], composite[image[power[x_],z_],image[power[x_],y_]]] := True (* derived 2004 March 31 in EQV-DEFN.NB *) equal[x_,composite[x_,inverse[x_]]] := EQUIVALENCE[x] (* derived 2004 March 31 in EQV-DEFN.NB *) equal[x_,composite[inverse[x_],x_]] := EQUIVALENCE[x] (* derived 2004 March 30 in CO-ES-ID.NB *) equal[composite[x_,inverse[E]],composite[y_,inverse[E]]] := equal[composite[Id,x],composite[Id,y]] (* added 2002 February 8 based on IDEMPOT.NB *) equal[composite[x_,inverse[x_]],id[y_]] :=and[equal[y,range[x]],FUNCTION[composite[Id,x]]] (* derived 2004 July 27 in X2695.NB *) equal[composite[rotate[x_],cross[y_,z_]],rotate[w_]] := equal[composite[w,id[cart[V,V]]],composite[inverse[y],x,cross[z,Id]]] (* added 2001 December 16 based on COMMUTE.NB *) equal[composite[S,id[x_]],composite[id[x_],S]] := or[equal[0,x],equal[V,x]] (* added 2002 October 25 based on ROTATE.NB *) equal[composite[x_,SWAP],composite[y_,SWAP]] := equal[composite[x,id[cart[V,V]]],composite[y,id[cart[V,V]]]] (* added 2003 May 9 based on CUT-EQ.NB *) equal[CORE[x_],CORE[y_]] := equal[Uclosure[x],Uclosure[y]] (* added 2003 April 19 based on XSQ.NB *) equal[cross[x_,x_],cross[y_,y_]] := equal[composite[Id,x],composite[Id,y]] (* derived 2004 December 30 in REPLACE.NB *) equal[DESCENDING,set[0]] := AxReg (* added 2002 May 18 based on FUNPART.NB *) equal[domain[x_],domain[funpart[x_]]] := FUNCTION[composite[Id,x]] (* derived 2005 January 25 in THINPART.NB *) equal[domain[x_],domain[thinpart[x_]]] := equal[V,domain[VERTSECT[x]]] (* added 2002 May 21 based on NILPOT.NB *) equal[domain[power[x_]],set[0]] := equal[0,domain[x]] (* derived 2004 October 17 in ID-IMG.NB *) equal[E,Id] := False (* derived 2004 May 11 in EQV-GEN.NB *) equal[x_,eqv[x_]] := EQUIVALENCE[x] (* derived 2004 June 6 in EQV-TRV.NB *) equal[eqv[x_],hull[TRV,eqv[x_]]] := member[eqv[x],V] (* derived 2004 September 30 in EQV-THNP.NB *) equal[x_,eqv[thinpart[x_]]] := and[equal[V,domain[VERTSECT[x]]],EQUIVALENCE[x]] (* added 2003 September 7 based on FIX-HULL.NB *) equal[fix[HULL[x_]],fix[HULL[y_]]] := equal[HULL[x],HULL[y]] (* added 2001 November 20 based on FUNPART.NB *) equal[funpart[x_],x_] := FUNCTION[x] (* derived 2004 November 12 in SETPFUNP.NB *) equal[x_,funpart[setpart[x_]]] := and[FUNCTION[x],member[x,V]] (* derived 2004 November 21 in FUNP-DO.NB *) equal[funpart[x_],thinpart[x_]] := FUNCTION[thinpart[x]] (* derived 2004 August 11 in X2911.NB *) equal[Id,composite[x_,inverse[x_]]] := and[equal[V,range[x]],FUNCTION[composite[Id,x]]] (* added 2003 July 5 based on TRANSTIV.NB *) equal[x_,id[fix[x_]]] := subclass[x,Id] (* added 2002 March 23 based on TC.NB *) equal[x_,H[x_]] := subclass[U[x],x] (* derived 2004 March 29 based on HULL.NB *) equal[hull[TRV,x_],trv[x_]] := and[member[x,V],subclass[x,cart[V,V]]] (* derived 2004 January 2 in COAR-ADJ.NB *) equal[Id,ADJOIN[x_]] := equal[0,x] (* derived 2004 April 8 in SU-ID.NB *) equal[Id,cart[x_,y_]] := False (* derived 2004 August 19 in X2901-93.NB *) equal[Id,composite[IMAGE[FIRST],IMAGE[RIGHT[x_]]]] := member[x,V] (* derived 2004 August 19 in X2901-93.NB *) equal[Id,composite[IMAGE[SECOND],IMAGE[LEFT[x_]]]] := member[x,V] (* derived 2004 April 8 in SU-ID.NB *) equal[x_,id[domain[x_]]] := subclass[x,Id] (* derived 2004 June 15 in X12--.NB *) equal[id[fix[x_]],intersection[x_,inverse[x_]]] := subclass[intersection[x,inverse[x]],Id] (* added 2003 June 17 based on THINRULE.NB *) equal[Id,id[x_]] := equal[V,x] (* added 2001 December 20 based on SUBST-1.NB *) equal[id[x_],id[y_]] := equal[x,y] (* derived 2004 October 17 in ID-IMG.NB *) equal[Id,IMAGE[x_]] := equal[Id,composite[Id,x]] (* derived 2004 January 2 in CUT-EQNS.NB *) equal[id[x_],IMAGE[id[y_]]] := and[equal[V,x],equal[V,y]] (* derived 2004 October 17 in ID-IMG.NB *) equal[Id,inverse[x_]] := equal[Id,composite[Id,x]] (* derived 2004 April 9 in SU-ID.NB *) equal[x_,id[range[x_]]] := subclass[x,Id] (* derived 2004 October 17 in ID-IMG.NB *) equal[Id,S] := False (* derived 2005 February 6 in IVR-SBV.NB *) equal[image[CAP,cart[x_,y_]],image[CAP,cart[y_,x_]]] := True (* added 2003 May 9 based on CUT-EQ.NB *) equal[IMAGE[id[x_]],IMAGE[id[y_]]] := equal[x,y] (* derived 2004 October 26 in AXCH-AC1.NB *) equal[image[IMAGE[FIRST],intersection[FUNS,P[inverse[E]]]],P[complement[set[0]]]] := axch (* derived 2005 February 22 in PRIMES.NB *) equal[image[inverse[DIV],set[x_]],set[x_,set[0]]] := or[equal[x,set[0]],member[x,PRIMES]] (* added 2002 July 4 based on NATADD.NB *) equal[image[NATADD,cart[x_,y_]],image[NATADD,cart[y_,x_]]] := True (* added 2001 December 21 based on ADJOIN.NB *) equal[image[S,set[x_]],image[S,set[y_]]] := equal[set[x],set[y]] (* derived 2004 June 18 in X1403.NB *) equal[image[SINGLETON,x_],set[x_]] := member[x,range[SINGLETON]] (* added 2002 October 14 based on IMAGEV.NB *) equal[x_,image[V,y_]] := or[and[equal[0,x],equal[0,y]],and[equal[V,x],not[equal[0,y]]]] (* added 2003 August 9 based on INTADDXY.NB *) equal[intadd[plus[x_],plus[y_]],plus[natadd[x_,y_]]] := and[member[x,omega],member[y,omega]] (* added 2000 October 3 based on KMINIMAL.NB *) equal[intersection[x_,y_],x_] := subclass[x,y] (* derived 2004 July 25 in CANTOR.NB *) equal[x_,intersection[y_,complement[x_]]] := and[equal[0,x],equal[0,y]] (* derived 2005 January 21 in SS-A.NB *) equal[y_,intersection[x_,complement[image[Di,x_]]]] := or[and[equal[0,y],not[member[x,range[SINGLETON]]]],and[equal[x,y],member[x,range[SINGLETON]]]] (* derived 2004 September 24 in COREDESC.NB *) equal[intersection[DESCENDING,P[x_]],set[0]] := WELLFOUNDED[composite[id[x],E]] equal[intersection[x_,image[V,y_]],z_] := or[and[equal[0,x],equal[0,z]],and[equal[0,y],equal[0,z]], and[equal[x,z],not[equal[0,y]]]] equal[x_,intersection[y_,image[V,z_]]] := or[and[equal[0,x],equal[0,y]],and[equal[0,x],equal[0,z]], and[equal[x,y],not[equal[0,z]]]] equal[intersection[x_,complement[image[V,y_]]],z_] := or[and[equal[0,x],equal[0,z]],and[equal[0,y],equal[x,z]], and[equal[0,z],not[equal[0,y]]]] equal[x_,intersection[y_,complement[image[V,z_]]]] := or[and[equal[0,x],equal[0,y]],and[equal[0,x],not[equal[0,z]]], and[equal[0,z],equal[x,y]]] (* derived 2005 February 12 in X3673-76.NB *) equal[x_,intersection[OMEGA,P[x_]]] := equal[OMEGA,x] (* derived 2005 February 12 in X3673-76.NB *) equal[intersection[OMEGA,P[x_]],succ[x_]] := or[equal[OMEGA,x],member[x,OMEGA]] (* added 2001 December 20 based on SUBST-2.NB *) equal[inverse[x_],inverse[y_]] := equal[composite[Id,x],composite[Id,y]] (* added 2003 August 8 based on REPLACE.NB *) equal[iterate[SUCC,set[x_]],plus[x_]] := or[member[x,omega],not[member[x,V]]] (* added 2001 December 20 based on SUBST-2.NB *) equal[LB[x_],LB[y_]] := equal[composite[Id,x],composite[Id,y]] (* added 2001 December 20 based on SUBST-2.NB *) equal[LEFT[x_],LEFT[y_]] := equal[set[x],set[y]] (* derived 2004 November 25 in MAP-SS-0.NB *) equal[map[x_,y_],set[0]] := equal[0,x] (* derived 2004 November 26 in XS-CP.NB *) equal[map[x_,y_],X[cart[x_,y_]]] := or[equal[0,x],not[equal[0,y]]] (* derived 2005 February 13 in NAT.NB *) equal[x_,nat[x_]] := member[x,omega] (* derived 2005 February 13 in NAT.NB *) equal[nat[x_],U[nat[x_]]] := equal[0,nat[x]] (* added 2002 October 12 based on O-17.NB *) equal[x_,natadd[x_,y_]] := or[and[equal[0,y],member[x,omega]],equal[V,x]] (* derived 2005 June 3 in A4.NB *) equal[natadd[x_,z_],natadd[y_,z_]] := or[and[not[member[x,omega]],not[member[y,omega]]], and[equal[x,y],member[x,omega],member[y,omega]],not[member[z,omega]]] (* derived 2005 May 17 based on NATMOD.NB *) equal[natmod[set[0],nat[x_]],set[0]] := not[equal[nat[x],set[0]]] (* added 2002 October 14 based on M8-COR.NB *) equal[x_,natmul[x_,y_]] := or[and[equal[0,x],member[y,omega]], and[equal[y,set[0]],member[x,omega]],equal[V,x]] (* added 2002 October 13 based on THM-M8.NB *) equal[natmul[x_,y_],natmul[x_,z_]] := or[and[not[member[y,omega]],not[member[z,omega]]], and[equal[0,x],member[y,omega],member[z,omega]], equal[y,z],not[member[x,omega]]] (* added 2002 September 3 based on DIV-ONE.NB *) equal[natmul[x_,y_],set[0]] := and[equal[x,set[0]],equal[y,set[0]]] (* added 2003 April 26 based on SUCC-SUB.NB *) equal[natsub[x_,y_],set[0]] := and[equal[x,succ[y]],member[x,omega]] (* derived 2005 January 7 in CARD-OM.NB *) equal[OMEGA,fix[CARD]] := False (* derived 2005 April 19 in LBUB-DIV.NB *) equal[omega,image[DIV,set[x_]]] := equal[x,set[0]] (* derived 2005 April 19 in LBUB-DIV.NB *) equal[omega,image[inverse[DIV],set[x_]]] := equal[0,x] (* derived 2003 January 3 in OO-SUC-OM.NB *) equal[omega,set[0]] := False (* added 2003 January 9 based on OM-SUC.NB *) equal[omega,succ[x_]] := False (* derived 2004 May 7 in OOPART.NB *) equal[x_,oopart[x_]] := and[FUNCTION[x],FUNCTION[inverse[x]]] (* added 2001 November 17 based on EQ.NB *) equal[P[x_],P[y_]] := equal[x,y] (* derived 2004 August 8 in UP-PC.NB *) equal[P[x_],set[0,x_]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 August 9 in RS-2.NB *) equal[P[x_],RS[x_]] := FUNCTION[x] (* added 2002 January 22 based on EQ-PC.NB *) equal[P[x_],set[y_]] := and[equal[0,x],equal[0,y]] equal[pair[x_,y_],0] := False equal[pair[x_,y_],V] := False (* equality of pairs *) equal[pair[u_,v_],pair[x_,y_]] := and[equal[set[u],set[x]], equal[set[v],set[y]]] (* replaced 2002 January 1 based on EQUAL.NB *) equal[pair[u_,v_],PAIR[x_,y_]] := and[equal[u,x],equal[v,y],member[x,V],member[y,V]] (* derived 2004 June 15 in X1235.NB *) equal[set[pair[u_,v_],pair[x_,y_]], union[cart[set[u_],set[v_]],cart[set[x_],set[y_]]]] := and[member[u,V],member[v,V],member[x,V],member[y,V]] (* derived 2004 February 8 in BASICS.NB *) equal[set[x_,y_],set[y_]] := or[equal[x,y],not[member[x,V]]] (* derived 2003 December 25 in TOPSDEFN.NB *) equal[set[x_,y_],Uclosure[set[x_,y_]]] := or[equal[0,x],equal[0,y]] (* added 2003 May 5 based on POWER-EQ.NB *) equal[power[x_],power[y_]] := equal[composite[Id,x],composite[Id,y]] (* added 2003 June 25 based on RANK.NB *) equal[x_,rank[x_]] := or[equal[V,x],member[x,OMEGA]] (* derived 2003 December 21 in LOW-RANK.NB *) equal[rank[x_],set[0]] := equal[x,set[0]] (* added 2001 December 20 based on SUBST-2.NB *) equal[RC[x_],RC[y_]] := equal[set[x],set[y]] (* derived 2004 December 16 in RFX-CORE.NB *) equal[x_,rfx[x_]] := REFLEXIVE[x] (* derived 2004 December 16 in RFX-CORE.NB *) equal[x_,rfx[setpart[x_]]] := and[member[x,V],REFLEXIVE[x]] (* derived 2004 December 17 in RFX.NB *) equal[x_,rfx[thinpart[x_]]] := and[equal[V,domain[VERTSECT[x]]],REFLEXIVE[x]] (* derived 2004 December 17 in RFXTRV-C.NB *) equal[x_,rfx[thinpart[trv[x_]]]] := and[equal[V,domain[VERTSECT[x]]],REFLEXIVE[x],TRANSITIVE[x]] (* derived 2004 December 16 in RFX-CORE.NB *) equal[x_,rfx[trv[x_]]] := and[REFLEXIVE[x],TRANSITIVE[x]] (* derived 2004 December 16 in RFX-CORE.NB *) equal[x_,rfx[trv[setpart[x_]]]] := and[member[x,V],REFLEXIVE[x],TRANSITIVE[x]] (* derived 2005 January 29 in RFXTRVTH.NB *) equal[x_,rfx[trv[thinpart[x_]]]] := and[equal[V,domain[VERTSECT[x]]],REFLEXIVE[x],TRANSITIVE[x]] (* added 2001 December 20 based on SUBST-2.NB *) equal[RIGHT[x_],RIGHT[y_]] := equal[set[x],set[y]] (* added 2002 October 25 based on ROTATE.NB *) equal[rotate[x_],rotate[y_]] := equal[composite[x,id[cart[V,V]]],composite[y,id[cart[V,V]]]] (* derived 2004 August 7 in RS-1.NB *) equal[RS[x_],set[0]] := equal[0,domain[thinpart[x]]] (* derived 2004 November 2 in SELECT.NB *) equal[SELECT,V] := axch (* derived 2004 May 15 in VARIOUS.NB *) equal[x_,setpart[x_]] := member[x,V] (* derived 2004 November 12 in SETPFUNP.NB *) equal[x_,setpart[funpart[x_]]] := and[FUNCTION[x],member[x,V]] (* derived 2004 January 13 in RA-RCF.NB *) equal[set[0],set[x_]] := equal[0,x] (* derived 2004 March 14 in WF-WO.NB *) equal[set[0],subvar[x_]] := WELLFOUNDED[composite[Id,x]] (* derived 2004 November 26 in XS-SS-0.NB *) equal[set[0],X[x_]] := equal[0,domain[x]] (* derived 2005 January 21 in SS-A.NB *) equal[x_,set[A[x_]]] := or[equal[0,x],member[x,range[SINGLETON]]] (* added 2001 November 30 based on FLIP-SS.NB *) equal[set[x_],cart[y_,z_]] := or[and[equal[0,y],not[member[x,V]]],and[equal[0,z],not[member[x,V]]], and[equal[set[first[x]],y],equal[set[second[x]],z],member[first[x],V]]] (* derived 2004 May 15 in VARIOUS.NB *) equal[set[setpart[x_]],set[setpart[y_]]] := equal[setpart[x],setpart[y]] (* derived 2004 May 15 in VARIOUS.NB *) equal[set[x_],set[setpart[x_]]] := member[x,V] (* added 2003 January 25 based on PROPITER.NB *) equal[x_,set[U[x_]]] := member[x,range[SINGLETON]] (* added 2002 July 2 based on SS-I.NB *) equal[set[x_],succ[y_]] := and[equal[x,y],subclass[x,set[x]]] (* derived 2005 February 6 in X3374.NB *) equal[x_,succ[x_]] := or[member[x,x],not[member[x,V]]] (* added 2002 March 23 based on TC.NB *) equal[x_,tc[x_]] := subclass[U[x],x] (* derived 2004 May 14 in THINPART.NB *) equal[x_,thinpart[x_]] := and[equal[V,domain[VERTSECT[x]]],subclass[x,cart[V,V]]] (* derived 2004 September 30 in EQV-THNP.NB *) equal[x_,thinpart[eqv[x_]]] := and[equal[V,domain[VERTSECT[x]]],EQUIVALENCE[x]] (* derived 2004 December 17 in RFXTRV-C.NB *) equal[x_,thinpart[rfx[trv[x_]]]] := and[equal[V,domain[VERTSECT[x]]],REFLEXIVE[x],TRANSITIVE[x]] (* derived 2004 June 5 in THPT-TRV.NB *) equal[x_,thinpart[trv[x_]]] := and[equal[V,domain[VERTSECT[x]]],TRANSITIVE[x]] (* derived 2004 March 21 in TRV-WRAP.NB *) equal[x_,trv[x_]] := TRANSITIVE[x] (* derived 2005 January 29 in TRV-RFX.NB *) equal[x_,trv[rfx[x_]]] := and[REFLEXIVE[x],TRANSITIVE[x]] (* derived 2004 June 5 in THPT-TRV.NB *) equal[x_,trv[thinpart[x_]]] := and[equal[V,domain[VERTSECT[x]]],TRANSITIVE[x]] (* added 2003 April 19 based on XSQ.NB *) equal[twist[x_],twist[y_]] := equal[composite[id[cart[V,V]],x,id[cart[V,V]]],composite[id[cart[V,V]],y,id[cart[V,V]]]] (* derived 2005 January 30 in X3949.NB *) equal[U[x_],U[tc[x_]]] := subclass[U[U[x]],U[x]] (* added 2001 December 20 based on SUBST-2.NB *) equal[UB[x_],UB[y_]] := equal[composite[Id,x],composite[Id,y]] (* added 2000 October 3 based on KMINIMAL.NB *) equal[union[x_,y_],y_] := subclass[x,y] (* derived 2004 July 23 in X23--.NB *) equal[union[cart[complement[y_],set[0]],composite[VERTSECT[x_],id[y_]]],VERTSECT[x_]] := subclass[domain[x],y] equal[union[x_,complement[image[V,y_]]],z_] := or[and[equal[0,y],equal[V,z]],and[equal[V,x],equal[V,z]],and[equal[x,z],not[equal[0,y]]]] equal[x_,union[y_,complement[image[V,z_]]]] := or[and[equal[0,z],equal[V,x]],and[equal[V,x],equal[V,y]],and[equal[x,y],not[equal[0,z]]]] equal[union[x_,image[V,y_]],z_] := or[and[equal[0,y],equal[x,z]],and[equal[V,x],equal[V,z]],and[equal[V,z],not[equal[0,y]]]] equal[x_,union[y_,image[V,z_]]] := or[and[equal[0,z],equal[x,y]],and[equal[V,x],equal[V,y]],and[equal[V,x],not[equal[0,z]]]] (* derived 2005 February 10 in X3548.NB *) equal[x_,union[y_,intersection[x_,image[V,z_]]]] := or[and[not[equal[0,z]],subclass[y,x]],equal[x,y]] (* derived 2005 February 24 in X3379.NB *) equal[union[x_,y_],union[y_,intersection[x_,z_]]] := subclass[x,union[y,z]] equal[V,0] := False (* added 1998 August 23 *) equal[V,A[x_]] := equal[0,x] (* added 1999 July 21 *) equal[V,ADJOIN[x_]] := False (* added 2003 October 28 based on APPLY.NB *) equal[V,APPLY[x_,y_]] := not[member[y,domain[x]]] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,BIJ] := False (* added 2001 December 1 based on CARD-X.NB *) equal[V,card[x_]] := not[member[x,image[Q,OMEGA]]] (* added 1998 August 23 *) equal[V,cart[x_,y_]] := False (* added 2001 November 23 based on CLIQUES.NB *) equal[V,cliques[x_]] := subclass[cart[V,V],x] (* added 2001 December 8 based on EQUAL-C.NB *) equal[V,complement[x_]] := equal[0,x] (* added 1998 August 23 *) equal[V,composite[x_,y_]] := False (* proposed 1998 September 13 *) equal[V,cross[x_,y_]] := False (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,DEDEKIND] := False (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,DESCENDING] := False (* derived 2004 November 21 in FUNP-DO.NB *) equal[V,domain[funpart[x_]]] := and[equal[V,domain[x]],FUNCTION[composite[Id,x]]] (* derived 204 August 22 in PARTREC.NB *) equal[V,domain[setpart[x_]]] := False (* derived 2004 August 1 in THINNESS.NB *) equal[V,domain[VERTSECT[iterate[x_,y_]]]] := member[iterate[x,y],V] (* derived 2004 June 5 in THPT-TRV.NB *) equal[V,domain[VERTSECT[trv[x_]]]] := equal[V,domain[VERTSECT[x]]] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,FINITE] := False (* added 2001 November 17 based on 1ST-2ND.NB *) equal[V,first[x_]] := not[member[first[x],V]] (* derived 2004 October 17 in ID-IMG.NB *) equal[V,fix[BIGCUP]] := False (* derived 2004 October 17 in ID-IMG.NB *) equal[V,fix[IMAGE[x_]]] := equal[Id,composite[Id,x]] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,FULL] := False (* added 1999 July 21 *) equal[V,funpart[x_]] := False (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,FUNS] := False (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,H[x_]] := equal[V,x] (* derived 2004 March 29 based on HULL.NB *) equal[V,hull[x_,y_]] := not[member[y,image[inverse[S],x]]] (* added 1998 August 23 *) equal[V,id[x_]] := False (* Theorem IM-DI-V in Otter subdirectory proved 1999 August 11 *) equal[V,image[Di,x_]] := and[not[equal[0,x]],not[member[x,range[SINGLETON]]]] (* derived 2004 May 8 in IMIN-BC.NB *) equal[V,image[inverse[BIGCUP],x_]] := equal[V,x] (* derived 2004 June 23 in CRHLTALK.NB *) equal[V,image[inverse[CORE[t_]],t_]] := equal[t,Uclosure[t]] (* derived 2004 November 5 in RS-SU.NB *) equal[V,image[inverse[IMAGE[composite[id[x_],inverse[FIRST]]]],y_]] := and[equal[V,domain[VERTSECT[x]]],subclass[RS[x],y]] (* added 2001 February 3 based on COND1.NB *) equal[V,image[inverse[IMAGE[id[x_]]],y_]] := subclass[P[x],y] (* Theorem POW-5A&B in POW2 proved 1999 January 28 *) equal[V,image[inverse[POWER],x_]] := subclass[range[POWER],x] (* added 1998 August 23 *) equal[V,image[S,x_]] := member[0,x] (* added 2001 October 10 based on REPLACE.NB *) equal[V,image[inverse[SINGLETON],x_]] := subclass[range[SINGLETON],x] (* added 1999 July 21 *) equal[V,IMAGE[x_]] := False equal[V,image[V,x_]] := not[equal[0,x]] (* added 2003 August 9 based on INTADDXY.NB *) equal[V,intadd[x_,y_]] := or[not[member[x,Z]],not[member[y,Z]]] equal[V,intersection[x_,y_]] := and[equal[V,x],equal[V,y]] (* added 2002 May 1 based on INVAR-V.NB *) equal[V,invar[x_]] := equal[0,fix[composite[Di,x]]] (* proposed 1998 September 13 *) equal[V,inverse[x_]] := False (* derived 2004 February 20 in REPLACE1.NB *) equal[V,lb[x_,y_]] := subclass[cart[V,y],x] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,map[x_,y_]] := False (* derived 2005 June 3 in A4.NB *) equal[V,nat[x_]] := False (* added 2002 July 28 based on ADD-NAT.NB *) equal[V,natadd[x_,y_]] := or[not[member[x,omega]],not[member[y,omega]]] (* derived 2005 May 17 based on NATMOD.NB *) equal[V,natmod[x_,y_]] := or[not[member[x,omega]],not[member[y,omega]]] (* added 2002 August 21 based on NATMUL.NB *) equal[V,natmul[x_,y_]] := or[not[member[x,omega]],not[member[y,omega]]] (* added 2002 September 15 based on SUBTRACT.NB *) equal[V,natsub[x_,y_]] := or[not[member[x,omega]],not[member[y,omega]],not[subclass[y,x]]] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,omega] := False (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,OMEGA] := False (* added 1998 August 23 *) equal[V,P[x_]] := equal[V,x] equal[V,pair[x_,y_]] := False (* added 9/17/96 at 9:20 pm *) (* added 2002 January 1 based on PAIR-MEM.NB *) equal[V,PAIR[x_,y_]] := or[not[member[x,V]],not[member[y,V]]] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,set[x_,y_]] := False (* added 2001 December 3 based on RANK-3.NB *) equal[V,rank[x_]] := not[member[x,REGULAR]] (* derived 2004 December 30 in AXREG.NB *) equal[REGULAR,V] := AxReg (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,RFX] := False (* added 2001 November 17 based on 1ST-2ND.NB *) equal[V,second[x_]] := not[member[first[x],V]] (* derived 2004 December 26 in SETPART.NB *) equal[V,setpart[x_]] := False (* added 1998 August 23 *) equal[V,set[x_]] := False (* added 2001 December 30 based on DISCOVER.NB *) equal[V,subvar[x_]] := equal[V,fix[x]] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,succ[x_]] := equal[V,x] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,SYM] := False (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,TOPS] := False (* derived 2004 October 18 in XVR-V.NB *) equal[V,transvar[x_,y_]] := subclass[composite[Id,x],y] (* added 2001 December 9 based on EQUAL-V.NB *) equal[V,TRV] := False (* derived 2004 February 20 in REPLACE1.NB *) equal[V,ub[x_,y_]] := subclass[cart[y,V],x] (* added 2002 September 7 based on REPLACE.NB *) equal[V,union[x_,complement[y_]]] := subclass[y,x] (* added 2002 September 10 based on IMV-RULE.NB *) equal[V,union[z_,intersection[x_,y_]]] := and[equal[V,union[x,z]],equal[V,union[y,z]]] (* added 2002 September 8 based on REPLACE.NB *) equal[V,union[x_,P[y_]]] := subclass[U[complement[x]],y] (* added 1999 July 21 *) equal[V,VERTSECT[x_]] := False (* added 2002 October 15 based on MEMBER.NB *) equal[x_,VERTSECT[complement[composite[complement[inverse[E]],x_]]]] := FUNCTION[x] (* derived 2004 February 28 in IMG-EQ.NB *) equal[VERTSECT[x_],VERTSECT[y_]] := equal[IMAGE[x],IMAGE[y]] (* derived 2004 September 18 in WF-WRAP.NB *) equal[x_,wf[x_]] := WELLFOUNDED[x] (* derived 2004 March 20 in EQV-WRAP.NB *) EQUIVALENCE[0] := True (* derived 2004 March 20 in EQV-WRAP.NB *) EQUIVALENCE[cart[x_,y_]] := or[equal[0,x],equal[0,y],equal[x,y]] (* derived 2004 September 30 in EQV-THNP.NB *) EQUIVALENCE[composite[eqv[x_],id[y_]]] := subclass[image[eqv[x],y],y] (* derived 2004 May 12 in EQUIV.NB *) EQUIVALENCE[composite[id[y_],eqv[x_],id[y_]]] := True (* derived 2004 December 27 in FUN-TRV.NB *) EQUIVALENCE[composite[inverse[funpart[x_]],eqv[y_],funpart[x_]]] := True (* derived 2004 August 27 in TRV-COND.NB *) EQUIVALENCE[composite[inverse[funpart[x_]],funpart[x_]]] := True (* derived 2004 December 3 in TRVASSOC.NB *) EQUIVALENCE[cross[eqv[x_],eqv[y_]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) EQUIVALENCE[EQUIDIFF] := True (* derived 2004 May 11 in EQV-GEN.NB *) EQUIVALENCE[eqv[x_]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) EQUIVALENCE[Id] := True (* derived 2004 March 20 in EQV-WRAP.NB *) EQUIVALENCE[id[x_]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) EQUIVALENCE[inverse[x_]] := EQUIVALENCE[composite[Id,x]] (* derived 2004 March 20 in EQV-WRAP.NB *) EQUIVALENCE[Q] := True (* derived 2004 March 20 in EQV-WRAP.NB *) EQUIVALENCE[set[x_]] := or[and[equal[first[x],second[x]],member[first[x],V]],not[member[x,V]]] (* derived 2004 September 30 in EQV-THNP.NB *) EQUIVALENCE[thinpart[eqv[x_]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) EQUIVALENCE[union[eqv[x_],id[y_]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) EQUIVALENCE[union[Id,eqv[x_]]] := True (* derived 2004 May 12 in EQV-GEN.NB *) eqv[0] := 0 (* derived 2004 May 12 in EQV-GEN.NB *) eqv[cart[x_,y_]] := cart[intersection[x,y],intersection[x,y]] (* derived 2004 May 12 in EQV-GEN.NB *) eqv[composite[Id,x_]] := eqv[x] (* derived 2004 May 12 in EQV-GEN.NB *) eqv[EQUIDIFF] := EQUIDIFF (* derived 2004 May 12 in EQV-GEN.NB *) eqv[eqv[x_]] := eqv[x] (* derived 2004 May 12 in EQV-GEN.NB *) eqv[Id] := Id (* derived 2004 May 12 in EQV-GEN.NB *) eqv[id[x_]] := id[x] (* derived 2004 May 12 in EQV-GEN.NB *) eqv[inverse[x_]] := eqv[x] (* derived 2004 May 12 in EQV-GEN.NB *) eqv[K] := 0 (* derived 2004 May 12 in EQV-GEN.NB *) eqv[PS] := 0 (* derived 2004 May 12 in EQV-GEN.NB *) eqv[Q] := Q (* derived 2004 May 12 in EQV-GEN.NB *) eqv[S] := Id (* derived 2004 June 6 in EQV-TRV.NB *) eqv[union[Id,x_]] := union[Id,eqv[x]] (* derived 2004 May 12 in EQV-GEN.NB *) eqv[V] := cart[V,V] (* rules for existential quantifiers *) (* revised rule added 1998 October 8 *) exists[x_,p_] := p /; FreeQ[p,x] (* added 1998 October 8 *) exists[x_,or[p_,q_]] := or[exists[x,p],exists[x,q]] (* notational abbreviation for multiple quantifiers *) exists[x_,y__,p_] := exists[x,exists[y,p]] (* added 2001 November 13 based on REPLACE.NB *) first[0] := V (* added 2001 November 13 based on 1ST-2ND.NB *) first[pair[x_,y_]] := union[x,complement[image[V,set[x]]], complement[image[V,set[y]]]] (* added 2002 January 1 based on PAIR-MEM.NB *) first[PAIR[x_,y_]] := union[x,complement[image[V,set[x]]], complement[image[V,set[y]]]] (* derived 2004 June 21 in X18--.NB *) first[set[0]] := V (* added 2002 November 1 based on IMV.NB *) first[union[x_,complement[image[V,y_]]]] := union[complement[image[V,y]],first[x]] (* added 2002 November 1 based on IMV.NB *) first[union[x_,image[V,y_]]] := union[first[x],image[V,y]] (* Theorem FP-0 in FP1 *) fix[0] := 0 (* Theorem ADJ-FP in ADJ proved 1999 March 11 *) fix[ADJOIN[x_]] := image[S,set[x]] (* Theorem FP-CP in FP1 *) fix[cart[x_,y_]] := intersection[x,y] (* added 2003 July 4 based on COARSER.NB *) fix[COARSER] := V (* added 2001 May 18 based on COMMUTE2.NB *) fix[COMMUTE] := V (* Theorem FP-C2 in FP1 *) fix[complement[x_]] := complement[fix[x]] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[ASSOC,SWAP]] := DUP (* added 2002 May 31 based on A-DIF.NB *) fix[composite[BIGCAP,RC[omega]]] := omega (* Theorem FUL-FP-3 in FUL3 proved 2000 February 18 *) fix[composite[BIGCUP,SUCC]] := FULL (* added 2001 November 1 based on RFX.NB *) fix[composite[CAP,id[x_],inverse[FIRST]]] := fix[composite[inverse[S],x]] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[CAP,inverse[DIF]]] := set[0] (* added 1999 November 6 based on CART-DI.NB *) fix[composite[CART,Di,inverse[CART]]] := set[0] (* added 2001 December 18 based on DORA.NB *) fix[composite[CART,DORA]] := range[CART] (* added 2003 May 3 based on SQUARE.NB *) fix[composite[CART,DUP,IMAGE[FIRST]]] := image[CART,Id] (* added 2001 October 20 based on SQUARE.NB *) fix[composite[CART,DUP,IMAGE[inverse[DUP]]]] := image[CART,Id] (* added 2003 May 3 based on SQUARE.NB *) fix[composite[CART,DUP,IMAGE[SECOND]]] := image[CART,Id] (* derived 2004 February 20 in REPLACE1.NB *) fix[composite[complement[x_],complement[inverse[x_]]]] := complement[ub[x,V]] (* added 2002 November 12 based on VS-RULES.NB *) fix[composite[complement[composite[complement[E],x_]],id[y_],LB[x_]]] := image[VERTSECT[x],y] (* added 2002 November 12 based on VS-RULES.NB *) fix[composite[complement[composite[complement[E],inverse[x_]]],id[y_],UB[x_]]] := image[VERTSECT[inverse[x]],y] (* added 2002 November 12 based on VS-RULES.NB *) fix[composite[complement[composite[complement[E],inverse[x_]]],UB[x_]]] := range[VERTSECT[inverse[x]]] (* added 2002 November 12 based on VS-RULES.NB *) fix[composite[complement[composite[complement[E],x_]],LB[x_]]] := range[VERTSECT[x]] (* variant of DEF-SBV *) fix[composite[complement[composite[E,x_]],inverse[E]]] := complement[subvar[inverse[x]]] (* added 2003 July 3 based on PTCLOSED.NB *) fix[composite[complement[composite[intersection[composite[E,DIF], composite[inverse[BIGCUP],FIRST]],inverse[SECOND]]], inverse[E],IMAGE[SINGLETON],BIGCUP]] := complement[PointClosed] (* added 2000 February 5 based on REVISIT.NB *) fix[composite[complement[composite[inverse[x_],Di]],x_]] := domain[funpart[x]] (* added 1998 August 10 *) fix[composite[complement[E],id[FULL],inverse[PS]]] := complement[OMEGA] (* Theorem IVR-5 in INVAR proved 1998 December 26 *) fix[composite[complement[E],x_,inverse[E]]] := complement[invar[x]] (* added 2003 May 21 based on INF-CLOS.NB *) fix[composite[complement[E],x_,inverse[S]]] := complement[fix[composite[S,IMAGE[x],POWER]]] (* derived 2004 May 2 in ZN.NB *) fix[composite[complement[E],ZN]] := V (* derived 2004 February 20 in REPLACE1.NB *) fix[composite[complement[inverse[x_]],complement[x_]]] := complement[lb[x,V]] (* added 2002 November 13 based on NORM-ADD.NB *) fix[composite[complement[inverse[E]],IMAGE[x_],id[y_],E]] := image[GREATEST[complement[x]],intersection[y,P[domain[VERTSECT[x]]]]] (* derived 2005 February 18 in MUL-NORM.NB *) fix[composite[complement[inverse[rotate[composite[complement[S],NATMUL]]]],id[omega], complement[rotate[composite[complement[inverse[S]],NATMUL]]]]] := union[complement[cart[V,omega]],inverse[DIV]] (* added 2001 January 28 based on GENERAL.NB *) fix[composite[complement[inverse[rotate[w_]]],SECOND, intersection[composite[x_,FIRST],composite[inverse[FIRST],y_]]]] := composite[FIRST,intersection[complement[inverse[w]],composite[SWAP, inverse[rotate[composite[SECOND,intersection[composite[x,FIRST], composite[inverse[FIRST],y]],SWAP]]]]]] (* added 2000 September 8 based on FUNPART.NB *) fix[composite[complement[S],FUNPART]] := 0 (* added 1999 October 30 based on IMAGEINT.3 *) fix[composite[complement[S],id[x_],Di]] := complement[image[S,set[U[x]]]] (* derived 2004 May 2 in ZN.NB *) fix[composite[complement[S],ZN]] := complement[fix[IMAGE[ZN]]] (* derived 2004 December 14 in IDEMPROJ.NB *) fix[composite[COMPOSE,DUP]] := IDEM (* added 2002 January 15 based on EQV-2.NB *) fix[composite[COMPOSE,id[IMAGE[SWAP]],inverse[FIRST]]] := EQV (* added 2002 November 19 based on EQV.NB *) fix[composite[COMPOSE,id[inverse[IMAGE[SWAP]]],inverse[SECOND]]] := EQV (* added 2002 November 19 based on EQV.NB *) fix[composite[COMPOSE,id[INVERSE],inverse[FIRST]]] := EQV (* added 2002 November 19 based on EQV.NB *) fix[composite[COMPOSE,id[INVERSE],inverse[SECOND]]] := EQV (* derived 2004 December 16 in VS-EQV.NB *) fix[composite[COMPOSE,id[INVERSE],inverse[SECOND],VS]] := EQV (* added 2001 January 21 based on NEAT.NB *) fix[composite[COMPOSE,inverse[FIRST]]] := P[cart[V,V]] (* added 2001 January 21 based on NEAT.NB *) fix[composite[COMPOSE,inverse[SECOND]]] := P[cart[V,V]] (* added 2003 June 22 based on HULL-RC.NB *) fix[composite[CORE[x_],IMAGE[id[y_]]]] := intersection[P[y],Uclosure[x]] (* added 2002 December 26 based on REPLACE.NB *) fix[composite[cross[composite[inverse[FIRST],inverse[IMAGE[SWAP]]], inverse[SECOND]],inverse[rotate[E]],rotate[E], cross[SECOND,FIRST]]] := composite[inverse[E],COMPOSE] (* added 2002 December 27 based on SBCOMMUT.NB *) fix[composite[cross[composite[inverse[SECOND],inverse[IMAGE[SWAP]]], inverse[SECOND]],inverse[rotate[E]],rotate[E],cross[FIRST,FIRST]]] := composite[inverse[E],COMPOSE,SWAP] (* added 2002 December 26 based on FIX.NB *) fix[composite[cross[x_,y_],z___,FIRST]] := composite[y,SECOND, intersection[composite[z],composite[inverse[FIRST],inverse[x]]]] (* added 1999 October 10 based on FIXCROSS.1 *) fix[composite[cross[u_,v_],id[w_],cross[x_,y_]]] := composite[intersection[v,inverse[y]],w,intersection[x,inverse[u]]] (* added 2002 December 25 based on FIXCROSS.NB *) fix[composite[cross[inverse[FIRST],inverse[FIRST]],x_,cross[SECOND,SECOND]]] := composite[SWAP,twist[x],SWAP] (* added 2002 December 26 based on REPLACE.NB *) fix[composite[cross[inverse[FIRST],inverse[SECOND]],x_,cross[SECOND,FIRST]]] := composite[twist[x],SWAP] (* added 2003 May 30 based on FIX-ROT.NB *) fix[composite[cross[u_,v_],inverse[rotate[w_]],x_]] := composite[FIRST,intersection[composite[SWAP,inverse[rotate[composite[x,SWAP]]]], composite[cross[v,Id],inverse[w],inverse[u]]]] (* added 2002 December 26 based on REPLACE.NB *) fix[composite[cross[inverse[SECOND],inverse[FIRST]],x_,cross[FIRST,SECOND]]] := composite[SWAP,twist[x]] (* added 2002 December 25 based on FIXCROSS.NB *) fix[composite[cross[inverse[SECOND],inverse[SECOND]],x_,cross[FIRST,FIRST]]] := twist[x] (* added 2002 December 26 based on FIX.NB *) fix[composite[cross[x_,y_],z___,SECOND]] := composite[intersection[ composite[y,SECOND],inverse[composite[z]]],inverse[FIRST],inverse[x]] (* added 2002 June 24 based on FIX.NB *) fix[composite[CUP,id[x_],inverse[FIRST]]] := fix[composite[S,x]] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[CUP,inverse[DIF]]] := V (* added 1999 October 30 based on IMAGEINT.3 *) fix[composite[Di,id[x_],complement[S]]] := complement[P[A[x]]] (* derived 2005 February 22 in PRIMES.NB *) fix[composite[Di,id[x_],inverse[DIV]]] := fix[composite[DIV,id[x],Di]] (* derived 2005 February 8 in X3595.NB *) fix[composite[Di,id[x_],inverse[S]]] := image[PS,x] (* derived 2005 February 1 in DIV-WF.NB *) fix[composite[Di,inverse[x_]]] := fix[composite[x,Di]] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[DIF,inverse[CAP]]] := set[0] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[DIF,inverse[CUP]]] := V (* added 2002 June 24 based on FIX.NB *) fix[composite[DIF,id[x_],inverse[FIRST]]] := fix[composite[DISJOINT,x]] (* added 2002 June 24 based on FIX.NB *) fix[composite[DIF,id[x_],inverse[SECOND]]] := intersection[fix[x],set[0]] (* added 2000 December 9 based on IM-CP-0.NB *) fix[composite[DISJOINT,id[range[POWER]],S]] := set[0] (* added 2001 August 30 based on RC.NB *) fix[composite[DISJOINT,id[x_],S,RC[y_]]] := image[RC[y],image[IMAGE[id[y]],x]] (* added 1999 October 30 based on IMAGEINT.1 *) fix[composite[DISJOINT,IMAGE[id[x_]]]] := P[complement[x]] (* added 2002 January 17 based on ANTISYM2.NB *) fix[composite[DISJOINT,IMAGE[id[Di]],INVERSE]] := ANTISYM (* added 2003 June 6 based on FIX-S.NB *) fix[composite[DISJOINT,IMAGE[inverse[S]]]] := set[0] (* added 2002 January 17 based on ANTISYM1.NB *) fix[composite[DISJOINT,IMAGE[SWAP],IMAGE[id[Di]]]] := image[inverse[IMAGE[id[cart[V,V]]]],ANTISYM] fix[composite[DISJOINT,inverse[E]]] := complement[DESCENDING] (* derived 2004 June 25 in X2870.NB *) fix[composite[DISJOINT,inverse[E],IMAGE[SINGLETON]]] := 0 (* derived 2005 February 1 in DIV-WF.NB *) fix[composite[DIV,Di]] := intersection[omega,complement[set[set[0]]]] (* derived 2005 February 22 in PRIMES.NB *) fix[composite[DIV,id[complement[set[set[0]]]],Di]] := intersection[omega,complement[PRIMES],complement[set[set[0]]]] (* added 1999 October 26 based on DIF1.NB *) fix[composite[DUP,DIF]] := cart[set[0],set[0]] (* revised 2000 September 21 *) fix[composite[DUP,x___,FIRST]] := id[fix[composite[x]]] (* revised 2000 September 21 *) fix[composite[DUP,x___,SECOND]] := id[fix[composite[x]]] (* Definition DEF-SBV in SUBVAR dated 1999 February 13 *) fix[composite[E,complement[composite[x_,inverse[E]]]]] := complement[subvar[x]] (* variant of Theorem IVR-5 in INVAR *) fix[composite[E,x_,complement[inverse[E]]]] := complement[invar[inverse[x]]] (* derived 2004 June 16 in TRANSVAR.NB *) fix[composite[E,x_,complement[inverse[E]],IMAGE[y_]]] := intersection[complement[transvar[inverse[x],y]],P[domain[VERTSECT[y]]]] (* derived 2004 March 30 in CO-ES-ID.NB *) fix[composite[E,complement[inverse[x]],UB[x]]] := 0 (* added 2000 December 18 based on UB-UB.NB *) fix[composite[E,complement[x_],LB[x_]]] := 0 (* added 2001 July 8 based on ZN-2.NB *) fix[composite[E,cross[Id,inverse[x_]], LB[complement[cross[x_,Id]]]]] := complement[subcommutant[x]] (* added 2001 June 5 based on SUBCOM.NB *) fix[composite[E,cross[Id,x_],UB[complement[cross[x_,Id]]]]] := complement[subcommutant[inverse[x]]] (* added 2001 December 28 based on SUBCOMUT.NB *) fix[composite[E,cross[x_,Id],UB[complement[cross[Id,x_]]]]] := complement[image[inverse[IMAGE[SWAP]],subcommutant[inverse[x]]]] (* Definition of DESCENDING *) fix[composite[E,DISJOINT]] := complement[DESCENDING] (* added 2000 December 14 based on FP-E-LT.NB *) fix[composite[E,GLB[x_]]] := domain[LEAST[x]] (* added 2000 December 14 based on FP-E-LT.NB *) fix[composite[E,GREATEST[x_]]] := domain[GREATEST[x]] (* added 2000 December 9 based on CLIQUES.NB *) fix[composite[E,x_,inverse[E]]] := complement[cliques[complement[x]]] (* added 1999 October 30 based on IMAGEINT.1 *) fix[composite[E,inverse[E],IMAGE[id[x_]]]] := complement[P[complement[x]]] (* added 2000 November 3 based on SUBVAR.LOG *) fix[composite[E,inverse[S],BIGCAP]] := fix[composite[E,BIGCAP]] (* added 2000 December 5 based on DO-GT.NB *) fix[composite[E,LB[x_]]] := domain[LEAST[x]] (* derived 2004 June 16 in TRANSVAR.NB *) fix[composite[E,x_,LB[y_]]] := complement[transvar[inverse[x],complement[inverse[y]]]] (* added 2001 July 12 based on RANK-2.NB *) fix[composite[E,LB[x_],IMAGE[y_]]] := intersection[complement[subvar[composite[complement[inverse[x]],y]]], P[domain[VERTSECT[y]]]] (* added 2000 December 14 based on FP-E-LT.NB *) fix[composite[E,LEAST[x_]]] := domain[LEAST[x]] (* added 2000 December 14 based on FP-E-LT.NB *) fix[composite[E,LUB[x_]]] := domain[GREATEST[x]] (* added 2000 December 14 based on FP-E-LT.NB *) fix[composite[E,MAXIMAL[x_]]] := complement[subvar[intersection[Di,inverse[x]]]] (* added 2000 December 14 based on FP-E-LT.NB *) fix[composite[E,MINIMAL[x_]]] := complement[subvar[intersection[Di,x]]] (* added 2000 December 5 based on DO-GT.NB *) fix[composite[E,UB[x_]]] := domain[GREATEST[x]] (* derived 2004 June 16 in TRANSVAR.NB *) fix[composite[E,x_,UB[y_]]] := complement[transvar[inverse[x],complement[y]]] (* added 2001 July 12 based on RANK-2.NB *) fix[composite[E,UB[x_],IMAGE[y_]]] := intersection[complement[subvar[composite[complement[x],y]]],P[domain[VERTSECT[y]]]] (* derived 2005 April 23 in FACT-S.NB *) fix[composite[FACTORIAL,E]] := 0 (* derived 2005 April 23 in FACT-S.NB *) fix[composite[FACTORIAL,S,inverse[FACTORIAL],E]] := 0 (* added 2000 January 16 based on COMBINOP.NB *) fix[composite[FIRST,id[composite[id[x_],DISJOINT]],inverse[CUP],S,id[y_],S]] := image[DIF,cart[y,x]] (* added 2000 January 16 based on COMBINOP.NB *) fix[composite[FIRST,id[composite[id[x_],inverse[S]]],inverse[DIF],inverse[S],id[y_],inverse[S]]] := image[CUP,cart[x,y]] (* added 2000 January 16 based on COMBIN-2.NB *) fix[composite[FIRST,id[x_],inverse[DIF],inverse[S]]] := domain[x] (* added 2000 January 16 based on COMBIN-2.NB *) fix[composite[FIRST,id[x_],inverse[DIF],inverse[S],IMAGE[id[y_]]]] := fix[composite[inverse[x],S,IMAGE[id[complement[y]]]]] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[FIRST,inverse[COMPOSE]]] := P[cart[V,V]] (* added 1999 November 29 based on FIX-FIX.NB *) fix[composite[x_,fix[composite[y_,FIRST]]]] := fix[composite[FIRST,id[inverse[x]],y]] (* added 1999 November 29 based on FIX-FIX.NB *) fix[composite[fix[composite[x_,FIRST]],FIRST]] := fix[composite[SECOND,id[inverse[FIRST]],x,FIRST]] (* added 1999 November 29 based on FIX-FIX.NB *) fix[composite[fix[composite[x_,FIRST]],SECOND]] := fix[composite[SECOND,id[inverse[SECOND]],x,SECOND]] (* added 1999 November 29 based on FIX-FIX.NB *) fix[composite[fix[composite[y_,SECOND]],x_]] := fix[composite[SECOND,id[inverse[x]],y]] (* derived 2004 June 19 in REPLACE.NB *) fix[composite[funpart[x_],funpart[inverse[x_]]]] := range[oopart[x]] (* derived 2004 June 19 in REPLACE.NB *) fix[composite[funpart[inverse[x_]],funpart[x_]]] := domain[oopart[x]] (* added 2002 October 27 based on GREATEST.NB *) fix[composite[GLB[x_],id[y_],E]] := image[LEAST[x],y] (* added 2002 October 27 based on GREATEST.NB *) fix[composite[GREATEST[x_],id[y_],E]] := image[GREATEST[x],y] (* added 2002 January 27 based on FIXCORE2.NB *) fix[composite[HC,IMAGE[id[x_]]]] := intersection[FULL,P[H[x]]] (* added 2001 April 1 based on HF-CONT.NB *) fix[composite[HC,S]] := FULL (* added 2002 May 7 based on FIX-HULL.NB *) fix[composite[HULL[x_],S]] := fix[HULL[x]] (* Theorem FP-ID2 in FP2 *) fix[composite[Id,x_]] := fix[x] fix[composite[id[x_],y_]] := intersection[x,fix[y]] fix[composite[x_,id[y_]]] := intersection[y,fix[x]] (* added 2003 July 1 based on IN-DUP.NB *) fix[composite[x_,id[y_],ASSOC]] := intersection[fix[composite[x,ASSOC]],rotate[inverse[y]]] (* added 2000 October 5 based on INT-VS.NB *) fix[composite[x_,id[cart[set[u_],set[v_]]],y_]] := intersection[image[x,cart[set[u],set[v]]], image[inverse[y],cart[set[u],set[v]]]] (* added 2002 January 27 based on FIXCORE1.NB *) fix[composite[x_,id[image[V,y_]],z_]] := intersection[fix[composite[x,z]],image[V,y]] (* revised 2003 May23 based on DEF-CLOS.NB *) fix[composite[IMAGE[CAP],CART,DUP]] := binclosed[CAP] (* derived 2004 August 7 in RS-1.NB *) fix[composite[IMAGE[composite[id[x_],inverse[FIRST]]],IMAGE[FIRST]]] := RS[x] (* revised 2003 May23 based on DEF-CLOS.NB *) fix[composite[IMAGE[CUP],CART,DUP]] := binclosed[CUP] (* revised 2003 May 24 based on DIFCLOS.NB *) fix[composite[IMAGE[DIF],CART,DUP]] := binclosed[DIF] (* added 2002 May 10 based on PC-ID.NB *) fix[composite[IMAGE[DUP],IMAGE[FIRST]]] := P[Id] (* added 2002 May 10 based on PC-ID.NB *) fix[composite[IMAGE[DUP],IMAGE[SECOND]]] := P[Id] (* added 2003 June 22 based on HULL-RC.NB *) fix[composite[IMAGE[id[x_]],CORE[y_]]] := intersection[P[x],Uclosure[y]] (* added 2003 June 22 based on FP-HC.NB *) fix[composite[IMAGE[id[x_]],HC]] := intersection[FULL,P[x]] (* derived 2004 November 6 in IMIM-CAP.NB *) fix[composite[image[inverse[CAP],x_],inverse[S]]] := image[S,x] (* derived 2004 November 6 in IMIM-CAP.NB *) fix[composite[image[inverse[CAP],x_],S]] := x (* added 2002 May 2 based on PAIRSET.NB *) fix[composite[IMAGE[inverse[PAIRSET]],CLIQUES]] := intersection[RFX,SYM] (* derived 2004 August 6 in CONSTANT.NB *) fix[composite[IMAGE[LEFT[x_]],IMAGE[SECOND]]] := P[cart[set[x],V]] (* derived 2004 August 6 in CONSTANT.NB *) fix[composite[IMAGE[RIGHT[x_]],IMAGE[FIRST]]] := P[cart[V,set[x]]] fix[composite[intersection[x_,y_],z_]] := fix[composite[x,intersection[z,inverse[y]]]] fix[composite[x_,intersection[inverse[x_],y_]]] := fix[composite[x,y]] (* added 2001 February 3 based on COND1.NB *) fix[composite[x_,intersection[y_,rotate[z_]]]] := composite[FIRST,intersection[composite[SWAP, inverse[rotate[composite[intersection[y,inverse[x]],SWAP]]]],inverse[z]]] fix[composite[x_,inverse[x_]]] := range[x] fix[composite[inverse[x_],x_]] := domain[x] (* added 2003 June 6 based on ACL-UCL.NB *) fix[composite[inverse[ACLOSURE],E,BIGCAP]] := complement[set[0]] (* added 2001 August 30 based on BC-BA-RC.NB *) fix[composite[inverse[BIGCAP],BIGCUP]] := range[SINGLETON] (* added 2001 August 30 based on BC-BA-RC.NB *) fix[composite[inverse[BIGCUP],BIGCAP]] := range[SINGLETON] (* added 2002 April 18 based on DESCEND.NB *) fix[composite[inverse[BIGCUP],E]] := fix[composite[inverse[E],BIGCUP]] (* added 2003 June 23 based on T1.NB *) fix[composite[inverse[BIGCUP],E,FIRST,id[Di], inverse[SINGLETON],LB[INVAR]]] := complement[T1] (* added 2003 June 23 based on T2.NB *) fix[composite[inverse[BIGCUP],inverse[DUP],inverse[CART],inverse[IMAGE[id[Di]]], inverse[S],BIGCUP,IMAGE[CART],IMAGE[id[DISJOINT]],CART,DUP]] := T2 fix[composite[inverse[BIGCUP],S]] := subvar[inverse[E]] (* added 2000 January 5 based on A-SC-0.NB *) fix[composite[inverse[BIGCUP],S,BIGCAP]] := complement[set[0]] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[BIGCUP],S,IMAGE[id[x_]]]] := subvar[union[id[complement[x]],inverse[E]]] (* derived 2004 October 29 in A8-SIMP.NB *) fix[composite[inverse[BIGCUP],S,UB[image[inverse[CAP],y_]]]] := domain[UB[image[inverse[CAP],y]]] (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[CAP],DISJOINT,CUP]] := DISJOINT (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[CAP],DISJOINT,DIF]] := cart[V,V] (* added 2001 October 23 based on CAPCLOS.NB *) fix[composite[inverse[CAP],FIRST]] := S (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[CAP],S,CUP]] := Id (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[CAP],S,DIF]] := S (* added 2001 October 23 based on CAPCLOS.NB *) fix[composite[inverse[CAP],SECOND]] := inverse[S] (* derived 2005 January 18 in CP-Q.NB *) fix[composite[inverse[CART],Q,CART,SWAP]] := cart[V,V] (* based on 1999 December 10 session FUNPART.1 *) fix[composite[inverse[x_],complement[composite[Di,x_]]]] := domain[funpart[x]] (* derived 2004 June 14 in FU-F-O.NB *) fix[composite[inverse[x_],complement[funpart[x_]]]] := fix[composite[inverse[x],Di,x]] (* added 2001 May 18 based on COMMUTE2.NB *) fix[composite[inverse[COMPOSE],COMPOSE,SWAP]] := COMMUTE (* added 2002 December 27 based on SBCOMMUT.NB *) fix[composite[inverse[COMPOSE],inverse[S],COMPOSE,SWAP]] := SUBCOMMUTE (* added 2002 December 27 based on SBCOMMUT.NB *) fix[composite[inverse[COMPOSE],S,COMPOSE,SWAP]] := inverse[SUBCOMMUTE] (* added 2002 May 4 based on CORE.NB *) fix[composite[inverse[CORE[x_]],S]] := Uclosure[x] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[composite[inverse[CUP],CAP]] := Id (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[CUP],DISJOINT,CAP]] := DISJOINT (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[CUP],DISJOINT,DIF]] := S (* added 2003 May 23 based on REPLACE.NB *) fix[composite[inverse[CUP],FIRST]] := inverse[S] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[composite[inverse[CUP],id[x_],CAP]] := id[x] (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[CUP],S,CAP]] := cart[V,V] (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[CUP],S,DIF]] := cart[V,V] (* added 1999 October 7 based on SC5-LOG.1 *) fix[composite[inverse[CUP],S,FIRST]] := cart[V,V] (* added 1999 October 7 based on SC5-LOG.2 *) fix[composite[inverse[CUP],S,SECOND]] := cart[V,V] (* added 2003 May 23 based on REPLACE.NB *) fix[composite[inverse[CUP],SECOND]] := S (* added 2000 February 5 based on REVISIT.NB *) fix[composite[inverse[x_],Di,funpart[x_]]] := 0 (* derived 2004 June 19 in REPLACE.NB *) fix[composite[inverse[x_],Di,oopart[x_]]] := 0 (* added 1999 December 23 based on ASSOCDUP.NB *) fix[composite[inverse[DIF],CAP]] := cart[set[0],V] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[composite[inverse[DIF],CUP]] := cart[V,set[0]] (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[DIF],DISJOINT,CAP]] := cart[V,V] (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[DIF],DISJOINT,CUP]] := S (* added 2001 November 1 based on RFX.NB *) fix[composite[inverse[DIF],DISJOINT,FIRST]] := S (* added 2001 March 8 based on IMAGEDIF.NB *) fix[composite[inverse[DIF],DISJOINT,SECOND]] := cart[V,V] (* added 2000 December 23 based on FIX-DIF.NB *) fix[composite[inverse[DIF],E,x_,FIRST]] := composite[complement[E],intersection[x,inverse[E]]] (* added 2000 December 23 based on FIX-DIF.NB *) fix[composite[inverse[DIF],E,x_,SECOND]] := composite[intersection[complement[E],inverse[x]],inverse[E]] (* added 2003 November 28 based on FIN-IND.NB *) fix[composite[inverse[DIF],inverse[E],IMAGE[SINGLETON],FIRST]] := image[inverse[DIF],range[SINGLETON]] (* added 2001 March 5 based on K-SS.NB *) fix[composite[inverse[DIF],inverse[E],IMAGE[SINGLETON],SECOND]] := 0 (* derived 2004 September 25 in WFPART.NB *) fix[composite[inverse[DIF],inverse[IMAGE[SECOND]],inverse[S],BIGCUP,SUBVAR,FIRST]] := composite[S,WFPART] (* added 2000 September 28 based on SUBST.NB *) fix[composite[inverse[DIF],inverse[IMAGE[SINGLETON]],E,FIRST]] := composite[complement[S],id[range[SINGLETON]]] (* added 2001 March 31 based on HF-AGAIN.NB *) fix[composite[inverse[DIF],inverse[IMAGE[TC]],E,inverse[S],FIRST]] := composite[complement[S],HC] (* added 2000 January 16 based on COMBIN-2.NB *) fix[composite[inverse[DIF],inverse[S],x_,SECOND]] := composite[FIRST,id[x],inverse[CUP],S] (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[DIF],S,CAP]] := DISJOINT (* added 2001 March 1 based on CO-INE.NB *) fix[composite[inverse[DIF],S,CUP]] := cart[V,set[0]] (* added 2000 December 23 based on FIX-DIF.NB *) fix[composite[inverse[DIF],S,x_,FIRST]] := composite[DISJOINT,intersection[x,inverse[S]]] (* added 2000 December 23 based on FIX-DIF.NB *) fix[composite[inverse[DIF],S,x_,SECOND]] := composite[intersection[DISJOINT,inverse[x]],inverse[S]] (* derived 2005 March 29 in DIV-SUB.NB *) fix[composite[inverse[DIV],SUCC,DIV]] := set[set[0]] (* added 2000 December 14 based on LT-CO-E.NB *) fix[composite[inverse[E],CART,DUP,x_]] := fix[composite[inverse[x],S,PAIRSET]] (* revised 2003 May23 based on DEF-CLOS.NB *) fix[composite[inverse[E],CLIQUES,IMAGE[inverse[CUP]]]] := binclosed[CUP] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[E],HC]] := intersection[FULL,fix[E]] (* added 2000 December 14 based on PAIRSET.NB *) fix[composite[inverse[E],IMAGE[DUP],x___,FIRST]] := id[fix[composite[inverse[E],x]]] (* added 2000 December 14 based on PAIRSET.NB *) fix[composite[inverse[E],IMAGE[DUP],x___,SECOND]] := id[fix[composite[inverse[E],x]]] (* added 2001 December 12 based on CORE-ON.NB *) fix[composite[inverse[E],IMAGE[id[x_]]]] := intersection[x,fix[E]] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[E],IMAGE[id[x_]],y_]] := intersection[x,fix[composite[inverse[E],y]]] (* added 2002 October 14 based on WEAKINEQ.NB *) fix[composite[inverse[E],IMAGE[inverse[NATADD]],FIRST]] := 0 (* added 2001 August 30 based on BC-BA-RC.NB *) fix[composite[inverse[E],IMAGE[POWER],UCLOSURE]] := range[POWER] (* added 2001 February 28 based on FIXIMAGE.NB *) fix[composite[inverse[E],IMAGE[SINGLETON],x___]] := image[SINGLETON,fix[composite[inverse[E],x,SINGLETON]]] (* added 2000 January 20 based on SUCC.NB *) fix[composite[inverse[E],IMAGE[SUCC]]] := range[SUCC] (* added 2001 February 27 based on FIX-IMG.NB *) fix[composite[inverse[E],IMAGE[SUCC],IMAGE[id[x_]]]] := image[SUCC,x] (* added 2001 December 22 based on DORA-2.NB *) fix[composite[inverse[E],MAP,DORA]] := FUNS (* From session SUCC-2.LOG added 1999 February 18 *) fix[composite[inverse[E],SUCC]] := V (* added 2001 January 1 based on TC-1.NB *) fix[composite[inverse[E],TC,SINGLETON]] := V (* added 1999 October 7 based on CAP-CUP.1 *) fix[composite[inverse[FIRST],CAP]] := S (* added 2002 November 10 based on FIX-SW-X.NB *) fix[composite[inverse[FIRST],x___,cross[y_,z_]]] := composite[inverse[z],SECOND, intersection[composite[inverse[FIRST],y],inverse[composite[x]]]] (* added 1999 October 7 based on CAP-CUP.1 *) fix[composite[inverse[FIRST],CUP]] := inverse[S] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[FIRST],Di,CAP]] := composite[Id,complement[S]] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[FIRST],Di,CUP]] := composite[Id,complement[inverse[S]]] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[FIRST],Di,DIF]] := composite[E,inverse[E]] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[FIRST],Di,NATADD]] := cart[omega,intersection[omega,complement[set[0]]]] (* added 2003 June 30 based on NATMUL.NB *) fix[composite[inverse[FIRST],Di,NATMUL]] := cart[intersection[omega,complement[set[0]]], intersection[omega,complement[set[set[0]]]]] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[FIRST],Di,SYMDIF]] := cart[V,complement[set[0]]] (* added 1999 October 26 based on DIF1.NB *) fix[composite[inverse[FIRST],DIF]] := DISJOINT (* added 2000 October 2 based on FIX-1.LOG *) fix[composite[inverse[FIRST],DISJOINT,CAP]] := DISJOINT (* added 1999 October 28 based on MOREDIF2.NB *) fix[composite[inverse[FIRST],DISJOINT,DIF]] := S (* added 2001 January 28 based on FP-RO3.MB *) fix[composite[inverse[FIRST],FIRST,intersection[x_, composite[inverse[SECOND],SECOND]]]] := composite[Id,fix[x]] (* added 2002 November 22 based on CHAL.NB *) fix[composite[inverse[FIRST],x___,FIRST, intersection[y_,composite[inverse[SECOND],z___,SECOND]]]] := fix[composite[inverse[y],cross[inverse[composite[x]],composite[z]]]] (* added 2000 December 3 based on ABSORB.NB *) fix[composite[inverse[FIRST],GREATEST[x_],PAIRSET]] := composite[inverse[x],id[fix[x]]] fix[composite[inverse[FIRST],x_,intersection[composite[y_,FIRST],z_]]] := fix[composite[inverse[FIRST],intersection[x,inverse[y]],z]] (* added 2002 December 26 based on FIX.NB *) fix[composite[inverse[FIRST],u_,intersection[ composite[v_,intersection[composite[w_,FIRST], composite[x_,SECOND]]],composite[y_,SECOND]]]] := composite[intersection[composite[inverse[x],SECOND], composite[inverse[y],FIRST]],id[inverse[v]], intersection[composite[inverse[FIRST],inverse[u]], composite[inverse[SECOND],w]]] (* added 2001 March 5 based on K-SS.NB *) fix[composite[inverse[FIRST],inverse[IMAGE[SINGLETON]],E,DIF]] := image[inverse[DIF],range[SINGLETON]] (* added 1999 October 28 based on MOREDIF2.NB *) fix[composite[inverse[FIRST],inverse[S],CUP]]:=cart[V,V] (* added 2002 October 12 based on O-14.NB *) fix[composite[inverse[FIRST],inverse[S],NATADD]] := cart[omega,omega] (* added 2000 December 3 based on ABSORB.NB *) fix[composite[inverse[FIRST],LEAST[x_],PAIRSET]] := composite[x,id[fix[x]]] (* added 2002 June 19 based on ROT-DUP.NB *) fix[composite[inverse[FIRST],NATADD]] := cart[omega,set[0]] (* added 2002 October 25 based on EQ-0-FIX.NB *) fix[composite[inverse[FIRST],RIF]] := id[Id] (* added 1999 October 7 based on SC5-LOG.3 *) fix[composite[inverse[FIRST],S,CAP]] := cart[V,V] (* added 2000 October 2 based on FIX-1.LOG *) fix[composite[inverse[FIRST],S,CUP]] := inverse[S] (* added 2000 October 2 based on FIX-1.LOG *) fix[composite[inverse[FIRST],S,DIF]] := cart[V,V] (* added 2002 October 12 based on O-17.NB *) fix[composite[inverse[FIRST],S,NATADD]] := cart[omega,set[0]] (* derived 2005 May 21 in MOD-SU.NB *) fix[composite[inverse[FIRST],S,NATMOD]] := cart[omega,omega] (* added 1999 December 24 based on SYMDIF-1.NB *) fix[composite[inverse[FIRST],S,SYMDIF]] := inverse[S] (* Theorem X-FP-CO2 in X3 proved 2000 September 3 *) fix[composite[inverse[FIRST],x___,SECOND]] := inverse[composite[x]] fix[composite[inverse[FIRST],x_,SWAP]] := inverse[fix[composite[inverse[SECOND],x]]] (* added 2001 October 11 based on VARIOUS.NB *) fix[composite[inverse[fix[composite[x_,FIRST]]],y_]] := fix[composite[FIRST,id[y],x]] (* added 2000 January 16 based on COMBIN-2.NB *) fix[composite[x_,inverse[fix[composite[y_,SECOND]]]]] := fix[composite[SECOND,id[x],y]] (* added 2000 February 5 based on REVISIT.NB *) fix[composite[inverse[x_],funpart[x_]]] := domain[funpart[x]] (* added 2000 February 5 based on REVISIT.NB *) fix[composite[inverse[funpart[x_]],x_]] := domain[funpart[x]] (* added 2000 February 5 based on REVISIT.NB *) fix[composite[inverse[funpart[x_]],Di,x_]] := 0 fix[composite[inverse[FUNPART],inverse[IMAGE[FIRST]],S,IMAGE[FIRST]]] := image[inverse[IMAGE[id[cart[V,V]]]],FUNS] (* derived 2004 March 6 in GT-C.NB *) fix[composite[inverse[GREATEST[x_]],GREATEST[complement[x_]]]] := 0 (* added 2002 June 7 based on LEAST.NB *) fix[composite[inverse[GREATEST[x_]],inverse[E],IMAGE[id[y_]]]] := image[inverse[GREATEST[x]],y] (* derived 2004 March 6 in GT-C.NB *) fix[composite[inverse[GREATEST[x_]],UB[complement[x_]]]] := 0 (* derived 2004 February 10 in TO.NB *) fix[composite[inverse[HULL[SYM]],inverse[S],CART,DUP,IMAGE[inverse[DUP]]]] := RFX (* derived 2004 December 31 in IN-RK.NB *) fix[composite[inverse[IMAGE[cross[Id,inverse[E]]]],inverse[IMAGE[cross[Id,SINGLETON]]], inverse[IMAGE[CART]],E,DISJOINT]] := complement[subcommutant[inverse[E]]] (* added 2001 July 8 based on TAKEAWAY.NB *) fix[composite[inverse[IMAGE[cross[u_,v_]]],inverse[IMAGE[SWAP]],E,UB[complement[cross[x_,y_]]],IMAGE[SWAP]]] := fix[composite[inverse[IMAGE[cross[u,v]]],E,UB[complement[cross[y,x]]]]] (* derived 2004 June 16 in TRANSVAR.NB *) fix[composite[inverse[IMAGE[x_]],E,LB[y_]]] := intersection[complement[transvar[x,complement[inverse[y]]]],P[domain[VERTSECT[x]]]] (* derived 2004 June 16 in TRANSVAR.NB *) fix[composite[inverse[IMAGE[x_]],E,UB[y_]]] := intersection[complement[transvar[x,complement[y]]],P[domain[VERTSECT[x]]]] (* added 2002 May 18 based on FUNPART.NB *) fix[composite[inverse[IMAGE[FIRST]],IMAGE[FIRST],FUNPART]] := image[inverse[IMAGE[id[cart[V,V]]]],FUNS] (* derived 2005 January 16 in BIPART.NB *) fix[composite[inverse[IMAGE[FIRST]],u_,FIRST,id[v_], intersection[w_,composite[inverse[SECOND],x_,IMAGE[SECOND]]]]] := fix[composite[inverse[w],id[v],cross[inverse[u],x],DORA]] (* added 2001 October 28 based on EQV.NB *) fix[composite[inverse[IMAGE[FIRST]],IMAGE[inverse[DUP]]]] := invar[composite[DUP,FIRST]] (* added 2001 December 18 based on DORA.NB *) fix[composite[inverse[IMAGE[FIRST]],x_,IMAGE[SECOND]]] := image[inverse[DORA],inverse[x]] (* added 2002 May 18 based on FUNPART.NB *) fix[composite[inverse[IMAGE[FIRST]],inverse[S],IMAGE[FIRST],FUNPART]] := image[inverse[IMAGE[id[cart[V,V]]]],FUNS] (* added 2002 December 23 based on REPLACE.NB *) fix[composite[inverse[IMAGE[id[cart[x_,x_]]]],inverse[S],CART,DUP, IMAGE[inverse[DUP]]]] := image[inverse[IMAGE[id[cart[x,x]]]],RFX] (* added 2002 January 17 based on ANTISYM2.NB *) fix[composite[inverse[IMAGE[id[cart[V,V]]]],x_,IMAGE[id[Di]]]] := image[inverse[IMAGE[id[cart[V,V]]]],fix[composite[x,IMAGE[id[Di]]]]] (* added 2002 January 17 based on CLIQSWAP.NB *) fix[composite[inverse[IMAGE[id[cart[V,V]]]],x_,IMAGE[SWAP]]] := image[inverse[IMAGE[id[cart[V,V]]]],fix[composite[x,IMAGE[SWAP]]]] (* added 2001 December 6 based on SYM.NB *) fix[composite[inverse[IMAGE[id[cart[V,V]]]],inverse[S],INVERSE]] := SYM (* added 2002 June 7 based on LEAST.NB *) fix[composite[inverse[IMAGE[id[x_]]],E,GREATEST[y_]]] := image[inverse[GREATEST[y]],x] (* added 2002 June 7 based on LEAST.NB *) fix[composite[inverse[IMAGE[id[x_]]],E,LB[y_]]] := image[inverse[LEAST[y]],x] (* added 2002 June 7 based on LEAST.NB *) fix[composite[inverse[IMAGE[id[x_]]],E,LEAST[y_]]] := image[inverse[LEAST[y]],x] (* added 2001 November 27 based on FUNPART2.NB *) fix[composite[inverse[IMAGE[id[x_]]],E,UB[y_]]] := image[inverse[GREATEST[y]],x] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[IMAGE[id[x_]]],inverse[POWER],S]] := intersection[FULL,P[P[x]]] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[IMAGE[id[x_]]],inverse[S],BIGCUP]] := subvar[union[id[complement[x]],inverse[E]]] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[IMAGE[id[x_]]],inverse[S],IMAGE[y_]]] := intersection[P[domain[VERTSECT[y]]],subvar[union[y,id[complement[x]]]]] fix[composite[inverse[IMAGE[id[x_]]],S]] := P[x] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[IMAGE[id[x_]]],S,IMAGE[y_]]] := intersection[invar[y],P[complement[image[inverse[y],complement[x]]]]] (* derived 2004 June 17 in X21--.NB *) fix[composite[inverse[IMAGE[inverse[BIGCUP]]],E]] := fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]] (* added 2002 January 22 based on FIXRULES.NB *) fix[composite[inverse[IMAGE[inverse[BIGCUP]]],S,POWER]] := fix[UCLOSURE] (* revised 2003 May23 based on DEF-CLOS.NB *) fix[composite[inverse[IMAGE[inverse[CUP]]],S,CART,DUP]] := binclosed[CUP] (* derived 2004 December 31 in IN-RK.NB *) fix[composite[inverse[IMAGE[inverse[RANK]]],E]] := 0 (* derived 2004 October 14 in REFINE.NB *) fix[composite[inverse[IMAGE[inverse[S]]],COARSER]] := V (* added 2002 June 2 based on HER-HULL.NB *) fix[composite[inverse[IMAGE[inverse[S]]],HULL[fix[IMAGE[inverse[S]]]]]] := V (* derived 2004 June 16 in TRANSVAR.NB *) fix[composite[inverse[IMAGE[x_]],inverse[S],IMAGE[y_]]] := intersection[P[domain[VERTSECT[y]]],transvar[x,y]] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[IMAGE[x_]],inverse[S],IMAGE[id[y_]]]] := intersection[invar[x],P[complement[image[inverse[x],complement[y]]]]] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[IMAGE[x_]],inverse[S],IMAGE[id[y_]]]] := intersection[invar[x],P[complement[image[inverse[x],complement[y]]]]] (* variant of Theorem SBV-IMG3 in SUBVAR *) fix[composite[inverse[IMAGE[x_]],S]] := intersection[P[domain[VERTSECT[x]]],subvar[x]] (* derived 2004 June 16 in TRANSVAR.NB *) fix[composite[inverse[IMAGE[x_]],S,IMAGE[y_]]] := intersection[P[domain[VERTSECT[x]]],transvar[y,x]] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[IMAGE[x_]],S,IMAGE[id[y_]]]] := intersection[P[domain[VERTSECT[x]]],subvar[union[x,id[complement[y]]]]] (* added 2001 December 18 based on DORA.NB *) fix[composite[inverse[IMAGE[SECOND]],x_,IMAGE[FIRST]]] := image[inverse[DORA],x] (* added 2002 February 9 based on IDEM-BIJ.NB *) fix[composite[inverse[IMAGE[SECOND]],IMAGE[inverse[DUP]]]] := invar[composite[DUP,SECOND]] fix[composite[inverse[IMAGE[SINGLETON]],E]] := range[SINGLETON] (* added 2001 February 28 based on FIXIMAGE.NB *) fix[composite[x_,inverse[IMAGE[SINGLETON]],E]] := image[SINGLETON,fix[composite[inverse[E],inverse[x],SINGLETON]]] (* added 1999 October 18 based on CART-LOG.1 *) fix[composite[inverse[IMAGE[SINGLETON]],SINGLETON]] := range[SINGLETON] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[inverse[IMAGE[SUCC]],E]] := range[SUCC] (* added 2002 April 15 based on ITERATE.NB *) fix[composite[inverse[IMAGE[SWAP]],x_,IMAGE[SWAP], IMAGE[id[cart[y_,z_]]]]] := image[inverse[IMAGE[SWAP]], fix[composite[x,IMAGE[id[cart[z,y]]]]]] (* added 2000 September 12 based on INVAR.NB *) fix[composite[inverse[IMG],x_]] := fix[composite[inverse[x],IMG]] fix[composite[inverse[x_],intersection[x_,y_]]] := fix[composite[inverse[x],y]] (* added 1998 August 9 *) fix[composite[inverse[x_],intersection[inverse[y_],z_]]] := fix[composite[y,intersection[x,z]]] (* added 2003 May 9 based on FPIVRDOM.NB *) fix[composite[inverse[INVAR],IMAGE[FIRST]]] := image[inverse[DORA],inverse[S]] fix[composite[inverse[x_],inverse[y_]]] := fix[composite[y,x]] fix[composite[inverse[x_],y_,inverse[z_]]] := fix[composite[z,inverse[y],x]] fix[composite[inverse[x_],inverse[y_],y_,x_]] := image[inverse[x],domain[y]] (* added 2003 June 6 based on FIX-S.NB *) fix[composite[inverse[x_],inverse[S],x_]] := domain[x] (* added 2003 June 6 based on FIX-S.NB *) fix[composite[x_,inverse[x_],inverse[S]]] := range[x] (* derived 2005 January 7 in K-SUCC.NB *) fix[composite[inverse[K],SUCC]] := RUSSELL (* added 2003 June 23 based on T1.NB *) fix[composite[inverse[LB[INVAR]],inverse[E],IMAGE[SINGLETON], IMAGE[id[Di]],CART,DUP,BIGCUP]] := complement[T1] (* added 2003 June 23 based on T1.NB *) fix[composite[inverse[LB[INVAR]],SINGLETON,id[Di], inverse[FIRST],inverse[E],BIGCUP]] := complement[T1] (* added 2002 June 7 based on LEAST.NB *) fix[composite[inverse[LB[x_]],inverse[E],IMAGE[id[y_]]]] := image[inverse[LEAST[x]],y] (* derived 2004 March 6 in LT-C.NB *) fix[composite[inverse[LB[x_]],LB[complement[x_]]]] := set[0] (* derived 2004 March 6 in LT-C.NB *) fix[composite[inverse[LB[x_]],LEAST[complement[x_]]]] := 0 (* added 2002 June 7 based on LEAST.NB *) fix[composite[inverse[LEAST[x_]],inverse[E],IMAGE[id[y_]]]] := image[inverse[LEAST[x]],y] (* derived 2004 March 6 in LT-C.NB *) fix[composite[inverse[LEAST[x_]],LB[complement[x_]]]] := 0 (* derived 2004 March 6 in LT-C.NB *) fix[composite[inverse[LEAST[x_]],LEAST[complement[x_]]]] := 0 (* added 1999 August 16 based on session FIX-L-R.LOG *) fix[composite[inverse[LEFT[x_]],y_]] := image[fix[composite[y,SECOND]],set[x]] (* added 1999 August 16 based on session FIX-L-R.LOG *) fix[composite[x_,inverse[LEFT[y_]]]] := cart[set[y],image[fix[composite[x,SECOND]],set[y]]] (* derived 2004 November 26 in XS-CP.NB *) fix[composite[inverse[MAP],XS,CART]] := union[cart[V,complement[set[0]]],cart[set[0],V]] (* derived 2005 May 22 in DIV-ADD.NB *) fix[composite[inverse[NATADD],DIV,FIRST]] := DIV (* derived 2005 May 22 in DIV-ADD.NB *) fix[composite[inverse[NATADD],DIV,SECOND]] := inverse[DIV] (* added 2002 June 21 based on NATSUB.NB *) fix[composite[inverse[NATADD],FIRST]] := cart[omega,set[0]] (* added 2002 June 22 based on ADD-CUP.NB *) fix[composite[inverse[NATADD],S,FIRST]] := cart[omega,omega] (* added 2002 June 22 based on ADD-CUP.NB *) fix[composite[inverse[NATADD],S,SECOND]] := cart[omega,omega] (* added 2002 June 21 based on NATSUB.NB *) fix[composite[inverse[NATADD],SECOND]] := cart[set[0],omega] (* added 1998 August 9 *) fix[composite[inverse[POWER],S]] := FULL (* derived 2004 September 5 in WF-REC-4.NB *) fix[composite[inverse[POWER],S,IMAGE[id[REGULAR]]]] := invar[composite[inverse[E],id[REGULAR]]] (* added 2003 July 3 based on PTCLOSED.NB *) fix[composite[inverse[POWER],S,IMAGE[SINGLETON]]] := V (* added 2002 May 11 based on OM-1.NB *) fix[composite[inverse[POWER],S,IMAGE[SUCC]]] := FULL (* derived 204 August 22 in PARTREC.NB *) fix[composite[inverse[POWER],S,IMAGE[VERTSECT[x_]]]] := invar[thinpart[x]] (* added 2002 May 27 based on ON-DEFN.NB *) fix[composite[inverse[POWER],S,SUCC]] := FULL (* added 2001 March 17 based on H-FULL.NB *) fix[composite[inverse[POWER],S,TC]] := FULL (* derived 2004 August 10 in RS-3.NB *) fix[composite[inverse[POWER],VERTSECT[RESTRICT]]] := FUNS (* derived 2005 January 7 in K-SUCC.NB *) fix[composite[inverse[PS],inverse[PS],SUCC]] := 0 (* derived 2005 January 7 in K-SUCC.NB *) fix[composite[inverse[PS],SUCC]] := RUSSELL (* added 2000 June 2 based on DEDEKIND.NB *) fix[composite[inverse[x_],Q]] := fix[composite[Q,x]] (* derived 2004 August 14 in RANK.NB *) fix[composite[inverse[RANK],S,IMAGE[RANK]]] := REGULAR (* added 1999 August 16 based on session FIX-L-R.LOG *) fix[composite[inverse[RIGHT[x_]],y_]] := image[inverse[fix[composite[y,FIRST]]],set[x]] (* added 1999 August 16 based on session FIX-L-R.LOG *) fix[composite[x_,inverse[RIGHT[y_]]]] := cart[image[inverse[fix[composite[x,FIRST]]],set[y]],set[y]] (* added 2001 January 30 based on FP-RO1.NB *) fix[composite[inverse[rotate[x_]],y_]] := composite[FIRST,intersection[ composite[SWAP,inverse[rotate[composite[y,SWAP]]]],inverse[x]]] (* added 2001 December 6 based on SYM.NB *) fix[composite[INVERSE,S]] := SYM (* added 2003 June 6 based on FIX-S.NB *) fix[composite[inverse[x_],S,x_]] := domain[x] (* added 2003 June 6 based on FIX-S.NB *) fix[composite[inverse[x_],x_,S]] := domain[x] (* added 2003 June 6 based on FIX-S.NB *) fix[composite[x_,inverse[x_],S]] := range[x] (* added 2001 May 10 based on ACLOSURE.NB *) fix[composite[inverse[S],ACLOSURE]] := V fix[composite[inverse[S],BIGCUP]] := subvar[inverse[E]] (* added 2001 December 19 based on INV-DORA.NB *) fix[composite[inverse[S],CART,DORA]] := P[cart[V,V]] (* added 2003 May 3 based on SQUARE.NB *) fix[composite[inverse[S],CART,DUP,IMAGE[FIRST]]] := intersection[image[inverse[DORA],inverse[S]],P[cart[V,V]]] (* added 2001 October 8 based on RFX.NB *) fix[composite[inverse[S],CART,DUP,IMAGE[inverse[DUP]]]] := RFX (* added 2003 May 3 based on SQUARE.NB *) fix[composite[inverse[S],CART,DUP,IMAGE[SECOND]]] := intersection[image[inverse[DORA],S],P[cart[V,V]]] (* added 2002 May 4 based on CORE.NB *) fix[composite[inverse[S],CORE[x_]]] := Uclosure[x] (* added 2001 November 20 based on FIX-FUNP.NB *) fix[composite[inverse[S],FUNPART]] := FUNS (* added 2001 March 31 based on HF.NB *) fix[composite[inverse[S],HC]] := FULL (* added 2001 April 2 based on HF-X.NB *) fix[composite[inverse[S],HC,E]] := V (* added 2002 May 5 based on HULL.NB *) fix[composite[inverse[S],HULL[x_]]] := image[inverse[S],x] (* derived 2004 October 9 in IM-COA.NB *) fix[composite[inverse[S],id[x_],inverse[BIGCUP],BIGCUP]] := image[inverse[COARSER],x] (* Theorem SBV-IMG3 in SUBVAR proved 1999 February 14 *) fix[composite[inverse[S],IMAGE[x_]]] := intersection[P[domain[VERTSECT[x]]],subvar[x]] (* added 2001 October 14 based on CAPCLOS.NB *) fix[composite[inverse[S],IMAGE[CAP],CART,DUP]] := V (* added 2001 October 15 based on CUPCLOS.NB *) fix[composite[inverse[S],IMAGE[CUP],CART,DUP]] := V (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[S],IMAGE[id[x_]],ACLOSURE]] := P[x] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[S],IMAGE[id[x_]],ADJOIN[y_]]] := intersection[image[V,set[y]],P[x]] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[S],IMAGE[id[x_]],CORE[y_]]] := intersection[P[x],Uclosure[y]] (* added 2001 December 12 based on ON.NB *) fix[composite[inverse[S],IMAGE[id[FULL]],POWER]] := H[FULL] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[S],IMAGE[id[x_]],HC]] := intersection[FULL,P[x]] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[S],IMAGE[id[x_]],HULL[y_]]] := intersection[image[inverse[S],y],P[x]] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[S],IMAGE[id[x_]],IMAGE[inverse[S]]]] := P[x] (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[S],IMAGE[id[x_]],POWER]] := intersection[FULL,P[x]] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[S],IMAGE[id[x_]],TC]] := P[x] (* added 2002 June 2 based on COREHULL.NB *) fix[composite[inverse[S],IMAGE[id[x_]],UCLOSURE]] := P[x] (* derived 2004 November 6 in IMIM-CAP.NB *) fix[composite[inverse[S],image[inverse[CAP],x_]]] := x (* added 2001 October 30 based on RFX-SYM.NB *) fix[composite[inverse[S],IMAGE[inverse[PAIRSET]],CLIQUES]] := intersection[RFX,SYM] (* added 2003 June 6 based on FIX-S.NB *) fix[composite[inverse[S],inverse[x_],x_]] := domain[x] (* added 2003 June 6 based on FIX-S.NB *) fix[composite[x_,inverse[S],inverse[x_]]] := range[x] (* added 1998 August 9 *) fix[composite[inverse[S],POWER]] := FULL (* added 2001 August 30 based on BC-BA-RC.NB *) fix[composite[inverse[S],POWER,BIGCAP]] := range[SINGLETON] (* added 2000 November 14 bases on GREATEST.NB *) fix[composite[inverse[S],POWER,BIGCUP]] := V (* derived 2004 October 9 in IM-COA.NB *) fix[composite[inverse[S],POWER,BIGCUP,id[x_],COARSER]] := image[inverse[COARSER],x] (* derived 2005 January 30 in X3949.NB *) fix[composite[inverse[S],POWER,HC]] := FULL (* added 2002 June 7 based on SUBVAR.NB *) fix[composite[inverse[S],POWER,IMAGE[id[x_]]]] := intersection[FULL,P[P[x]]] (* added 2002 May 28 based on IND-BC.NB *) fix[composite[inverse[S],POWER,SUCC]] := image[inverse[SUCC],FULL] (* From session SUCC-2.LOG added 1999 February 18 *) fix[composite[inverse[S],SUCC]] := V (* added 2001 January 1 based on TC-1.NB *) fix[composite[inverse[S],TC]] := V (* added 2001 May 10 based on UCLOS-1.NB *) fix[composite[inverse[S],UCLOSURE]] := V (* derived 2004 May 2 in ZN.NB *) fix[composite[inverse[S],VERTSECT[ZN]]] := domain[VERTSECT[ZN]] (* derived 2004 September 25 in LAMB-WF.NB *) fix[composite[inverse[S],WFPART]] := WF (* added 1999 October 7 based on CAP-CUP.1 *) fix[composite[inverse[SECOND],CAP]] := inverse[S] (* added 2002 November 10 based on FIX-SW-X.NB *) fix[composite[inverse[SECOND],x___,cross[y_,z_]]] := composite[intersection[composite[x],composite[inverse[z],SECOND]],inverse[FIRST],y] (* added 1999 October 7 based on CAP-CUP.1 *) fix[composite[inverse[SECOND],CUP]] := S (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[SECOND],Di,CAP]] := composite[Id,complement[inverse[S]]] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[SECOND],Di,CUP]] := composite[Id,complement[S]] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[SECOND],Di,DIF]] := union[cart[V,complement[set[0]]],cart[complement[set[0]],V]] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[SECOND],Di,NATADD]] := cart[intersection[omega,complement[set[0]]],omega] (* added 2003 June 30 based on NATMUL.NB *) fix[composite[inverse[SECOND],Di,NATMUL]] := cart[intersection[omega,complement[set[set[0]]]], intersection[omega,complement[set[0]]]] (* added 2003 June 30 based on NEUTRAL.NB *) fix[composite[inverse[SECOND],Di,SYMDIF]] := cart[complement[set[0]],V] (* added 1999 October 26 based on DIF1.NB *) fix[composite[inverse[SECOND],DIF]] := cart[set[0],set[0]] (* added 2000 October 2 based on FIX-1.LOG *) fix[composite[inverse[SECOND],DISJOINT,CAP]] := DISJOINT (* added 2000 October 2 based on FIX-1.LOG *) fix[composite[inverse[SECOND],DISJOINT,CUP]] := cart[V,set[0]] (* added 1999 October 28 based on MOREDIF2.NB *) fix[composite[inverse[SECOND],DISJOINT,DIF]] := cart[V,V] (* added 2002 April 6 based on SUBST.NB *) fix[composite[inverse[SECOND],DISJOINT,IMG]] := composite[inverse[POWER],DISJOINT,IMAGE[PAIRSET]] (* added 2001 February 6 based on ROT-2.NB *) fix[composite[inverse[SECOND],DISJOINT,intersection[ composite[S,DIF,cross[SECOND,Id]], composite[inverse[E],CAP,cross[Id,POWER],FIRST]]]] := rotate[composite[E,DIF]] fix[composite[inverse[SECOND],FIRST]] := Id (* Theorem X-FP-CO1 in X3 proved 2000 September 3 *) fix[composite[inverse[SECOND],x_,FIRST]] := composite[Id,x] (* added 2000 December 3 based on ABSORB.NB *) fix[composite[inverse[SECOND],GREATEST[x_],PAIRSET]] := composite[id[fix[x]],x] (* added 2001 February 6 based on ROT-2.NB *) fix[composite[inverse[SECOND],intersection[composite[inverse[FIRST],x_], composite[inverse[SECOND],DISJOINT]],intersection[composite[inverse[S],FIRST], composite[S,DIF,cross[Id,SECOND]]]]] := inverse[rotate[composite[x,DIF,SWAP]]] fix[composite[inverse[SECOND],x_,intersection[composite[y_,SECOND],z_]]] := fix[composite[inverse[SECOND],intersection[x,inverse[y]],z]] (* added 2001 March 5 based on K-SS.NB *) fix[composite[inverse[SECOND],inverse[IMAGE[SINGLETON]],E,DIF]] := 0 (* added 1999 October 28 based on MOREDIF2.NB *) fix[composite[inverse[SECOND],inverse[S],CUP]]:=cart[V,V] (* added 2000 September 21 *) fix[composite[inverse[SECOND],inverse[S],IMG]] := composite[inverse[E],SUBVAR] (* added 2001 February 6 based on ROT-2.NB *) fix[composite[inverse[SECOND],inverse[S],intersection[composite[ intersection[composite[S,SECOND],composite[x_,FIRST]],FIRST], composite[inverse[S],CUP,cross[SECOND,Id]]]]] := rotate[composite[inverse[x],CUP]] (* added 2002 October 12 based on O-14.NB *) fix[composite[inverse[SECOND],inverse[S],NATADD]] := cart[omega,omega] (* added 2000 December 3 based on ABSORB.NB *) fix[composite[inverse[SECOND],LEAST[x_],PAIRSET]] := composite[id[fix[x]],inverse[x]] (* added 2002 June 21 based on NATSUB.NB *) fix[composite[inverse[SECOND],NATADD]] := cart[set[0],omega] (* added 2002 October 25 based on EQ-0-FIX.NB *) fix[composite[inverse[SECOND],RIF]] := id[Id] (* added 1999 October 7 based on SC5-LOG.3 *) fix[composite[inverse[SECOND],S,CAP]] := cart[V,V] (* added 2000 October 2 based on FIX-1.LOG *) fix[composite[inverse[SECOND],S,CUP]] := S (* added 2000 October 2 based on FIX-1.LOG *) fix[composite[inverse[SECOND],S,DIF]] := S (* added 2002 April 10 based on INVAR.NB *) fix[composite[inverse[SECOND],S,IMG]] := INVAR (* added 2003 June 23 based on INVAR.NB *) fix[composite[inverse[SECOND],S,IMG,cross[Id,IMG],ASSOC]] := composite[INVAR,COMPOSE] (* added 2001 February 6 based on CLS6.NB *) fix[composite[inverse[SECOND],S,intersection[composite[S,CAP,cross[SECOND,Id]], composite[inverse[E],CAP,cross[Id,POWER],FIRST]]]] := rotate[composite[E,CAP]] (* added 2002 October 12 based on O-17.NB *) fix[composite[inverse[SECOND],S,NATADD]] := cart[set[0],omega] (* added 2002 December 26 based on REPLACE.NB *) fix[composite[inverse[SECOND],x___,SECOND, intersection[y_,composite[inverse[FIRST],z___,FIRST]]]] := fix[composite[inverse[y],cross[composite[z],inverse[composite[x]]]]] fix[composite[inverse[SECOND],x_,SWAP]] := inverse[fix[composite[inverse[FIRST],x]]] (* added 1999 August 15 based on Notebook IMAGEDI.NB *) fix[composite[inverse[SINGLETON],Di,IMAGE[SINGLETON]]] := complement[range[SINGLETON]] (* From session SUCC-2.LOG added 1999 February 18 *) fix[composite[inverse[SUCC],E]] := V (* added 2001 December 12 based on ON.NB *) fix[composite[inverse[SUCC],IMAGE[id[FULL]],POWER]] := OMEGA (* added 2002 June 4 based in ISB5-SUC.NB *) fix[composite[inverse[SUCC],inverse[S],IMAGE[id[x_]],POWER]] := intersection[FULL,x,P[x]] (* added 2002 May 27 based on ON-DEFN.NB *) fix[composite[inverse[SUCC],inverse[S],POWER]] := FULL (* derived 2005 January 7 in K-SUCC.NB *) fix[composite[inverse[SUCC],K]] := RUSSELL (* derived 2005 January 7 in K-SUCC.NB *) fix[composite[inverse[SUCC],PS]] := RUSSELL (* derived 2005 January 7 in K-SUCC.NB *) fix[composite[inverse[SUCC],PS,PS]] := 0 (* From session SUCC-2.LOG added 1999 February 18 *) fix[composite[inverse[SUCC],S]] := V (* added 2002 June 4 based in ISB5-SUC.NB *) fix[composite[inverse[SUCC],S,IMAGE[id[FULL]],POWER]] := OMEGA fix[composite[inverse[x_],SWAP]] := fix[composite[SWAP,x]] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[composite[inverse[SYMDIF],CAP]] := cart[set[0],set[0]] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[composite[inverse[SYMDIF],CUP]] := DISJOINT (* added 1999 December 23 based on ASSOCDUP.NB *) fix[composite[inverse[SYMDIF],DIF]] := inverse[S] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[composite[inverse[SYMDIF],id[x_],CUP]] := intersection[DISJOINT,image[inverse[CUP],x]] (* derived 2004 March 6 in GT-C.NB *) fix[composite[inverse[UB[x_]],GREATEST[complement[x_]]]] := 0 (* added 2002 June 7 based on LEAST.NB *) fix[composite[inverse[UB[x_]],inverse[E],IMAGE[id[y_]]]] := image[inverse[GREATEST[x]],y] (* derived 2004 March 6 in GT-C.NB *) fix[composite[inverse[UB[x_]],UB[complement[x_]]]] := set[0] (* derived 2004 May 2 in ZN.NB *) fix[composite[inverse[VERTSECT[ZN]],inverse[S],POWER]] := fix[IMAGE[ZN]] (* derived 2004 May 2 in ZN.NB *) fix[composite[inverse[VERTSECT[ZN]],POWER]] := fix[IMAGE[ZN]] (* derived 2004 May 2 in ZN.NB *) fix[composite[inverse[VERTSECT[ZN]],S,POWER]] := domain[VERTSECT[ZN]] (* added 2001 July 4 based on VS-1.NB *) fix[composite[LB[x_],complement[composite[complement[E],x_]]]] := domain[VERTSECT[x]] (* added 2002 October 27 based on GREATEST.NB *) fix[composite[LB[x_],id[y_],E]] := image[LEAST[x],y] (* added 2002 October 25 based on VS-LB.NB *) fix[composite[LB[x_],VERTSECT[x_]]] := domain[VERTSECT[x]] (* added 2002 October 27 based on GREATEST.NB *) fix[composite[LEAST[x_],id[y_],E]] := image[LEAST[x],y] (* added 1999 August 16 based on session FIX-L-R.LOG *) fix[composite[LEFT[x_],y_]] := cart[set[x],image[fix[composite[inverse[SECOND],y]],set[x]]] (* added 1999 August 16 based on session FIX-L-R.LOG *) fix[composite[x_,LEFT[y_]]] := image[fix[composite[inverse[x],SECOND]],set[y]] (* added 2000 December 30 based on LUB.NB *) fix[composite[LUB[x_],E]] := fix[x] (* added 2002 October 27 based on GREATEST.NB *) fix[composite[LUB[x_],id[y_],E]] := image[GREATEST[x],y] (* added 2002 October 27 based on GREATEST.NB *) fix[composite[MAXIMAL[x_],id[y_],E]] := image[MAXIMAL[x],y] (* added 2002 October 27 based on GREATEST.NB *) fix[composite[MINIMAL[x_],id[y_],E]] := image[MINIMAL[x],y] (* added 2002 May 10 based on P-A.NB *) fix[composite[POWER,BIGCAP]] := set[set[0]] (* Theorem POW-BC-7 in POW4 proved 1998 December 21 *) fix[composite[POWER,BIGCUP]] := range[POWER] (* added 2003 June 29 based on POWER.NB *) fix[composite[POWER,Di,BIGCUP]] := 0 (* Discovered 1998 September 26 *) fix[composite[POWER,inverse[S]]] := intersection[FULL,range[POWER]] (* added 2002 January 21 based on VS-IN-BC.TXT *) fix[composite[POWER,inverse[S],BIGCUP]] := range[POWER] (* derived 2004 August 10 in RS-3.NB *) fix[composite[POWER,inverse[VERTSECT[RESTRICT]]]] := image[POWER,FUNS] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[POWER,Q]] := 0 (* added 2000 October 1 based on CANTOR-2.NB *) fix[composite[POWER,Q,S]] := 0 (* added 1998 August 10 *) fix[composite[PS,id[FULL],complement[inverse[E]]]] := complement[OMEGA] (* based on 1998/DEC/21/SESSION4.LOG *) fix[composite[PS,PS]] := 0 (* derived 2004 June 28 in X1913-14.NB *) fix[composite[PS,PS,inverse[K]]] := 0 (* added 2000 June 2 based on DEDEKIND.NB *) fix[composite[Q,inverse[x_]]] := fix[composite[x,Q]] (* added 2000 June 2 based on DK-C3.NB *) fix[composite[Q,PS]] := complement[DEDEKIND] (* Theorem Q-SR-FP2 in Q proved 2000 May 12 *) fix[composite[Q,S]] := V (* added 2000 October 1 based on CANTOR.NB *) fix[composite[Q,S,POWER]] := 0 (* added 2001 July 27 based on RANK.NB *) fix[composite[RANK,E]] := 0 (* added 2002 June 24 based on FIX.NB *) fix[composite[RIF,id[x_],inverse[FIRST]]] := id[fix[fix[x]]] (* added 2002 June 24 based on FIX.NB *) fix[composite[RIF,id[x_],inverse[SECOND]]] := id[fix[fix[x]]] (* added 1999 August 16 based on session FIX-L-R.LOG *) fix[composite[x_,RIGHT[y_]]] := image[inverse[fix[composite[inverse[x],FIRST]]],set[y]] (* added 1999 August 16 based on session FIX-L-R.LOG *) fix[composite[RIGHT[x_],y_]] := cart[image[inverse[fix[composite[inverse[FIRST],y]]],set[x]],set[x]] (* added 2001 January 30 based on FP-RO1.NB *) fix[composite[x_,rotate[y_]]] := composite[FIRST,intersection[ composite[SWAP,inverse[rotate[composite[inverse[x],SWAP]]]], inverse[y]]] (* added 2003 May 30 based on FIX-ROT.NB *) fix[composite[w_,rotate[x_],cross[y_,z_]]] := composite[FIRST,intersection[ composite[SWAP,inverse[rotate[composite[inverse[w],SWAP]]]], composite[cross[inverse[z],Id],inverse[x],y]]] (* added 2002 October 29 based on RO-I.NB *) fix[composite[rotate[x_],id[y_],inverse[rotate[z_]]]] := range[fix[composite[inverse[FIRST],y,intersection[x,z]]]] (* added 2001 January 28 based on FP-RO3.MB *) fix[composite[rotate[x_],SWAP]] := composite[FIRST,id[inverse[SECOND]], intersection[composite[inverse[SECOND],inverse[FIRST]], inverse[rotate[composite[x,SWAP]]]]] (* added 2001 May 10 based on UCLOS-4.NB *) fix[composite[S,ACLOSURE]] := fix[ACLOSURE] (* added 2001 October 9 based on TRV-1.NB *) fix[composite[S,COMPOSE,DUP]] := image[inverse[IMAGE[id[cart[V,V]]]],TRV] (* added 2002 January 27 based on IMAGE.NB *) fix[composite[S,CORE[x_]]] := V (* Theorem in PS-RA-3 added 1998 July 2 *) fix[composite[S,Di]] := complement[set[0]] (* added 2001 November 20 based on FIX-FUNP.NB *) fix[composite[S,FUNPART]] := V (* added 2001 May 2 based on IMG-PC.NB *) fix[composite[S,HULL[x_]]] := fix[HULL[x]] (* added 1998 August 28; flipped 2000 April 15 *) fix[composite[S,id[x_],Di]] := image[PS,x] (* derived 2004 November 6 in IMIM-CAP.NB *) fix[composite[S,id[x_],fix[composite[inverse[DIF],DISJOINT,id[y_],S,SECOND]]]] := image[image[inverse[CAP],x],y] (* derived 2004 November 6 in IMIM-CAP.NB *) fix[composite[S,id[x_],fix[composite[inverse[SECOND],inverse[S],id[y_],DISJOINT,DIF]]]] := image[image[inverse[CAP],x],y] (* added 1998 February 7 *) fix[composite[S,id[FULL],complement[inverse[E]],SUCC]] := complement[OMEGA] (* derived 2004 November 2 in SELECT.NB *) fix[composite[S,id[FUNS],inverse[IMAGE[FIRST]],IMAGE[FIRST]]] := SELECT (* derived 2004 October 9 in IM-COA.NB *) fix[composite[S,id[x_],inverse[BIGCUP],inverse[POWER],S]] := image[COARSER,x] (* added 1998 September 25: see FIXRULES.LOG *) fix[composite[S,id[x_],S]] := x (* Definition DEF-IVR in INVAR added 1999 January 9 *) fix[composite[S,IMAGE[x_]]] := invar[x] (* added 2003 May 21 based on BINCLOSE.NB *) fix[composite[S,IMAGE[x_],CART,DUP]] := binclosed[x] (* added 2002 May 9 based on RESTRICT.NB *) fix[composite[S,IMAGE[cross[x_,y_]],id[z_], UB[composite[E,cross[inverse[x_],inverse[y_]]]]]] := image[IMAGE[cross[x,y]],z] (* added 2002 May 9 based on RESTRICT.NB *) fix[composite[S,IMAGE[cross[Id,x_]],id[y_], UB[composite[E,cross[Id,inverse[x_]]]]]] := image[IMAGE[cross[Id,x]],y] (* derived 2004 November 6 in IMIM-CAP.NB *) fix[composite[S,image[inverse[CAP],x_]]] := image[S,x] (* added 2002 May 26 based on ON-SUC-1.NB *) fix[composite[S,IMAGE[inverse[SUCC]],id[x_],SUCC]] := intersection[image[inverse[SUCC],x],invar[inverse[SUCC]]] (* derived 2004 December 31 in IN-RK.NB *) fix[composite[S,IMAGE[RANK],id[REGULAR],S,IMAGE[inverse[RANK]]]] := V (* added 2003 June 6 based on FIX-S.NB *) fix[composite[S,inverse[x_],x_]] := domain[x] (* added 2003 June 6 based on FIX-S.NB *) fix[composite[S,x_,inverse[x_]]] := range[x] (* added 2003 June 6 based on FIX-S.NB *) fix[composite[x_,S,inverse[x_]]] := range[x] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[S,inverse[SUCC]]] := range[SUCC] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[S,inverse[TC]]] := FULL (* added 2001 November 7 based on PAIRSET.NB *) fix[composite[S,PAIRSET,x_,CART,DUP]] := fix[image[inverse[CART],fix[composite[E,x]]]] (* Theorem POW-FP2 in POW3 proved 1999 January 3 *) fix[composite[S,POWER]] := 0 (* added 2002 May 10 based on P-A.NB *) fix[composite[S,POWER,BIGCAP]] := complement[P[complement[set[0]]]] (* Theorem POW-RA13 in POW5 proved 1999 January 21 *) fix[composite[S,POWER,BIGCUP]] := range[POWER] (* added 2000 October 1 based on CANTOR.NB *) fix[composite[S,POWER,Q]] := 0 (* added 2001 March 30 based on IMAGCOMP.NB *) fix[composite[S,RC[x_]]] := set[x] fix[composite[S,SUCC]] := fix[E] (* added 2001 March 15 based on H-1.NB *) fix[composite[S,TC]] := FULL (* added 2001 May 10 based on UCLOS-4.NB *) fix[composite[S,UCLOSURE]] := fix[UCLOSURE] (* derived 2004 May 2 in ZN.NB *) fix[composite[S,VERTSECT[ZN]]] := 0 (* added 2000 January 16 based on COMBINOP.NB *) fix[composite[SECOND,id[composite[inverse[S],id[x_]]], inverse[DIF],DISJOINT,id[y_],S]] := image[CAP,cart[x,y]] (* added 2000 January 16 based on COMBINOP.NB *) fix[composite[SECOND,id[composite[inverse[S],id[x_]]],inverse[DIF], inverse[S],id[y_],DISJOINT]] := image[DIF,cart[x,y]] (* added 2000 January 16 based on FIX-DIF.NB *) fix[composite[SECOND,id[x_],inverse[DIF],DISJOINT]] := range[x] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[SECOND,inverse[COMPOSE]]] := P[cart[V,V]] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[SECOND,inverse[SYMDIF]]] := V (* added 1999 August 31 based on FP-SG-BA.LOG *) fix[composite[SINGLETON,BIGCAP]] := range[SINGLETON] fix[composite[SINGLETON,BIGCUP]] := range[SINGLETON] (* added 2001 October 6 based on FIXRULES.NB *) fix[composite[SUCC,inverse[S]]] := range[SUCC] (* added 2002 November 10 based on FIX-SW-X.NB *) fix[composite[SWAP,cross[x_,y_]]] := intersection[x,inverse[y]] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,cross[inverse[FIRST],inverse[FIRST]],x_, cross[FIRST,FIRST]]] := composite[inverse[FIRST],fix[composite[SWAP,x]],FIRST] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,cross[inverse[FIRST],inverse[FIRST]],x_, cross[SECOND,SECOND]]] := composite[SWAP,twist[composite[SWAP,x]],SWAP] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,cross[inverse[FIRST],inverse[SECOND]],x_, cross[FIRST,SECOND]]] := composite[SWAP,twist[composite[SWAP,x]]] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,cross[inverse[FIRST],inverse[SECOND]],x_, cross[SECOND,FIRST]]] := composite[inverse[FIRST],fix[composite[SWAP,x]],SECOND] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,cross[inverse[SECOND],inverse[FIRST]],x_, cross[FIRST,SECOND]]] := composite[inverse[SECOND],fix[composite[SWAP,x]],FIRST] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,cross[inverse[SECOND],inverse[FIRST]],x_, cross[SECOND,FIRST]]] := composite[twist[composite[SWAP,x]],SWAP] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,cross[inverse[SECOND],inverse[SECOND]],x_, cross[FIRST,FIRST]]] := twist[composite[SWAP,x]] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,cross[inverse[SECOND],inverse[SECOND]],x_, cross[SECOND,SECOND]]] := composite[inverse[SECOND],fix[composite[SWAP,x]],SECOND] (* added 2002 December 30 based on FP-TW.NB *) fix[composite[SWAP,x_,SWAP,cross[y_,z_]]] := inverse[fix[composite[x,cross[z,y]]]] fix[composite[SWAP,x_,FIRST]] := inverse[fix[composite[x,SECOND]]] (* added 2001 May 18 based on COMMUTE3.NB *) fix[composite[SWAP,inverse[COMPOSE],COMPOSE]] := COMMUTE (* added 2002 December 27 based on SBCOMMUT.NB *) fix[composite[SWAP,inverse[COMPOSE],inverse[S],COMPOSE]] := inverse[SUBCOMMUTE] (* added 2002 December 27 based on SBCOMMUT.NB *) fix[composite[SWAP,inverse[COMPOSE],S,COMPOSE]] := SUBCOMMUTE fix[composite[SWAP,x_,SECOND]] := inverse[fix[composite[x,FIRST]]] fix[composite[SWAP,x_,SWAP]] := inverse[fix[x]] (* added 2002 June 24 based on FIX.NB *) fix[composite[SYMDIF,id[x_],inverse[FIRST]]] := image[inverse[x],set[0]] (* added 2002 June 24 based on FIX.NB *) fix[composite[SYMDIF,id[x_],inverse[SECOND]]] := image[x,set[0]] (* added 2001 March 15 based on H-1.NB *) fix[composite[TC,inverse[S]]] := FULL (* added 2002 October 27 based on GREATEST.NB *) fix[composite[UB[x_],id[y_],E]] := image[GREATEST[x],y] (* derived 2004 April 28 in WF.NB *) fix[composite[UB[x_],VERTSECT[inverse[x_]]]] := domain[VERTSECT[inverse[x]]] (* derived 2004 September 25 in LAMB-WF.NB *) fix[composite[WFPART,inverse[S]]] := WF (* derived 2004 September 25 in LAMB-WF.NB *) fix[composite[WFPART,S]] := WF (* derived 2004 May 2 in ZN.NB *) fix[composite[ZN,POWER]] := V (* added 2002 May 3 based on CORE-UCL.NB *) fix[CORE[x_]] := Uclosure[x] (* Theorem X-FP in X2 *) fix[cross[x_,y_]] := cart[fix[x],fix[y]] (* Theorem FP-DI in FP1 added 1998 July 2 *) fix[Di] := 0 (* Theorem FP-DJT in FP2 proved 1998 September 4 *) fix[DISJOINT] := set[0] (* added 2002 August 30 based on DIVIDES.NB *) fix[DIV] := omega (* added 2002 November 5 based on EQDF-TRV.NB *) fix[EQUIDIFF] := cart[omega,omega] (* derived 2004 May 12 in EQUIV.NB *) fix[EQUIV] := EQV (* added 2001 February 6 based on FIXFIX.NB *) fix[fix[composite[x_,FIRST]]] := fix[composite[inverse[x],DUP]] (* added 2001 February 6 based on CLS-6.NB *) fix[fix[composite[inverse[FIRST],x_]]] := fix[composite[x,DUP]] (* added 2001 February 6 based on CLS-6.NB *) fix[fix[composite[inverse[SECOND],x_]]] := fix[composite[x,DUP]] (* added 2001 February 6 based on FIXFIX.NB *) fix[fix[composite[x_,SECOND]]] := fix[composite[inverse[x],DUP]] (* added 2002 May 28 based on FIRSTDIF.NB *) fix[fix[composite[x_,SYMDIF]]] := fix[image[x,set[0]]] fix[fix[composite[x_,SWAP]]] := fix[fix[x]] fix[fix[composite[SWAP,x_]]] := fix[fix[x]] (* Theorem FIN-FP2 proved 2000 April 22 *) fix[FINITE] := V (* added 2000 September 8 based on FUNPART.LOG *) fix[FUNPART] := FUNS (* Theorem HF-FP in HC proved 2001 April 10 *) fix[HC] := FULL (* added 2003 September 14 based on FXHL-BCL.NB *) fix[HULL[binclosed[x_]]] := binclosed[x] (* added 2003 April 3 based on FIXHULLI.NB *) fix[HULL[EQV]] := EQV (* derived 2004 October 7 in HULL-I.NB *) fix[HULL[intersection[fix[HULL[x_]],fix[HULL[y_]]]]] := intersection[fix[HULL[x]],fix[HULL[y]]] (* added 2003 September 14 based on FXHL-BCL.NB *) fix[HULL[invar[x_]]] := invar[x] (* added 2003 April 4 based on FXHULLPO.NB *) fix[HULL[PO]] := PO (* added 2003 April 3 based on HULL-RFX.NB *) fix[HULL[RFX]] := RFX (* derived 2004 October 12 in CMPCT-OM.NB *) fix[HULL[succ[omega]]] := succ[omega] (* added 2003 April 3 based on HULL-SYM.NB *) fix[HULL[SYM]] := SYM (* added 2003 September 14 based on FXHL-BCL.NB *) fix[HULL[TOPS]] := TOPS (* added 2002 February 8 based on IDEMPOT.NB *) fix[HULL[TRV]] := TRV (* added 2003 March 1 based on Z.NB *) fix[HULL[Z]] := union[Z,set[0]] (* Theorem FP-ID1 in FP2 *) fix[Id] := V (* Theorem IDX-FP-3 in IDX2 *) fix[id[x_]] := x (* 1998 November 10. See IM-DI-ID.LOG *) fix[image[Di,id[x_]]] := image[Di,x] (* derived 2004 July 26 in DORAFUNS.NB *) fix[image[DORA,FUNS]] := V (* added 2002 December 17 based on UCL-Z.NB *) fix[IMAGE[EQUIDIFF]] := Uclosure[Z] (* Theorem CUT-FP in CUT1 proved 1998 December 25 *) fix[IMAGE[id[x_]]] := P[x] (* added 2003 March 13 based on IMG-CUT.NB *) fix[IMAGE[IMAGE[id[x_]]]] := P[P[x]] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[image[inverse[CAP],x_]] := x (* added 2001 October 8 based on RFX.NB *) fix[image[inverse[CART],RFX]] := V (* derived 2004 June 16 in TRANSVAR.NB *) fix[image[inverse[CART],transvar[x_,inverse[DUP]]]] := binclosed[x] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[image[inverse[CUP],x_]] := x (* added 1999 December 23 based on ASSOCDUP.NB *) fix[image[inverse[DIF],x_]] := image[V,intersection[x,set[0]]] (* added 2001 October 10 based on REPLACE.NB *) fix[image[inverse[PAIRSET],x_]] := image[inverse[SINGLETON],x] (* added 1999 December 23 based on ASSOCDUP.NB *) fix[image[inverse[SYMDIF],x_]] := image[V,intersection[x,set[0]]] (* added 2001 October 10 based on REPLACE.NB *) fix[IMAGE[SWAP]] := SYM (* Theorem FP-IM-V in FP2 *) fix[image[V,x_]] := image[V,x] (* Theorem FP-I in FP1 *) fix[intersection[x_,y_]] := intersection[fix[x],fix[y]] (* added 2001 October 10 based on SYM-1.NB *) fix[INVERSE] := SYM (* Theorem FP-IN2 in FP2 *) fix[inverse[x_]] := fix[x] (* added 2000 May 14 based on K-2.NB *) fix[K] := 0 (* added 2000 November 21 based on FINITE.NB *) fix[LB[x_]] := complement[fix[composite[E,complement[x]]]] (* added 2001 October 6 based on FIXRULES.NB *) fix[omega] := 0 (* added 2001 October 6 based on FIXRULES.NB *) fix[OMEGA] := 0 (* derived 2004 May 9 in OOPART.NB *) fix[OOPART] := BIJ (* Theorem POW-FP in POW3 proved 1998 July 18 *) fix[POWER] := 0 (* Theorem PS-FP in PS added 1998 August 9 *) fix[PS] := 0 (* Theorem Q-3 in Q proved 2000 April 25 *) fix[Q] := V (* Theorem RK-FP in RANK2 proved 2001 July 25 *) fix[RANK] := OMEGA (* added 2001 June 28 based on RC.NB *) fix[RC[x_]] := intersection[complement[image[V,x]],set[0]] (* Theorem REG-FP in REG2 *) fix[REGULAR] := REGULAR (* added 2003 May 30 based on RESTRICT.NB *) fix[RESTRICT] := P[cart[V,V]] (* derived 2004 December 16 in RFX-CORE.NB *) fix[rfx[x_]] := fix[x] (* added 1999 September 12 based on 1999\SEPT\10\ROT-FP.LOG *) fix[ROT] := inverse[DUP] (* added 2001 January 30 based on FP-RO2.NB *) fix[rotate[x_]] := composite[FIRST,id[inverse[SECOND]], intersection[composite[inverse[SECOND],inverse[FIRST]],inverse[x]]] (* Theorem FP-SR2 in FP2 *) fix[S] := V (* derived 2004 April 6 in SMALLER.NB *) fix[SMALLER] := 0 (* added 2002 December 27 based on SBCOMMUT.NB *) fix[SUBCOMMUTE] := V (* Theorem SUC-FP-4 in SUC-RELATION added 1998 February 7 *) fix[SUCC] := fix[E] (* Theorem SW-FP in SW3 corrected 1998 August 6 *) fix[SWAP] := Id (* added 2000 January 8 based on TC-RA.NB *) fix[TC] := FULL (* derived 2004 March 23 in TRV-K.NB *) fix[trv[K]] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) fix[trv[wf[x_]]] := 0 (* added 2001 January 18 based on ROT-CPS.NB *) fix[twist[x_]] := composite[inverse[DUP],x,DUP] (* derived 2004 June 24 in SBCOMTNT.NB *) fix[U[subcommutant[thinpart[x_]]]] := V (* added 2000 November 21 based on FINITE.NB *) fix[UB[x_]] := complement[fix[composite[complement[x],inverse[E]]]] (* Theorem FP-U in FP1 *) fix[union[x_,y_]] := union[fix[x],fix[y]] (* Theorem FP-V in FP1 *) fix[V] := V (* added 2001 July 17 based on ZN-IMG2.NB *) fix[VERTSECT[ZN]] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) fix[wf[x_]] := 0 (* derived 2004 September 25 in LAMB-WF.NB *) fix[WFPART] := WF (* added 2001 July 12 based on ZN-2.NB *) fix[ZN] := V FIX := IMAGE[inverse[DUP]] flags := Print["cond = ",cond,", equality = ",equality,", simplify = ",simplify,", unsafe = ",unsafe,"\n"] (* rule for eliminating flip: *) (* Theorem SW-FL in SW2 proved 1998 November 2 *) flip[x_] := composite[x,SWAP] (* elimination rule for universal quantifiers *) forall[x__,y_] := not[exists[x,not[y]]] (* definition of full *) full[x_] := subclass[U[x],x] (* Theorem FU-0 in FU2 *) FUNCTION[0] := True (* added 2001 May 10 based on ACLOSURE.NB *) FUNCTION[ACLOSURE] := True (* Theorem ADJ-FU in ADJ proved 1999 March 13 *) FUNCTION[ADJOIN[x_]] := True (* added 1999 October 13 based on ASSOC.1 *) FUNCTION[ASSOC] := True (* Theorem BA-FU in BIGCAP/BA1 *) FUNCTION[BIGCAP] := True (* Theorem BC-5 in BIGCUP/BC *) FUNCTION[BIGCUP] := True (* Theorem CAP-FU proved 1999 August 12 *) FUNCTION[CAP] := True (* added 2001 December 2 based on CARD-FUN.NB *) FUNCTION[CARD] := True (* Theorem CART-FU in CART proved 1999 July 26 *) FUNCTION[CART] := True (* Added 1999 August 15 based on CONSTANT.NB *) FUNCTION[cart[x_,y_]] := or[equal[0,x],subclass[y,complement[image[Di,y]]]] (* added 2001 April 29 based on CLIQUES2.NB *) FUNCTION[CLIQUES] := True (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[COARSER] := False (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[COMMUTE] := False (* added 2002 November 29 based on PLUS.NB *) FUNCTION[complement[image[V,x_]]] := not[equal[0,x]] (* Theorem CPS-FU in COMPOSE-CPS proved 2001 January 16 *) FUNCTION[COMPOSE] := True (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[x_,BIGCAP]] := FUNCTION[composite[Id,x]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[x_,BIGCUP]] := FUNCTION[composite[Id,x]] (* derived 2004 March 23 in ADJECT.NB *) FUNCTION[composite[CUP,id[cart[V,x_]],inverse[FIRST]]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 November 21 in FU-VS.NB *) FUNCTION[composite[Di,x_]] := equal[0,domain[x]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[DUP,x_]] := FUNCTION[composite[Id,x]] (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[composite[x_,FIRST]] := FUNCTION[composite[Id,x]] (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[composite[x_,FIRST,id[y_]]] := FUNCTION[composite[x,id[domain[y]]]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[x_,funpart[y_]]] := FUNCTION[composite[x,id[range[funpart[y]]]]] (* added 2002 December 16 based on EQUIDIFF.NB *) FUNCTION[composite[id[x_],E]] := subclass[cart[x,x],union[DISJOINT,Id]] (* derived 2004 October 2 in CLIQ-EQV.NB *) FUNCTION[composite[id[EQV],inverse[CLIQUES]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) FUNCTION[composite[id[fix[trv[thinpart[x_]]]],inverse[VERTSECT[rfx[trv[thinpart[x_]]]]]]] := subclass[intersection[inverse[rfx[trv[thinpart[x]]]],rfx[trv[thinpart[x]]]],Id] (* added 2002 April 27 based on FULSUC-D.NB *) FUNCTION[composite[id[FULL],inverse[SUCC]]] := True (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[composite[x_,id[image[V,y_]]]] := or[equal[0,y],FUNCTION[composite[Id,x]]] (* added 2002 October 5 based on MUL-OO.NB *) FUNCTION[composite[id[image[V,x_]],y_]] := or[equal[0,x],FUNCTION[composite[Id,y]]] (* derived 2004 June 14 in FU-F-O.NB *) FUNCTION[composite[Id,intersection[y_,complement[composite[Di,intersection[y_,complement[funpart[x_]]]]]]]] := True (* added 1999 August 16: Paulson's Theorem *) FUNCTION[composite[id[x_],inverse[FIRST]]] := FUNCTION[composite[Id,x]] (* added 1999 August 16: Corollary of Paulson's Theorem *) FUNCTION[composite[id[x_],inverse[SECOND]]] := FUNCTION[inverse[x]] (* derived 2005 January 29 in DIV.NB *) FUNCTION[composite[id[omega],inverse[VERTSECT[DIV]]]] := True (* derived 2005 January 29 in DIV.NB *) FUNCTION[composite[id[omega],inverse[VERTSECT[inverse[DIV]]]]] := True (* derived 2004 August 10 in RS-3.NB *) FUNCTION[composite[id[P[cart[V,V]]],inverse[VERTSECT[RESTRICT]]]] := True (* derived 2004 January 6 in VS-OO.NB *) FUNCTION[composite[id[P[cart[V,V]]],inverse[VS]]] := True (* derived 2004 November 18 in XS-IN-AC.NB *) FUNCTION[composite[id[P[cart[V,V]]],inverse[XS]]] := axch (* added 2001 December 19 based on INV-IM.NB *) FUNCTION[composite[id[P[range[funpart[x_]]]],inverse[IMAGE[inverse[funpart[x_]]]]]] := True (* derived 2004 January 4 in VS-IMIN.NB *) FUNCTION[composite[id[range[funpart[x_]]],inverse[VERTSECT[inverse[funpart[x_]]]]]] := True (* added 2003 July 25 based on HULL-Z.NB *) FUNCTION[composite[id[x_],S]] := or[equal[0,x],member[x,range[SINGLETON]]] (* added 2003 July 25 based on HULL-Z.NB *) FUNCTION[composite[id[x_],S,id[complement[set[0]]]]] := subclass[cart[x,x],union[DISJOINT,Id]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[IMAGE[DUP],x_]] := FUNCTION[composite[Id,x]] (* added 2003 October 21 based on LAMHUL-2.NB *) FUNCTION[composite[IMAGE[inverse[S]],inverse[LAMBHULL]]] := True (* added 1999 November 6 based on CART-OO.NB *) FUNCTION[composite[inverse[CAP],inverse[CART]]] := True (* added 1999 November 6 based on CART-DI.NB *) FUNCTION[composite[inverse[CART],id[x_]]] := not[member[0,x]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[x_,inverse[DUP]]] := FUNCTION[composite[Id,x]] (* based on 1999 December 11 notebook CART-DUP.NB *) FUNCTION[composite[inverse[DUP],inverse[CART]]] := True (* derived 2004 November 25 in MAP-DUP.NB *) FUNCTION[composite[inverse[DUP],inverse[MAP]]] := True (* added 2003 May 18 based on SQRTUNIQ.NB *) FUNCTION[composite[inverse[DUP],inverse[NATMUL]]] := True (* added 1999 August 31 based on SESSION2.LOG *) FUNCTION[composite[inverse[FIRST],x_]] := equal[0,domain[x]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[x_,inverse[POWER]]] := FUNCTION[composite[Id,x]] (* added 1999 August 31 based on SESSION2.LOG *) FUNCTION[composite[inverse[SECOND],x_]] := equal[0,domain[x]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[x_,inverse[SINGLETON]]] := FUNCTION[composite[Id,x]] (* Theorem OMSUC-OO in OM3 proved 2000 February 17 *) FUNCTION[composite[inverse[SUCC],id[omega]]] := True (* Theorem ON-5-OO in ON6 proved 1998 May 31 *) FUNCTION[composite[inverse[SUCC],id[OMEGA]]] := True (* added 2002 April 18 based on SUCC.NB *) FUNCTION[composite[inverse[SUCC],id[REGULAR]]] := True (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[LEFT[x_],y_]] := or[FUNCTION[composite[Id,y]],not[member[x,V]]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[oopart[x_],y_]] := FUNCTION[composite[id[domain[oopart[x]]],y]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[POWER,x_]] := FUNCTION[composite[Id,x]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[RCF,x_]] := FUNCTION[composite[Id,x]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[RIGHT[x_],y_]] := or[FUNCTION[composite[Id,y]],not[member[x,V]]] (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[composite[rotate[E],id[cart[x_,V]]]] := subclass[image[IMAGE[id[cart[V,V]]],x],FUNS] (* added 2002 October 6 based on DIVISION.NB *) FUNCTION[composite[rotate[NATMUL],id[cart[V,complement[set[0]]]]]] := True (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[composite[x_,SECOND]] := FUNCTION[composite[Id,x]] (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[composite[x_,SECOND,id[y_]]] := FUNCTION[composite[x,id[range[y]]]] (* derived 2004 November 20 in FU-CO.NB *) FUNCTION[composite[SINGLETON,x_]] := FUNCTION[composite[Id,x]] (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[composite[x_,SWAP]] := FUNCTION[composite[x,id[cart[V,V]]]] (* added 2001 May 2 based on COREHULL.NB *) FUNCTION[CORE[x_]] := True (* Theorem CRS-FU in CROSS proved 2000 August 6 *) FUNCTION[CROSS] := True (* Theorem CUP-FU in CUP1 proved 1999 July 22 *) FUNCTION[CUP] := True (* Theorem SP-DI-FU in SP3 proved 1999 March 25 *) FUNCTION[Di] := False (* added 1999 October 26 based on DIF2.NB *) FUNCTION[DIF] := True (* Theorem SP-DJT-3 in SP3 proved 1999 March 25 *) FUNCTION[DISJOINT] := False (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[DIV] := False (* added 2001 December 18 based on DORA.NB *) FUNCTION[DORA] := True (* Theorem DUP-FU-1 in DUP *) FUNCTION[DUP] := True (* Theorem PSM-E-FU in PSM proved 1998 August 14 *) FUNCTION[E] := False (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[EQUIDIFF] := False (* derived 2004 May 12 in EQUIV.NB *) FUNCTION[EQUIV] := True (* derived 2005 April 16 in FACTRL.NB *) FUNCTION[FACTORIAL] := True (* Theorem 1ST-FU in 1ST *) FUNCTION[FIRST] := True (* added 2000 September 8 based on FUNPART.NB *) FUNCTION[FUNPART] := True (* Theorem FUNPART4 in FU1 proved 1999 July 8 *) FUNCTION[funpart[x_]] := True (* Theorem HC-FU in HC proved 2001 April 6 *) FUNCTION[HC] := True (* derived 2004 September 5 in WF-REC-4.NB *) FUNCTION[history[x_,y_]] := True (* added 2001 May 2 based on COREHULL.NB *) FUNCTION[HULL[x_]] := True (* Theorem ID-4 in ID2 *) FUNCTION[Id] := True (* Theorem IDX-FU in IDX1 *) FUNCTION[id[x_]] := True (* Theorem IMG-FU in IMG2 *) FUNCTION[IMAGE[x_]] := True (* added 2003 August 12 based on RO-ZADD.NB *) FUNCTION[image[inverse[INTADD],set[x_]]] := True (* added 2002 June 18 based on NATSUB.NB *) FUNCTION[image[inverse[NATADD],set[x_]]] := True (* added 1999 December 24 based on SYMDIF-2.NB *) FUNCTION[image[inverse[SYMDIF],set[x_]]] := True (* Theorem MG-FU in MG proved 2000 August 24 *) FUNCTION[IMG] := True (* added 2003 July 25 based on INTADD.NB *) FUNCTION[INTADD] := True (* derived 2003 December 21 in INTADD.NB *) FUNCTION[intadd[x_,y_]] := and[member[x,Z],member[y,Z]] (* added 2003 October 15 based on FUNRULES.NB *) FUNCTION[intersection[x_,complement[image[V,y_]]]] := or[FUNCTION[x],not[equal[0,y]]] (* derived 2004 June 14 in FU-F-O.NB *) FUNCTION[intersection[x_,composite[Di,x_]]] := FUNCTION[composite[Id,x]] (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[intersection[composite[x_,SECOND],rotate[E]]] := FUNCTION[composite[Id,x]] (* added 2003 October 15 based on FUNRULES.NB *) FUNCTION[intersection[x_,image[V,y_]]] := or[equal[0,y],FUNCTION[x]] (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[INVAR] := False (* added 1999 October 12 based on INVERSE.4 *) FUNCTION[INVERSE] := True (* added 1999 October 13 based on ASSOC.1 *) FUNCTION[inverse[ASSOC]] := True (* Theorem DUP-FU-2 in DUP *) FUNCTION[inverse[DUP]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) FUNCTION[inverse[E]] := False (* Theorem IMG1STFU in IMG2 proved 1998 August 15 *) FUNCTION[inverse[FIRST]] := False (* Theorem IDP-OO in IDP proved 1998 December 17 *) FUNCTION[inverse[IMAGE[DUP]]] := True FUNCTION[inverse[IMAGE[FIRST]]] := False (* derived 2004 October 2 in OO-CUT.NB *) FUNCTION[inverse[IMAGE[id[x_]]]] := equal[V,x] (* derived 2004 August 19 in X2901-93.NB *) FUNCTION[inverse[IMAGE[inverse[BIGCUP]]]] := True (* derived 2004 August 19 in X2901-93.NB *) FUNCTION[inverse[IMAGE[inverse[CUP]]]] := True (* derived 2004 October 14 in REFINE.NB *) FUNCTION[inverse[IMAGE[inverse[S]]]] := False (* derived 2004 August 11 in X2911.NB *) FUNCTION[inverse[IMAGE[LEFT[x_]]]] := member[x,V] (* derived 2004 August 19 in X2901-93.NB *) FUNCTION[inverse[IMAGE[POWER]]] := True (* derived 2004 August 19 in X2901-93.NB *) FUNCTION[inverse[IMAGE[RCF]]] := True (* derived 2004 August 11 in X2911.NB *) FUNCTION[inverse[IMAGE[RIGHT[x_]]]] := member[x,V] FUNCTION[inverse[IMAGE[SECOND]]] := False (* Theorem IMG-SGOO in IMG2 proved 1999 August 11 *) FUNCTION[inverse[IMAGE[SINGLETON]]] := True (* added 2002 January 11 based on KURA.NB *) FUNCTION[inverse[KURA]] := True (* added 1999 August 16 based on session OO-L-R *) FUNCTION[inverse[LEFT[x_]]] := True (* rules added 1998 January 22 *) FUNCTION[inverse[LeftPairV]] := True (* derived 2004 May 7 in OOPART.NB *) FUNCTION[inverse[oopart[x_]]] := True (* added 2002 November 29 based on PLUS.NB *) FUNCTION[inverse[PLUS]] := True (* added 2003 August 7 based on PLUS.NB *) FUNCTION[inverse[plus[x_]]] := True (* Theorem POW-OO in POW2 *) FUNCTION[inverse[POWER]] := True (* added 2002 February 4 based on RCF-BIJ *) FUNCTION[inverse[RCF]] := True (* added 1999 August 16 based on session OO-L-R *) FUNCTION[inverse[RIGHT[x_]]] := True FUNCTION[inverse[RightPairV]] := True (* added 1999 August 3 *) FUNCTION[inverse[ROT]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) FUNCTION[inverse[S]] := False (* Theorem IMG2NDFU in IMG2 proved 1998 August 15 *) FUNCTION[inverse[SECOND]] := False (* Theorem SG-FU2 in SG1 *) FUNCTION[inverse[SINGLETON]] := True (* derived 2004 December 31 in IN-RK.NB *) FUNCTION[inverse[thinpart[inverse[funpart[x_]]]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) FUNCTION[inverse[VERTSECT[COARSER]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) FUNCTION[inverse[VERTSECT[inverse[COARSER]]]] := True (* derived 2005 January 1 in ITER-FUN.NB *) FUNCTION[iterate[funpart[x_],y_]] := or[equal[0,y],member[y,range[SINGLETON]]] (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[K] := False (* added 2002 January 11 based on KURA.NB *) FUNCTION[KURA] := True (* added 2003 May 10 based on LAMBHULL.NB *) FUNCTION[LAMBHULL] := True (* added 1999 August 16 based on session OO-L-R *) FUNCTION[LEFT[x_]] := True FUNCTION[LeftPairV] := True (* added 2001 April 27 based on MAP3.NB *) FUNCTION[MAP] := True (* added 2002 June 13 based on FUN-ADD.NB *) FUNCTION[NATADD] := True (* derived 2005 May 17 based on NATMOD.NB *) FUNCTION[NATMOD] := True (* added 2002 June 30 based on NATMUL.NB *) FUNCTION[NATMUL] := True (* derived 2004 May 9 in OOPART.NB *) FUNCTION[OOPART] := True (* derived 2004 May 7 in OOPART.NB *) FUNCTION[oopart[x_]] := True (* added 1999 October 2 based on PAIRSET.6 *) FUNCTION[PAIRSET] := True (* derived 2004 March 4 in PAIRSET.NB *) FUNCTION[set[pair[x_,y_],pair[y_,x_]]] := and[member[x,V],member[y,V]] (* derived 2004 June 13 in X1233.NB *) FUNCTION[set[pair[w_,x_],pair[y_,z_]]] := or[and[equal[x,z],member[w,V],member[x,V],member[y,V]], and[member[w,V],member[x,V],member[y,V],member[z,V],not[equal[w,y]]]] (* added 2002 November 29 based on PLUS.NB *) FUNCTION[PLUS] := True (* added 2003 August 7 based on PLUS.NB *) FUNCTION[plus[x_]] := True (* added 1998 July 18 *) FUNCTION[POWER] := True (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[PS] := False (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[Q] := False (* added 2001 July 12 based on RANK-1.NB *) FUNCTION[RANK] := True (* Theorem RC-FU in RC proved 2001 September 3 *) FUNCTION[RC[x_]] := True (* added 2002 February 3 based on RCF.NB *) FUNCTION[RCF] := True (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[RESTRICT] := False (* added 2001 January 20 based on RIF-2.NB *) FUNCTION[RIF] := True (* added 1999 August 16 based on session OO-L-R *) FUNCTION[RIGHT[x_]] := True FUNCTION[RightPairV] := True (* added 1999 August 2 *) FUNCTION[ROT] := True (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[rotate[composite[inverse[IMAGE[DUP]],E]]] := True (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[rotate[composite[inverse[IMAGE[id[x_]]],E]]] := FUNCTION[composite[Id,x]] (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[rotate[composite[inverse[IMAGE[LEFT[x_]]],E]]] := not[member[x,V]] (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[rotate[composite[inverse[IMAGE[RIGHT[x_]]],E]]] := True (* added 2002 June 15 based on REPLACE.NB *) FUNCTION[rotate[E]] := False (* added 2002 June 15 based on CANCEL.NB *) FUNCTION[rotate[NATADD]] := True (* Theorem ID-SR-FU in ID1 proved 1998 August 14 *) FUNCTION[S] := False (* Theorem 2ND-FU in 2ND *) FUNCTION[SECOND] := True (* derived 2004 November 12 in SETPFUNP.NB *) FUNCTION[setpart[funpart[x_]]] := True (* Theorem SG-FU1 in SG1 *) FUNCTION[SINGLETON] := True (* derived 2004 March 4 in PAIRSET.NB *) FUNCTION[set[x_]] := or[member[first[x],V],not[member[x,V]]] (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[SMALLER] := False (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[SUBCOMMUTE] := False (* added 2000 February 15 based on SUBVAR2.LOG *) FUNCTION[SUBVAR] := True (* Theorem SUC-FU in SUC-RELATION *) FUNCTION[SUCC] := True (* Theorem SW-FU in SW3 *) FUNCTION[SWAP] := True (* added 1999 December 2 based on SYMDIF-2.NB *) FUNCTION[SYMDIF] := True (* added 2000 January 7 based on TCMEMBER.NB *) FUNCTION[TC] := True (* Theorem TW-1 in TWIST proved 1999 July 30 *) FUNCTION[TWIST] := True (* added 2001 May 10 based on UCLOS-1.NB *) FUNCTION[UCLOSURE] := True (* derived 2004 May 4 in CORE-IMS.NB *) FUNCTION[union[cart[complement[x_],set[0]],id[x_]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) FUNCTION[union[cart[complement[x_],set[y_]],composite[VERTSECT[z_],id[x_]]]] := True (* derived 2005 January 7 in CARD-OM.NB *) FUNCTION[union[cart[set[0],set[omega]],composite[inverse[SUCC],id[omega]]]] := True (* derived 2005 January 7 in CARD-OM.NB *) FUNCTION[union[cart[set[omega],set[0]],composite[id[omega],SUCC]]] := True (* added 2003 October 15 based on FUNRULES.NB *) FUNCTION[union[x_,complement[image[V,y_]]]] := and[FUNCTION[x],not[equal[0,y]]] (* added 2003 October 15 based on FUNRULES.NB *) FUNCTION[union[x_,image[V,y_]]] := and[equal[0,y],FUNCTION[x]] (* derived 2004 September 14 in WF-REC-6.NB *) FUNCTION[union[RANK,cart[complement[REGULAR],set[0]]]] := True (* added 2003 June 6 based on FUNCTION.NB *) FUNCTION[V] := False (* added 1999 July 12 based on PROOF.TXT *) FUNCTION[VERTSECT[x_]] := True (* added 2003 June 11 based on VS.NB *) FUNCTION[VS] := True (* derived 2004 September 25 in LAMB-WF.NB *) FUNCTION[WFPART] := True (* derived 2004 November 16 in XS.NB *) FUNCTION[XS] := True (* derived 2004 June 18 in NON-FUNS.NB *) FUNCTION[ZN] := False (* added 1999 September 2 based on FUNPART.LOG *) funpart[cart[x_,y_]] := cart[x,intersection[y,complement[image[Di,y]]]] (* based on a session 1999 July 9 *) funpart[complement[BIGCUP]] := 0 (* based on a session 1999 July 8 *) funpart[complement[E]] := 0 (* based on a session 1999 July 8 *) funpart[complement[inverse[E]]] := 0 (* based on a session 1999 July 8 *) funpart[complement[inverse[PS]]] := 0 (* based on a session 1999 July 8 *) funpart[complement[inverse[S]]] := 0 (* based on a session 1999 July 8 *) funpart[complement[PS]] := cart[set[0],set[0]] (* based on a session 1999 July 8 *) funpart[complement[S]] := 0 (* added 1999 October 24 based on FUNPART.4 *) funpart[composite[Di,x_]] := 0 (* based on a session 1999 July 9 *) funpart[composite[E,x_]] := 0 (* Theorem AP-FUNP2 in AP2 proved 1999 July 9 *) funpart[composite[x_,funpart[y_]]] := composite[funpart[x],funpart[y]] (* based on a session 1999 July 9 *) funpart[composite[Id,x_]] := funpart[x] (* added 2002 May 19 based on FUNP-INE.NB *) funpart[composite[x_,inverse[E]]] := composite[inverse[SINGLETON],IMAGE[x]] (* discovered 1999 December 20 in CANCEL.NB *) funpart[composite[inverse[POWER],S]] := 0 (* added 2002 May 19 based on FUNP-INE.NB *) funpart[composite[inverse[SINGLETON],Di]] := 0 (* based on a session 1999 July 9 *) funpart[composite[S,x_]] := 0 (* derived 2004 May 14 in CROSSFUN.NB *) funpart[cross[x_,y_]] := cross[funpart[x],funpart[y]] (* based on a session 1999 July 8 *) funpart[Di] := 0 (* based on a session 1999 July 8 *) funpart[DISJOINT] := 0 (* based on a session 1999 July 8 *) funpart[E] := 0 (* Theorem FUNPART5 in FU1 proved 1999 July 8 *) funpart[funpart[x_]] := funpart[x] (* derived 2003 December 21 in INTADD.NB *) funpart[intadd[x_,y_]] := intersection[image[V,intersection[Z,set[x]]], image[V,intersection[Z,set[y]]],intadd[x,y]] (* derived 2004 June 14 in FU-F-O.NB *) funpart[intersection[x_,composite[Di,x_]]] := 0 (* added 2002 April 10 based on INVAR.NB *) funpart[INVAR] := 0 (* derived 2005 February 19 in ONE-DIV.NB *) funpart[inverse[DIV]] := cart[set[set[0]],set[set[0]]] (* Theorem FUNP-SG in FU1 proved 1999 July 8 *) funpart[inverse[E]] := inverse[SINGLETON] (* added 1999 September 3 based on FUNPART.LOG *) funpart[inverse[FIRST]] := 0 (* derived 2004 May 9 in OOPART.NB *) funpart[inverse[funpart[x_]]] := inverse[oopart[funpart[x]]] (* based on a session 1999 July 8 *) funpart[inverse[S]] := cart[set[0],set[0]] (* added 1999 September 3 based on FUNPART.LOG *) funpart[inverse[SECOND]] := 0 (* added 2001 July 15 based on FUNPART.NB *) funpart[inverse[ZN]] := 0 (* added 2000 November 16 based on FUNPART.NB *) funpart[K] := 0 (* added 1999 October 24 based on FUNPART.2 *) funpart[omega] := 0 (* added 1999 October 24 based on FUNPART.2 *) funpart[OMEGA] := 0 (* based on a session 1999 July 8 *) funpart[PS] := 0 (* added 2001 July 15 based on FUNPART.NB *) funpart[Q] := cart[set[0],set[0]] (* added 1999 October 24 based on FUNPART.2 *) funpart[REGULAR] := 0 (* added 2000 September 8 based on FUNPART.NB *) funpart[rotate[E]] := composite[inverse[SINGLETON],IMG,cross[Id,SINGLETON]] (* added 1999 September 3 based on FUNPART.LOG *) funpart[S] := 0 (* added 2001 November 13 based on REPLACE.NB *) funpart[set[x_]] := cart[set[first[x]],set[second[x]]] (* derived 2004 May 14 in THINPART.NB *) funpart[thinpart[x_]] := funpart[x] (* added 2000 August 14 based on FUNPART.NB *) funpart[union[x_,y_]] := union[intersection[complement[composite[Di,x]],funpart[y]], intersection[complement[composite[Di,y]],funpart[x]]] (* based on a session 1999 July 8 *) funpart[V] := 0 (* added 2001 July 15 based on FUNPART.NB *) funpart[ZN] := cart[set[0],set[0]] (* added 2000 November 14 based on MAX.NB *) GLB[0] := 0 (* added 2000 November 17 based on CO-ID.NB *) GLB[complement[S]] := 0 (* added 2000 November 17 based on CO-ID.NB *) GLB[composite[Id,x_]] := GLB[x] (* added 2000 November 16 based on RESTRICT.NB*) GLB[composite[id[x_],y_]] := composite[id[x],GLB[y],id[P[x]]] (* added 2000 November 14 based on MAX.NB *) GLB[Di] := 0 (* added 2000 December 3 based on DO-LT.NB *) GLB[DISJOINT] := cart[V,set[0]] (* added 2000 December 3 based on GLB-LUB.NB *) GLB[E] := composite[intersection[S,inverse[E]],BIGCAP] (* added 2000 November 13 based on MAX.NB *) GLB[Id] := inverse[SINGLETON] (* added 2000 December 26 based on UB-ID.NB *) GLB[id[x_]] := composite[id[x],inverse[SINGLETON]] (* added 2000 November 26 based on GLB-LUB.NB *) GLB[intersection[Di,x_]] := 0 (* added 2000 November 13 based on MAX.NB *) GLB[inverse[x_]] := LUB[x] (* added 2000 November 26 based on GLB-LUB.NB *) GLB[PS] := 0 (* added 2000 November 13 based on MAX.NB *) GLB[S] := BIGCAP GLB[V] := cart[V,V] (* added 2004 March 6 based on UB-LEAST.NB *) greatest[x_,y_] := intersection[y,ub[x,y]] (* added 2000 November 13 based on MAX.NB *) GREATEST[0] := 0 (* added 2000 November 17 based on CO-ID.NB *) GREATEST[cart[x_,y_]] := composite[inverse[E],IMAGE[id[y]],id[P[x]]] (* derived 2004 May 8 in GT-C-X.NB *) GREATEST[complement[cross[Di,Id]]] := union[composite[inverse[E],IMAGE[id[complement[cart[V,V]]]]], composite[inverse[E],IMAGE[SWAP],FUNPART,IMAGE[SWAP]]] (* added 2002 April 6 based on SUBST.NB *) GREATEST[complement[cross[Id,Di]]] := union[composite[inverse[E],FUNPART], composite[inverse[E],IMAGE[id[complement[cart[V,V]]]]]] (* added 2000 November 14 based on MAX.NB *) GREATEST[complement[E]] := intersection[DISJOINT,inverse[E]] (* added 2000 December 7 based on GOBACK.NB *) GREATEST[complement[inverse[x_]]] := LEAST[complement[x]] (* added 2000 December 3 based on DO-LT.NB *) GREATEST[complement[S]] := 0 (* added 2002 November 26 based on LT-GT-DI.NB *) GREATEST[composite[Di,inverse[x_]]] := LEAST[composite[x,Di]] (* added 2000 November 17 based on CO-ID.NB *) GREATEST[composite[Id,x_]] := GREATEST[x] (* added 2000 November 16 based on RESTRICT.NB*) GREATEST[composite[id[x_],y_]] := composite[id[x],GREATEST[y]] (* added 2000 November 16 based on RESTRICT.NB*) GREATEST[composite[x_,id[y_]]] := composite[GREATEST[x],id[P[y]]] (* added 2002 November 26 based on LT-GT-DI.NB *) GREATEST[composite[inverse[x_],Di]] := LEAST[composite[Di,x]] (* added 2000 November 14 based on MAX.NB *) GREATEST[Di] := 0 (* added 2000 November 13 based on MAX.NB *) GREATEST[E] := intersection[S,inverse[E]] (* added 2000 December 5 based on DO-GT.NB *) GREATEST[FINITE] := inverse[E] (* added 2000 November 13 based on MAX.NB *) GREATEST[Id] := inverse[SINGLETON] (* added 2000 December 26 based on UB-ID.NB *) GREATEST[id[x_]] := composite[id[x],inverse[SINGLETON]] (* added 2000 November 18 based on GREATEST.NB *) GREATEST[intersection[x_,y_]] := intersection[GREATEST[x],GREATEST[y]] (* added 2000 November 13 based on MAX.NB *) GREATEST[inverse[x_]] := LEAST[x] (* derived 2004 May 2 in REGULAR.NB *) GREATEST[REGULAR] := composite[inverse[E],id[REGULAR]] (* added 2000 November 14 bases on GREATEST.NB *) GREATEST[S] := intersection[BIGCUP,inverse[E]] (* added 2002 November 26 based on LT-GT-CP.NB *) GREATEST[union[cart[x_,y_],composite[inverse[z_],Di]]] := LEAST[union[cart[y,x],composite[Di,z]]] (* added 2002 November 26 based on LT-GT-CP.NB *) GREATEST[union[cart[x_,y_],composite[Di,inverse[z_]]]] := LEAST[union[cart[y,x],composite[z,Di]]] (* added 2002 November 26 based on GREATEST.NB *) GREATEST[union[x_,complement[cart[y_,z_]]]] := union[composite[inverse[E],IMAGE[id[complement[z]]]], GREATEST[union[x,cart[complement[y],V]]]] (* added 2000 November 13 based on MAX.NB *) GREATEST[union[Id,complement[x_]]] := MINIMAL[x] (* derived 2004 July 21 in TOMINMAX.NB *) GREATEST[union[composite[id[y_],complement[x_],id[y_]],id[y_]]] := composite[id[y],MINIMAL[x],id[P[y]]] (* added 2000 November 13 based on MAX.NB *) GREATEST[V] := inverse[E] (* added 2001 March 15 based on H-1.NB *) H[0] := 0 (* Theorem H-5 in H proved 2001 March 14 *) H[H[x_]] := H[x] (* added 2001 March 17 based on TC-I-FUL.NB *) H[intersection[x_,y_]] := intersection[H[x],H[y]] (* added 2001 March 15 based on H-1.NB *) H[P[x_]] := P[H[x]] (* added 2001 March 17 based on TC-I-FUL.NB *) H[REGULAR] := REGULAR (* added 2001 March 17 based on TC-H.NB *) H[tc[x_]] := tc[x] (* derived 2004=5 January 25 in H.NB *) H[union[x_,complement[image[V,y_]]]] := union[complement[image[V,y]],H[x]] (* added 2001 March 17 based on TC-I-FUL.NB *) H[V] := V (* introduced 2004 September 12 in WF-REC-5.NB *) HISTORY[x_,y_] := composite[id[composite[IMAGE[composite[id[x],inverse[FIRST]]],VERTSECT[y]]],inverse[FIRST]] (* derived 2004 September 12 in WF-REC-5.NB *) history[composite[Id,x_],y_] := history[x,y] (* derived 2004 September 12 in WF-REC-5.NB *) history[x_,composite[Id,y_]] := history[x,y] (* added 2001 May 2 based on COREHULL.NB *) HULL[0] := 0 (* derived 2004 March 29 based on HULL.NB *) hull[0,x_] := V (* derived 2004 March 29 based on HULL.NB *) hull[x_,0] := A[x] (* derived 2004 May 4 in REPLACE.NB *) hull[x_,A[x_]] := A[x] (* added 2002 May 6 based on HULL-ACL.NB *) HULL[Aclosure[x_]] := HULL[x] (* derived 2004 March 29 based on HULL.NB *) hull[Aclosure[x_],y_] := hull[x,y] (* added 2003 October 15 based on ACYCLIC.NB *) HULL[ACYCLIC] := id[ACYCLIC] (* derived 2004 March 29 based on HULL.NB *) hull[ACYCLIC,x_] := union[x,complement[image[V,intersection[ACYCLIC,set[x]]]]] (* added 2002 January 17 based on ANTISYM3.NB *) HULL[ANTISYM] := id[ANTISYM] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[BIJ] := id[BIJ] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[cliques[x_]] := id[cliques[x]] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[complement[image[S,x_]]] := id[complement[image[S,x]]] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[FINITE] := id[FINITE] (* added 2002 January 23 based on HULL-ACL.TXT *) HULL[fix[ACLOSURE]] := ACLOSURE (* added 2002 January 18 based on CLIQUES.NB *) HULL[fix[composite[DISJOINT,IMAGE[x_]]]] := id[fix[composite[DISJOINT,IMAGE[x]]]] (* added 2002 January 17 based on CLIQSWAP.NB *) HULL[fix[composite[DISJOINT,INVERSE]]] := id[fix[composite[DISJOINT,INVERSE]]] (* added 2003 September 5 based on FIXHULL.NB *) HULL[fix[HULL[x_]]] := HULL[x] (* added 2002 June 2 based on HER-HULL.NB *) HULL[fix[IMAGE[inverse[S]]]] := IMAGE[inverse[S]] (* added 2002 January 23 based on HULL-UCL.NB *) HULL[fix[UCLOSURE]] := UCLOSURE (* derived 2004 February 25 in HULLUBLB.NB *) HULL[fix[VERTSECT[complement[composite[complement[inverse[x_]],UB[x_]]]]]] := VERTSECT[complement[composite[complement[inverse[x]],UB[x]]]] (* derived 2004 February 25 in HULLUBLB.NB *) HULL[fix[VERTSECT[complement[composite[complement[x_],LB[x_]]]]]] := VERTSECT[complement[composite[complement[x],LB[x]]]] (* added 2001 May 2 based on COREHULL.NB *) HULL[FULL] := TC (* derived 2004 March 29 based on HULL.NB *) hull[FULL,x_] := union[complement[image[V,set[x]]],tc[x]] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[FUNS] := id[FUNS] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[H[FINITE]] := id[H[FINITE]] (* derived 2004 March 29 based on HULL.NB *) hull[x_,hull[x_,y_]] := hull[x,y] (* derived 2004 October 7 in HULL-I.NB *) hull[x_,hull[intersection[x_,y_],z_]] := hull[intersection[x,y],z] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[image[inverse[S],x_]] := id[image[inverse[S],x]] (* revised rule derived 2004 April 25 in HULL-RC.NB *) HULL[image[RC[x_],y_]] := composite[RC[x],CORE[y],id[image[S,y]],RC[x]] (* derived 2004 April 25 in ADJOIN.NB *) HULL[image[S,x_]] := ADJOIN[A[x]] (* derived 2004 April 25 in ADJOIN.NB *) hull[image[S,x_],y_] := union[y,A[x],complement[image[V,set[y]]]] (* added 2001 May 2 based on COREHULL.NB *) HULL[image[S,set[x_]]] := ADJOIN[x] (* derived 2004 March 29 based on HULL.NB *) hull[image[S,set[x_]],y_] := union[x,y,complement[image[V,set[x]]],complement[image[V,set[y]]]] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[image[V,x_]] := id[image[V,x]] (* derived 2004 October 7 in HULL-I.NB *) hull[intersection[x_,y_],hull[x_,z_]] := hull[intersection[x,y],z] (* added 2002 May 5 based on HULL.NB *) HULL[intersection[x_,image[S,set[y_]]]] := composite[HULL[x],ADJOIN[y]] (* added 2001 December 4 based on TC-ON.NB *) HULL[OMEGA] := composite[TC,id[P[OMEGA]]] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[P[x_]] := id[P[x]] (* derived 2004 December 15 in LB-UB-RS.NB *) hull[P[x_],y_] := union[y,complement[image[V,set[y]]],image[V,intersection[y,complement[x]]]] (* added 2001 May 2 based on ADJOIN.NB *) HULL[range[POWER]] := composite[POWER,BIGCUP] (* derived 2004 March 29 based on HULL.NB *) hull[range[POWER],x_] := union[complement[image[V,set[x]]],P[U[x]]] (* added 2003 February 26 based on HULLRASG.NB *) HULL[range[SINGLETON]] := union[cart[set[0],set[0]],id[range[SINGLETON]]] (* added 2001 October 27 based on HULL-IMS.NB *) HULL[REGULAR] := id[REGULAR] (* derived 2004 May 2 in REGULAR.NB *) hull[REGULAR,x_] := union[x,complement[image[V,intersection[REGULAR,set[x]]]]] (* added 2001 May 2 based on COREHULL.NB *) HULL[set[x_]] := cart[P[x],set[x]] (* derived 2004 May 12 in EQUIV.NB *) hull[TRV,composite[Id,setpart[x_]]] := trv[setpart[x]] (* derived 2004 March 29 based on HULL.NB *) hull[union[x_,y_],z_] := intersection[hull[x,z],hull[y,z]] (* derived 2004 March 29 based on HULL.NB *) hull[x_,union[y_,complement[image[V,z_]]]] := union[complement[image[V,z]],hull[x,y]] (* added 2001 May 2 based on COREHULL.NB *) HULL[V] := Id (* derived 2004 March 29 based on HULL.NB *) hull[V,x_] := union[x,complement[image[V,set[x]]]] (* derived 2004 March 29 based on HULL.NB *) hull[x_,V] := V (* added 2003 September 29 based on WF.NB *) HULL[WF] := id[WF] (* Theorem IDX-4 in IDX1 *) id[0] := 0 (* added 2002 May 11 based on PAIR.NB *) id[cart[set[x_],set[y_]]] := cart[cart[set[x],set[y]],cart[set[x],set[y]]] id[fix[composite[x_,DUP]]] := fix[composite[DUP,x]] id[fix[composite[inverse[DUP],x_]]] := fix[composite[x,inverse[DUP]]] (* Theorem IDX-SS-3 in IDX2 proved 1998 May 30 *) id[set[x_]] := cart[set[x],set[x]] (* Theorem IDX-3 in IDX1 *) id[V] := Id (* convenient definition added 1998 August 21 *) IDP := IMAGE[DUP] (* introduced 2004 June 15 in HULIVRSW.NB *) idempotent[x_] := equal[x,composite[x,x]] (* Theorem IM-0' in IM1 *) image[0,x_] := 0 (* see IMG-0 in IMG2.DEM *) IMAGE[0] := cart[V,set[0]] (* Theorem IM-0 in IM1 *) image[x_,0] := 0 (* derived 2004 January 8 in FIN-FU.NB *) image[ACLOSURE,FINITE] := intersection[FINITE,fix[ACLOSURE]] (* derived 2004 January 23 in P-FINITE.NB *) image[ACLOSURE,P[FINITE]] := intersection[fix[ACLOSURE],P[FINITE]] (* added 2001 September 30 based on ACL-3.NB *) image[ACLOSURE,range[POWER]] := range[POWER] (* restored 2001 October 14 based on ACL-1.NB *) image[ACLOSURE,set[x_]] := set[Aclosure[x]] (* Theorem ADJ-IM4 in ADJOIN proved 1999 April 10 *) image[ADJOIN[x_],P[y_]] := intersection[P[union[x,y]],image[S,set[x]]] (* Theorem ADJ-SS in ADJ proved 1999 March 13 *) image[ADJOIN[x_],set[y_]] := set[union[x,y]] (* derived 2004 October 10 in COMPACT0.NB *) image[ADJOIN[set[0]],COMPACT] := intersection[COMPACT,complement[P[complement[set[0]]]]] (* added 2003 September 13 based on UCL-TOPS.NB *) image[ADJOIN[set[0]],complement[set[0]]] := complement[P[complement[set[0]]]] (* derived 2005 January 9 in PC-CARD2.NB *) image[ADJOIN[set[0]],image[SINGLETON,range[SINGLETON]]] := image[POWER,range[SINGLETON]] (* derived 2005 February 16 in BC-OM.NB *) image[ADJOIN[set[0]],omega] := intersection[omega,complement[set[0]]] (* revised 1999 November 30 based on ROT-SWAP.LOG *) image[ASSOC,x_] := composite[SWAP,inverse[rotate[composite[x,SWAP]]]] (* Theorem BA-IM-E in BIGCAP\BA1 proved 1998 December 15 *) image[BIGCAP,complement[P[x_]]] := image[inverse[S],complement[x]] (* Theorem BA-C-REG in BIGCAP/BA1 proved 1999 March 19 *) image[BIGCAP,complement[REGULAR]] := image[V,complement[REGULAR]] (* added 2001 September 30 based on ACL-3.NB *) image[BIGCAP,fix[ACLOSURE]] := V (* added 2001 September 30 based on ACL-3.NB *) image[BIGCAP,fix[UCLOSURE]] := set[0] (* added 2002 January 30 based on ACL-TRV.NB *) image[BIGCAP,image[inverse[BIGCAP],x_]] := x (* derived 2004 April 24 in BA-BC.NB *) image[BIGCAP,image[inverse[BIGCUP],x_]] := image[inverse[S],x] (* added 1998 November 10 *) image[BIGCAP,image[POWER,x_]] := intersection[image[V,x],set[0]] (* 1998 November 11 from SESSION3.LOG *) image[BIGCAP,image[S,set[x_]]] := union[complement[image[V,x]], intersection[image[V,set[x]],P[A[x]]]] (* added 1998 November 10 *) image[BIGCAP,image[SINGLETON,x_]] := x (* added 2002 May 6 based on RA-HULL.NB *) image[BIGCAP,intersection[x_,complement[set[0]]]] := image[BIGCAP,x] (* derived 2005 January 27 in BA-OM.NB *) image[BIGCAP,omega] := set[0] (* Theorem ON-BA3 in ON5 proved 1999 December 30 *) image[BIGCAP,OMEGA] := set[0] (* restored 2001 October 14 based on ACLOS-1.NB *) image[BIGCAP,P[x_]] := Aclosure[x] (* added 1998 August 9 *) image[BIGCAP,range[POWER]] := set[0] image[BIGCAP,range[SINGLETON]] := V (* Theorem BA-IM-SS in BIGCAP/BA1 proved 1998 October 1 *) image[BIGCAP,set[x_]] := intersection[image[V,set[x]],set[A[x]]] (* Theorem FIN-BC4 in FINITE proved 2000 April 6 *) image[BIGCUP,complement[FINITE]] := complement[FINITE] (* Theorem BC-IM-PC in BIGCUP/BC proved 1998 October 6 *) image[BIGCUP,complement[P[x_]]] := image[S,complement[x]] (* Theorem BC-C-REG in BIGCUP/BC proved 1999 March 19 *) image[BIGCUP,complement[REGULAR]] := complement[REGULAR] image[BIGCUP,complement[set[0]]] := V (* Theorem FIN-BC1 in FINITE proved 2000 April 7 *) image[BIGCUP,FINITE] := V (* added 2001 September 30 based on ACL-3.NB *) image[BIGCUP,fix[ACLOSURE]] := V (* added 2001 September 23 based on IM-BC.NB *) image[BIGCUP,fix[IMAGE[inverse[S]]]] := V (* added 2001 September 23 based on IM-BC.NB *) image[BIGCUP,fix[UCLOSURE]] := V (* Theorem FUL-BC-2 in FUL3 added 1998 February 7 *) image[BIGCUP,FULL] := FULL (* Theorem HF-BC in HF proved 2001 March 27 *) image[BIGCUP,H[FINITE]] := H[FINITE] image[BIGCUP,image[IMAGE[SINGLETON],x_]] := x (* derived 2004 April 24 in BA-BC.NB *) image[BIGCUP,image[inverse[BIGCAP],x_]] := image[S,x] (* derived 2004 October 12 in CMPCT-OM.NB *) image[BIGCUP,image[inverse[S],omega]] := omega (* added 1998 November 10 *) image[BIGCUP,image[POWER,x_]] := x (* added 1998 November 10 *) image[BIGCUP,image[S,set[x_]]] := image[S,set[U[x]]] image[BIGCUP,image[SINGLETON,x_]] := x (* Theorem FIN-SC5 in FINITE proved 2000 April 16 *) image[BIGCUP,intersection[FINITE,P[FINITE]]] := FINITE (* added 2002 January 22 based on UCLUCL.NB *) image[BIGCUP,intersection[image[inverse[BIGCUP],y_],P[x_]]] := intersection[y,Uclosure[x]] (* added 2003 June 4 based on LIMITORD.NB *) image[BIGCUP,intersection[invar[SUCC],P[OMEGA]]] := intersection[OMEGA,fix[BIGCUP]] (* derived 2005 February 16 in BC-OM.NB *) image[BIGCUP,intersection[omega,complement[set[0]]]] := omega (* added 2003 June 28 based on IM-BC.NB *) image[BIGCUP,intersection[x_,P[P[y_]]]] := intersection[image[BIGCUP,x],P[y]] (* Theorem POW-BC11 in POW5 proved 1999 January 28 *) image[BIGCUP,intersection[x_,range[POWER]]] := image[inverse[POWER],x] (* Session BC-SG.LOG *) image[BIGCUP,intersection[x_,range[SINGLETON]]] := image[inverse[SINGLETON],x] (* Theorem OM-BC-2 in OM4 proved 1998 September 17 *) image[BIGCUP,omega] := omega (* Theorem ON-PC-4 in ON5 added 1998 February 7 *) image[BIGCUP,OMEGA] := OMEGA (* added 2001 September 22 based on UCL.NB *) image[BIGCUP,P[x_]] := Uclosure[x] (* derived 2003 December 30 in PTCLOSED.NB *) image[BIGCUP,PointClosed] := V (* added 2002 December 17 based on UCL-Z.NB *) image[BIGCUP,range[IMAGE[VERTSECT[x_]]]] := range[IMAGE[x]] (* added 1998 August 9 *) image[BIGCUP,range[POWER]] := V image[BIGCUP,range[SINGLETON]] := V (* Theorem BC-REG-1 in BIGCUP/BC proved 1999 March 4 *) image[BIGCUP,REGULAR] := REGULAR (* Theorem BC-IM-6 in BIGCUP/BC added 1998 August 4 *) image[BIGCUP,set[x_]] := set[U[x]] (* added 2001 September 22 based on UCL.NB *) image[BIGCUP,succ[set[0]]] := set[0] (* derived 2003 December 27 in T1.NB *) image[BIGCUP,T1] := V (* derived 2003 December 30 in T2.NB *) image[BIGCUP,T2] := V (* added 2003 March 18 based on TOPS-IBC.NB *) image[BIGCUP,TOPS] := V (* added 2002 January 19 based on ACLOSURE.NB *) image[CAP,cart[Aclosure[x_],Aclosure[x_]]] := Aclosure[x] (* added 2002 January 19 based on ANTISYM.NB *) image[CAP,cart[ANTISYM,ANTISYM]] := ANTISYM (* derived 2005 January 17 in BIJ-PO.NB *) image[CAP,cart[ANTISYM,image[CART,Id]]] := ANTISYM (* added 2002 January 19 based on ANTISYM.NB *) image[CAP,cart[BIJ,BIJ]] := BIJ (* added 2002 January 19 based on ANTISYM.NB *) image[CAP,cart[cliques[x_],cliques[x_]]] := cliques[x] (* derived 2005 February 6 in IVR-SBV.NB *) image[CAP,cart[DESCENDING,FULL]] := DESCENDING (* derived 2005 February 8 in X1775.NB *) image[CAP,cart[DESCENDING,REGULAR]] := set[0] (* derived 2004 December 27 in CAP-EQV.NB *) image[CAP,cart[EQV,image[CART,Id]]] := EQV (* added 2002 January 19 based on ANTISYM.NB *) image[CAP,cart[FINITE,FINITE]] := FINITE (* derived 2005 February 6 in IVR-SBV.NB *) image[CAP,cart[FULL,DESCENDING]] := DESCENDING (* added 2002 January 19 based on ANTISYM.NB *) image[CAP,cart[FUNS,FUNS]] := FUNS (* derived 2005 January 17 in BIJ-PO.NB *) image[CAP,cart[image[CART,Id],ANTISYM]] := ANTISYM (* derived 2004 December 27 in CAP-EQV.NB *) image[CAP,cart[image[CART,Id],EQV]] := EQV (* derived 2004 March 21 in PO-WRAP.NB *) image[CAP,cart[image[CART,Id],PO]] := PO (* derived 2005 January 16 in FUN-RFX.NB *) image[CAP,cart[image[CART,Id],RFX]] := RFX (* derived 2004 December 27 in CAP-TRV.NB *) image[CAP,cart[image[CART,Id],TRV]] := TRV (* added 2002 January 19 based on ANTISYM.NB *) image[CAP,cart[image[inverse[S],x_], image[inverse[S],x_]]] := image[inverse[S],x] (* derived 2003 December 25 in RC-CUP.NB *) image[CAP,cart[image[RC[x_],FINITE],image[RC[x_],FINITE]]] := image[RC[x],FINITE] (* derived 2004 June 26 in X1650.NB *) image[CAP,cart[intersection[RFX,TRV],PO]] := PO (* Theorem ON-OM-I2 in ON6 proved 2000 March 11 *) image[CAP,cart[omega,omega]] := omega (* added 2001 November 11 based on CHAINS.NB *) image[CAP,cart[OMEGA,OMEGA]] := OMEGA (* added 1999 November 16 based on CAP-CUP.NB *) image[CAP,cart[P[x_],P[y_]]] := P[intersection[x,y]] (* added 2003 March 18 based on INDSCRET.NB *) image[CAP,cart[set[0,x_],set[0,x_]]] := set[0,x] (* derived 2004 March 21 in PO-WRAP.NB *) image[CAP,cart[PO,image[CART,Id]]] := PO (* added 2001 October 9 based on TRV-1.NB *) image[CAP,cart[range[CART],range[CART]]] := range[CART] (* derived 2004 December 27 in CAP-TRV.NB *) image[CAP,cart[range[CART],TRV]] := TRV (* added 2002 January 19 based on ANTISYM.NB *) image[CAP,cart[REGULAR,REGULAR]] := REGULAR (* added 1999 October 5 based on CAP-IMSS.LOG *) image[CAP,cart[set[x_],set[y_]]] := intersection[image[V,set[x]],image[V,set[y]], set[intersection[x,y]]] (* added 1999 October 5 based on ASSOC.2 *) image[CAP,cart[range[SINGLETON],range[SINGLETON]]] := union[range[SINGLETON],set[0]] (* derived 2005 January 16 in FUN-RFX.NB *) image[CAP,cart[RFX,image[CART,Id]]] := RFX (* based on 1999/DEC/16/CAP.NB *) image[CAP,cart[x_,set[y_]]] := intersection[image[V,set[y]],image[IMAGE[id[y]],x]] (* based on 1999/DEC/16/CAP.NB *) image[CAP,cart[set[x_],y_]] := intersection[image[V,set[x]],image[IMAGE[id[x]],y]] (* derived 2005 February 6 in IVR-SBV.NB *) image[CAP,cart[subvar[inverse[thinpart[x_]]],invar[thinpart[x_]]]] := subvar[inverse[thinpart[x]]] (* added 2002 January 19 based on SYM.NB *) image[CAP,cart[SYM,SYM]] := SYM (* derived 2004 December 27 in CAP-TRV.NB *) image[CAP,cart[TRV,image[CART,Id]]] := TRV (* derived 2004 December 27 in CAP-TRV.NB *) image[CAP,cart[TRV,range[CART]]] := TRV (* added 1999 November 2 based on IMAGE.NB *) image[CAP,cart[x_,V]] := image[inverse[S],x] (* added 1999 November 2 based on IMAGE.NB *) image[CAP,cart[V,x_]] := image[inverse[S],x] (* derived 2004 July 20 in X2081.NB *) image[CAP,cart[WO,image[CART,Id]]] := WO (* added 1999 November 6 based on CO-2.LOG *) image[CAP,complement[cart[V,V]]] := 0 (* added 1999 November 17 based on NEWRULES.1 *) image[CAP,composite[Id,x_]] := image[CAP,x] (* derived 2004 November 6 in IMIM-CAP.NB *) image[CAP,composite[id[x_],inverse[S]]] := x (* derived 2004 November 6 in IMIM-CAP.NB *) image[CAP,composite[id[x_],S]] := image[inverse[S],x] (* derived 2004 November 6 in IMIM-CAP.NB *) image[CAP,composite[inverse[S],id[x_]]] := image[inverse[S],x] (* derived 2004 November 6 in IMIM-CAP.NB *) image[CAP,composite[S,id[x_]]] := x (* added 2002 May 5 based on HULL.NB *) image[CAP,CORE[x_]] := Uclosure[x] (* added 2002 May 5 based on HULL.NB *) image[CAP,HULL[x_]] := image[inverse[S],x] (* added 1999 October 30 based on IM-S-DJ.NB *) image[CAP,DISJOINT] := set[0] (* added 1999 October 30 based on IM-S-DJ.NB *) image[CAP,Id] := V (* added 1999 October 30 based on IM-S-DJ.NB *) image[CAP,id[x_]] := x (* added 2001 October 30 based on SYM-CORE.NB *) image[CAP,IMAGE[SWAP]] := SYM (* added 1999 October 28 based on MOREDIF2.NB *) image[CAP,inverse[x_]]:=image[CAP,x] (* derived 2005 January 6 in RCF.NB *) image[CAP,RC[x_]] := intersection[image[V,set[x]],set[0]] (* added 1999 November 17 based on NEWRULES.1 *) image[CAP,S] := V (* added 2001 November 16 *) image[CAP,set[x_]] := set[intersection[first[x],second[x]]] (* added 2002 May 28 based on FINITE.NB *) image[CARD,FINITE] := omega (* added 2002 May 28 based on FINITE.NB *) image[CARD,omega] := omega (* added 2001 December 17 based on Q-HAT.NB *) image[CARD,OMEGA] := fix[CARD] (* derived 2005 January 7 in CARD-ONE.NB *) image[CARD,range[SINGLETON]] := set[set[0]] (* added 2001 December 2 based on CARD-FUN.NB *) image[CARD,set[x_]] := set[card[x]] (* Theorem IM-CP-IM in IM3 *) image[cart[x_,y_],z_] := intersection[y,image[V,intersection[x,z]]] (* added 1998 February 22 *) IMAGE[cart[x_,y_]] := union[cart[P[complement[x]],set[0]], cart[complement[P[complement[x]]],set[y]]] (* added 2001 December 18 based on DORA.NB *) image[CART,cart[complement[set[0]],complement[set[0]]]] := intersection[complement[set[0]],range[CART]] (* Theorem FIN-CP-3 in FINITE proved 2000 September 30 *) image[CART,cart[FINITE,FINITE]] := intersection[FINITE,range[CART]] (* added 1999 October 5 based on CARTIMSS.LOG *) image[CART,cart[set[x_],set[y_]]] := intersection[image[V,set[x]],image[V,set[y]], set[cart[x,y]]] (* added 1999 October 5 based on ASSOC.2 *) image[CART,cart[range[SINGLETON],range[SINGLETON]]] := image[SINGLETON,cart[V,V]] (* discovered 1999 December 16 in CART.NB *) image[CART,cart[x_,set[y_]]] := intersection[image[V,set[y]], image[IMAGE[composite[id[cart[V,y]],inverse[FIRST]]],x]] (* discovered 1999 December 16 in CART.NB *) image[CART,cart[set[x_],y_]] := intersection[image[V,set[x]], image[IMAGE[composite[id[cart[x,V]],inverse[SECOND]]],y]] (* added 1999 November 6 based on CO-1.LOG *) image[CART,composite[Id,x_]] := image[CART,x] (* derived 2004 November 14 in DJ-U.NB *) image[CART,id[image[SINGLETON,x_]]] := image[SINGLETON,id[x]] (* derived 2004 November 14 in DJ-U.NB *) image[CART,id[range[SINGLETON]]] := image[SINGLETON,Id] (* derived 2005 January 17 in CP-PO.NB *) image[CART,id[union[range[SINGLETON],set[0]]]] := union[image[SINGLETON,Id],set[0]] (* added 2002 January 11 based on IMVRULES.NB *) image[w_,cart[x_,intersection[y_,image[V,z_]]]] := intersection[image[V,z],image[w,cart[x,y]]] (* added 2002 January 11 based on IMVRULES.NB *) image[w_,cart[x_,intersection[y_,complement[image[V,z_]]]]] := intersection[complement[image[V,z]],image[w,cart[x,y]]] (* added 2001 October 20 based on UB-LB.NB *) image[CART,LB[LB[x_]]] := intersection[P[x],range[CART]] (* added 1999 November 11 based on 1999/NOV/09/SESSION4.NB *) image[CART,set[0]] := 0 (* added 2001 April 29 based on CLIQUES2.NB *) image[CLIQUES,set[x_]] := intersection[image[V,set[x]],set[cliques[x]]] (* derived 2004 February 7 in COMPACT.NB *) image[COARSER,complement[COMPACT]] := complement[COMPACT] (* derived 2004 February 7 in COMPACT.NB *) image[COARSER,complement[FINITE]] := complement[FINITE] (* derived 2004 February 7 in COMPACT.NB *) image[COARSER,complement[image[COARSER,FINITE]]] := complement[COMPACT] (* derived 2004 February 7 in COMPACT.NB *) image[COARSER,image[COARSER,x_]] := image[COARSER,x] (* derived 2003 December 31 in COARSER.NB *) image[COARSER,P[P[x_]]] := P[P[x]] (* derived 2003 December 30 in PTCLOSED.NB *) image[COARSER,PointClosed] := PointClosed (* derived 2003 December 31 in COARSER.NB *) image[COARSER,range[POWER]] := range[POWER] (* derived 2004 January 2 in COAR-ADJ.NB *) image[COARSER,set[0]] := succ[set[0]] (* derived 2003 December 27 in T1.NB *) image[COARSER,T1] := T1 (* derived 2003 December 30 in T2.NB *) image[COARSER,T2] := T2 (* added 2002 October 29 based on COMMUTE.NB *) image[COMMUTE,P[x_]] := V (* derived 2004 December 21 in COMUTANT.NB *) image[COMMUTE,set[x_]] := intersection[commutant[x],image[V,set[x]]] (* added 2004 February 17 *) image[complement[x_],y_] := complement[ub[x,y]] (* derived 2004 December 20 in IMG-U.NB *) IMAGE[complement[cart[x_,y_]]] := union[cart[intersection[complement[set[0]],P[x]],set[complement[y]]], cart[P[x],intersection[complement[image[V,complement[y]]],set[0]]],cart[set[0],set[0]]] image[x_,complement[domain[x_]]] := 0 (* Theorem IMG-E-C in IMG2 proved 1999 March 26 *) IMAGE[complement[E]] := cart[set[0],set[0]] (* added 2000 April 23 based on FINITE.NB *) IMAGE[complement[FINITE]] := cart[V,set[0]] (* derived 2004 February 17 in SU-IM-C.NB *) image[x_,complement[image[inverse[x_],complement[image[x_,y_]]]]] := image[x,y] (* Theorem IM-C-IMV in IM2 proved 1998 October 8 *) image[x_,complement[image[V,y_]]] := intersection[range[x],complement[image[V,y]]] (* from 1999 January 9 session ABSTRACT.LOG *) IMAGE[complement[inverse[E]]] := cart[set[0],set[0]] (* 1999 March 25 session IMG-ECIN *) IMAGE[complement[inverse[S]]] := cart[set[0],set[0]] (* revised 2002 April 18 based on REPLACE.NB *) IMAGE[complement[S]] := cart[succ[set[0]],set[0]] (* added 2001 November 23 based on BIJ-1.NB *) image[COMPOSE,cart[BIJ,BIJ]] := BIJ (* added 2001 November 23 based on FUN-3.NB *) image[COMPOSE,cart[FUNS,FUNS]] := FUNS (* added 2003 May 31 based on RS-FUNS.NB *) image[COMPOSE,cart[FUNS,P[Id]]] := FUNS (* added 2001 November 23 based on BIJ-1.NB *) image[COMPOSE,cart[image[INVERSE,FUNS],image[INVERSE,FUNS]]] := image[INVERSE,FUNS] (* added 2003 July 25 based on CPS-ZXZ.NB *) image[COMPOSE,cart[image[INVERSE,range[PLUS]],image[INVERSE,range[PLUS]]]] := image[INVERSE,range[PLUS]] (* added 2002 November 29 based on PLUS.NB *) image[COMPOSE,cart[image[INVERSE,range[PLUS]],range[PLUS]]] := Z (* added 1999 December 24 based on COMPOSE.NB *) image[COMPOSE,cart[P[Id],P[Id]]] := P[Id] (* derived 2004 August 11 in RS-4.NB *) image[COMPOSE,cart[P[Id],P[x_]]] := P[composite[Id,x]] (* derived 2004 August 11 in RS-4.NB *) image[COMPOSE,cart[P[x_],P[Id]]] := P[composite[Id,x]] (* added 2003 July 25 based on CPS-ZXZ.NB *) image[COMPOSE,cart[range[PLUS],image[INVERSE,range[PLUS]]]] := image[COMPOSE,cart[Z,Z]] (* added 2002 November 30 based on Z-PLUS.NB *) image[COMPOSE,cart[range[PLUS],range[PLUS]]] := range[PLUS] (* derived 2004 August 11 in RS-4.NB *) image[COMPOSE,cart[RS[x_],P[Id]]] := RS[x] (* derived 2005 December 25 in SELCO-RT.NB *) image[COMPOSE,cart[SELECT,FUNS]] := intersection[SELECT,P[cart[V,V]]] (* derived 2004 November 7 in SEL-RS.NB *) image[COMPOSE,cart[SELECT,P[Id]]] := intersection[SELECT,P[cart[V,V]]] (* added 2002 November 30 based on Z-PLUS.NB *) image[COMPOSE,cart[set[id[x_]],y_]] := intersection[image[V,set[x]],image[IMAGE[id[cart[V,x]]],y]] (* derived 2004 August 10 in RS-3.NB *) image[COMPOSE,cart[set[x_],P[Id]]] := intersection[image[V,set[x]],RS[x]] (* proposed 1999 November 27 based on analogy with rule for IMG *) image[COMPOSE,cart[set[x_],set[y_]]] := intersection[image[V,set[x]],image[V,set[y]],set[composite[x,y]]] (* added 2003 May 31 based on RS-CO.NB *) image[COMPOSE,cart[V,P[Id]]] := P[cart[V,V]] (* derived 2004 December 16 in VS-EQV.NB *) image[COMPOSE,composite[id[FUNS],INVERSE]] := EQV (* derived 2004 December 19 in FUNS-EQV.NB *) image[COMPOSE,composite[id[image[inverse[IMAGE[id[cart[V,V]]]],FUNS]],inverse[IMAGE[SWAP]]]] := EQV (* derived 2004 December 25 in SELCO-LT.NB *) image[COMPOSE,composite[id[SELECT],inverse[IMAGE[SECOND]],inverse[S],IMAGE[FIRST],id[FUNS]]] := intersection[SELECT,P[cart[V,V]]] (* added 2002 January 16 based on IM-CPS.NB *) image[COMPOSE,composite[IMAGE[id[cart[V,V]]],x_]] := image[COMPOSE,x] (* derived 2004 December 18 in QO-FU.NB *) image[COMPOSE,composite[IMAGE[cross[Id,inverse[S]]],id[FUNS],INVERSE]] := intersection[RFX,TRV] (* derived 2004 December 18 in PO-BIJ.NB *) image[COMPOSE,composite[IMAGE[cross[Id,inverse[S]]],INVERSE,id[BIJ]]] := PO (* added 2003 June 8 based on P-ID-FUN.NB *) image[COMPOSE,composite[INVERSE,id[BIJ]]] := P[Id] (* added 2003 June 8 based on P-ID-FUN.NB *) image[COMPOSE,composite[INVERSE,id[FUNS]]] := P[Id] (* added 2002 January 16 based on IM-CPS.NB *) image[COMPOSE,composite[x_,inverse[IMAGE[id[cart[V,V]]]]]] := image[COMPOSE,x] (* added 2002 January 3 based on COMPOSE.NB *) image[COMPOSE,composite[inverse[IMAGE[id[cart[x_,V]]]],inverse[IMAGE[SECOND]], DISJOINT,IMAGE[FIRST],IMAGE[id[cart[V,y_]]]]] := P[union[cart[V,complement[y]],cart[complement[x],V]]] (* added 2001 December 31 based on DORA-DJ.NB *) image[COMPOSE,composite[inverse[IMAGE[SECOND]],DISJOINT,IMAGE[FIRST]]] := set[0] (* added 2002 January 3 based on COMPRULE.NB *) image[COMPOSE,composite[LB[LB[complement[cross[x_,Id]]]],IMAGE[SWAP]]] := P[composite[Id,complement[inverse[x]]]] (* derived 2004 December 19 in QO-IDEM.NB *) image[COMPOSE,id[intersection[RFX,TRV]]] := intersection[RFX,TRV] (* derived 2004 December 19 in QO-IDEM.NB *) image[COMPOSE,id[EQV]] := EQV (* derived 2004 December 19 in QO-IDEM.NB *) image[COMPOSE,id[IDEM]] := IDEM (* added 2003 June 8 based on P-ID-FUN.NB *) image[COMPOSE,id[P[Id]]] := P[Id] (* added 2003 June 8 based on P-ID-FUN.NB *) image[COMPOSE,id[P[id[x_]]]] := P[id[x]] (* derived 2004 December 19 in QO-IDEM.NB *) image[COMPOSE,id[PO]] := PO (* Theorem CO-IM7 in CO3 *) image[composite[x_,y_],z_] := image[x,image[y,z]] (* added 2003 June 15 based on VSCORULE.NB *) IMAGE[composite[BIGCUP,x_]] := composite[IMAGE[BIGCUP],IMAGE[x]] (* added 2003 June 15 based on VSCORULE.NB *) IMAGE[composite[complement[S],x_]] := cart[image[inverse[IMAGE[x]],succ[set[0]]],set[0]] (* Theorem IMG-IDCO in IMG2 proved 1999 March 26 *) IMAGE[composite[Id,z_]] := IMAGE[z] (* added 2003 June 15 based on VSCORULE.NB *) IMAGE[composite[inverse[E],x_]] := composite[BIGCUP,IMAGE[x]] (* added 2003 June 15 based on VSCORULE.NB *) IMAGE[composite[inverse[S],x_]] := composite[IMAGE[inverse[S]],IMAGE[x]] (* added 2003 June 15 based on VSCORULE.NB *) IMAGE[composite[POWER,x_]] := composite[IMAGE[POWER],IMAGE[x]] (* added 2003 June 15 based on VSCORULE.NB *) IMAGE[composite[SINGLETON,x_]] := composite[IMAGE[SINGLETON],IMAGE[x]] (* derived 2004 September 24 in COREDESC.NB *) image[CORE[DESCENDING],REGULAR] := set[0] (* derived 2004 October 4 in REPLACE.NB *) image[CORE[intersection[RFX,SYM]],EQV] := EQV (* derived 2004 October 4 in CORE-EQV.NB *) image[CORE[RFX],EQV] := EQV (* derived 2004 December 18 in RFX-WRAP.NB *) image[CORE[RFX],FUNS] := P[Id] (* derived 2004 December 18 in RFX-WRAP.NB *) image[CORE[RFX],P[Di]] := set[0] (* derived 2004 December 18 in RFX-WRAP.NB *) image[CORE[RFX],P[Id]] := P[Id] (* derived 2004 October 4 in RFSYMCOR.NB *) image[CORE[RFX],RFX] := RFX (* derived 2004 October 4 in RFSYMCOR.NB *) image[CORE[RFX],SYM] := intersection[RFX,SYM] (* derived 2004 December 18 in QO-FU.NB *) image[CORE[RFX],TRV] := intersection[RFX,TRV] (* derived 2004 July 20 in X2081.NB *) image[CORE[RFX],WO] := WO (* derived 2004 April 17 in REPLACE.NB *) image[CORE[x_],set[y_]] := intersection[image[V,set[y]],set[core[x,y]]] (* derived 2004 October 4 in CORE-EQV.NB *) image[CORE[SYM],EQV] := EQV (* derived 2004 October 4 in RFSYMCOR.NB *) image[CORE[SYM],RFX] := intersection[RFX,SYM] (* derived 2004 April 4 in TRV-EQV.NB *) image[CORE[SYM],SYM] := SYM (* derived 2004 April 4 in TRV-EQV.NB *) image[CORE[SYM],TRV] := EQV (* derived 2004 October 4 in RFSYMCOR.NB *) image[CORE[x_],Uclosure[x_]] := Uclosure[x] (* Theorem X-IM-2 in X2 *) image[cross[x_,y_],z_] := composite[y,z,inverse[x]] (* added 2000 September 28 based on CROSS.NB *) image[CROSS,cart[P[complement[cart[V,V]]],V]] := set[0] (* added 1999 October 17 based on CROSS.1 *) image[CROSS,cart[set[x_],set[y_]]] := intersection[ image[V,set[x]],image[V,set[y]],set[cross[x,y]]] (* added 2000 September 28 based on CROSS.NB *) image[CROSS,cart[V,P[complement[cart[V,V]]]]] := set[0] (* added 1999 November 6 based on CO-1.LOG *) image[CROSS,composite[Id,x_]] := image[CROSS,x] (* derived 2004 December 27 in FUN-TRV.NB *) image[CROSS,id[P[Id]]] := image[IMAGE[DUP],image[CART,Id]] (* derived 2005 February 4 in DK-K.NB *) image[CUP,cart[FINITE,DEDEKIND]] := DEDEKIND (* Theorem FIN-CUP2 in FINITE proved 2000 March 22 *) image[CUP,cart[FINITE,FINITE]] := FINITE (* added 2003 September 24 based on PO-FACTS.NB *) image[CUP,cart[fix[HULL[Uclosure[x_]]],fix[HULL[Uclosure[x_]]]]] := fix[HULL[Uclosure[x]]] (* derived 2004 August 7 in IMAGECUP.NB *) image[CUP,cart[FULL,FULL]] := FULL (* added 2000 January 16 based on COMBINOP.NB *) image[CUP,cart[image[SINGLETON,x_],image[SINGLETON,y_]]] := image[PAIRSET,cart[x,y]] (* added 2003 September 18 based on IVR-I-U.NB *) image[CUP,cart[invar[x_],invar[x_]]] := invar[x] (* Theorem ON-OM-U2 in ON6 proved 2000 March 11 *) image[CUP,cart[omega,omega]] := omega (* added 2001 August 12 based on RANK-1.NB *) image[CUP,cart[OMEGA,OMEGA]] := OMEGA (* Theorem CUP-PC-2 in CUP proved 2000 July 21 *) image[CUP,cart[P[x_],P[y_]]] := P[union[x,y]] (* derived 2003 December 25 in TOPSDEFN.NB *) image[CUP,cart[x_,set[y_,z_]]] := union[image[ADJOIN[y],x],image[ADJOIN[z],x]] (* added 2003 September 24 based on PO-FACTS.NB *) image[CUP,cart[PO,P[Id]]] := PO (* added 2003 November 28 based on FIN-IND.NB *) image[CUP,cart[x_,range[SINGLETON]]] := union[image[K,x],intersection[x,complement[set[0]]]] (* derived 2004 January 2 in BNCL-FIN.NB *) image[CUP,cart[range[SINGLETON],x_]] := union[image[K,x],intersection[x,complement[set[0]]]] (* added 1999 October 5 based on ASSOC.2 *) image[CUP,cart[range[SINGLETON],range[SINGLETON]]] := range[PAIRSET] (* added 2002 January 8 based on REGULAR.NB *) image[CUP,cart[REGULAR,REGULAR]] := REGULAR (* added 2003 September 21 based on RFX-CORE.NB *) image[CUP,cart[RFX,RFX]] := RFX (* discovered 1999 December 16 in CUP.NB *) image[CUP,cart[x_,set[y_]]] := image[ADJOIN[y],x] (* discovered 1999 December 16 in CUP.NB *) image[CUP,cart[set[x_],y_]] := image[ADJOIN[x],y] (* added 1999 October 5 based on 1999\OCT\04\CUP-IMSS *) image[CUP,cart[set[x_],set[y_]]] := set[union[x,y]] (* added 2002 January 19 based on SYM.NB *) image[CUP,cart[SYM,SYM]] := SYM (* added 2002 November 20 based on UCL-U.NB *) image[CUP,cart[Uclosure[x_],Uclosure[y_]]] := Uclosure[union[x,y]] (* added 1999 November 2 based on IMAGE.NB *) image[CUP,cart[x_,V]] := image[S,x] (* added 1999 November 2 based on IMAGE.NB *) image[CUP,cart[V,x_]] := image[S,x] (* added 1999 October 28 based on MOREDIF2.NB *) image[CUP,cart[V,set[x_]]] := image[S,set[x]] (* added 1999 November 6 based on CO-2.LOG *) image[CUP,complement[cart[V,V]]] := 0 (* added 1999 November 17 based on NEWRULES.1 *) image[CUP,composite[Id,x_]] := image[CUP,x] (* derived 2004 August 18 in X2812-61.NB *) image[CUP,composite[id[x_],inverse[S],id[y_]]] := intersection[y,image[S,x]] (* derived 2004 August 18 in X2812-61.NB *) image[CUP,composite[id[x_],S,id[y_]]] := intersection[x,image[S,y]] (* derived 2004 June 14 in TP-SYM.NB *) image[CUP,composite[SINGLETON,x_,inverse[SINGLETON]]] := image[PAIRSET,x] (* added 2002 May 5 based on HULL.NB *) image[CUP,CORE[x_]] := V (* added 1999 December 7 based on RESTRICT.NB *) image[CUP,DISJOINT] := V (* added 1999 October 30 based on IM-S-DJ.NB *) image[CUP,Id] := V (* added 1999 October 30 based on IM-S-DJ.NB *) image[CUP,id[x_]] := x (* added 2002 March 12 based on CUP.NB *) image[CUP,image[inverse[CUP],x_]] := x (* derived 2004 June 6 in EQV-TRV.NB *) image[CUP,IMAGE[eqv[x_]]] := invar[eqv[x]] (* derived 2004 June 6 in EQV-TRV.NB *) image[CUP,IMAGE[trv[x_]]] := invar[x] (* derived 2004 June 14 in TP-SYM.NB *) image[CUP,INVERSE] := SYM (* added 1999 October 28 based on MOREDIF2.NB *) image[CUP,inverse[x_]]:=image[CUP,x] (* derived 2005 January 6 in RCF.NB *) image[CUP,RC[x_]] := set[x] (* added 1999 November 17 based on NEWRULES.1 *) image[CUP,S] := V (* added 2001 November 13 based on 1ST-2ND.NB *) image[CUP,set[x_]] := set[union[first[x],second[x]]] (* Theorem IMG-DI in IMG2 proved 1999 March 26 *) IMAGE[Di] := cart[set[0],set[0]] (* added 1999 August 31 based on CP-IM-DI.LOG *) image[Di,cart[x_,y_]] := intersection[complement[cart[complement[image[Di,x]], complement[image[Di,y]]]],image[V,x],image[V,y]] (* 1998 August 25 *) image[Di,complement[A[x_]]] := image[V,x] (* added 1998 November 10 *) image[Di,complement[P[x_]]] := image[V,complement[x]] (* Theorem REG-C-DI in REG2 proved 1999 March 18 *) image[Di,complement[REGULAR]] := image[V,complement[REGULAR]] (* Theorem SP-C-SS in SP3 proved 1998 July 14 *) image[Di,complement[set[x_]]] := V image[Di,Id] := V (* added 1998 November 10 *) image[Di,image[Di,x_]] := image[V,x] (* added 1998 November 10 *) image[Di,image[DISJOINT,x_]] := image[V,x] (* added 1998 November 10 *) image[Di,image[S,x_]] := image[V,x] (* Theorem DI-IM-PC in DI group proved 1998 July 2 *) image[Di,P[x_]] := union[complement[set[0]],image[V,x]] (* added 1999 August 18 based on 3PM.LOG *) image[Di,range[POWER]] := V (* added 1999 August 18 based on 3PM.LOG *) image[Di,range[SINGLETON]] := V (* Theorem REG-DI in REG2 proved 1999 March 4 *) image[Di,REGULAR] := V (* added 1998 July 2 *) image[Di,set[x_]] := intersection[image[V,set[x]], complement[set[x]]] (* added 2003 July 25 based on HULL-Z.NB *) image[Di,Z] := V (* added 1999 November 3 based on ASS-DIF.TXT *) image[DIF,cart[P[x_],image[S,set[y_]]]] := intersection[ image[V,set[y]],P[intersection[x,complement[y]]]] (* added 2000 January 16 based on DIF.NB *) image[DIF,cart[P[x_],P[y_]]] := P[x] (* discovered 1999 December 16 in DIF.NB *) image[DIF,cart[x_,set[y_]]] := intersection[image[V,set[y]],image[IMAGE[id[complement[y]]],x]] (* discovered 1999 December 16 in DIF.NB *) image[DIF,cart[set[x_],y_]] := image[RC[x],image[IMAGE[id[x]],y]] (* added 1999 October 26 based on DIF2.NB *) image[DIF,cart[set[x_],set[y_]]] := intersection[ image[V,set[x]],image[V,set[y]], set[intersection[x,complement[y]]]] (* added 1999 November 2 based on IMAGE.NB *) image[DIF,cart[x_,V]] := image[inverse[S],x] (* added 1999 November 2 based on IMAGE.NB *) image[DIF,cart[V,x_]] := image[DISJOINT,x] (* added 1999 November 6 based on CO-2.LOG *) image[DIF,complement[cart[V,V]]] := 0 (* added 1999 November 6 based on CO-1.LOG *) image[DIF,composite[Id,x_]] := image[DIF,x] (* added 1999 December 6 based on RESTRICT.NB *) image[DIF,DISJOINT] := V (* added 1999 October 30 based on IM-S-DJ.NB *) image[DIF,Id] := set[0] (* added 1999 October 30 based on IM-S-DJ.NB *) image[DIF,id[x_]] := intersection[image[V,x],set[0]] (* added 1999 October 30 based on IM-S-DJ.NB *) image[DIF,inverse[S]] := V (* added 1999 November 17 based on NEWRULES.1 *) image[DIF,S] := set[0] (* Theorem IMG-DJT in IMG2 proved 1999 March 25 *) IMAGE[DISJOINT] := cart[set[0],set[0]] (* added 1998 November 10 *) image[DISJOINT,complement[P[x_]]] := complement[image[S,set[complement[x]]]] (* added 1998 August 23 *) image[DISJOINT,complement[set[0]]] := V (* added 2000 June 2 based on Q-S.NB *) image[DISJOINT,FINITE] := V (* added 2000 January 2 based on DC.NB *) image[DISJOINT,image[COMPOSE,cart[P[x_],P[y_]]]] := V (* added 1999 December 21 based on IMAGEROT.NB *) image[DISJOINT,image[CUP,cart[x_,y_]]] := intersection[image[DISJOINT,x],image[DISJOINT,y]] (* added 1998 November 10 *) image[DISJOINT,image[Di,x_]] := image[V,x] (* added 1998 November 10 *) image[DISJOINT,image[DISJOINT,x_]] := image[V,x] (* added 1998 November 10 *) image[DISJOINT,image[inverse[S],x_]] := image[V,x] (* added 1998 November 10 *) image[DISJOINT,image[S,x_]] := image[DISJOINT,x] (* added 1998 November 10 *) image[DISJOINT,image[SINGLETON,x_]] := complement[image[S,set[x]]] (* Corollary DJT-PC in DJT proved 1999 March 4 *) image[DISJOINT,P[x_]] := V (* added 2002 December 23 based on REPLACE.NB *) image[DISJOINT,range[POWER]] := P[complement[set[0]]] image[DISJOINT,range[SINGLETON]] := V (* Theorem REG-DJT in REG2 proved 1999 March 4 *) image[DISJOINT,REGULAR] := V (* Theorem DJT-IM-3 in DJT proved 1998 August 6 *) image[DISJOINT,set[x_]] := intersection[image[V,set[x]],P[complement[x]]] (* derived 2005 February 22 in DIVRULES.NB *) image[DIV,image[DIV,x_]] := image[DIV,x] (* derived 2005 February 22 in DIVRULES.NB *) image[DIV,intersection[omega,x_]] := image[DIV,x] (* derived 2005 February 22 in PRIMEDIV.NB *) image[DIV,PRIMES] := intersection[omega,complement[set[set[0]]]] (* added 2002 September 2 based on IMAGEDIV.NB *) image[DIV,set[0]] := set[0] (* added 2002 September 2 based on IMAGEDIV.NB *) image[DIV,set[set[0]]] := omega (* Theorem IM-5 in IM2 *) image[x_,domain[x_]] := range[x] (* added 2000 February 5 based on FUNPART.NB *) image[x_,domain[funpart[x_]]] := range[funpart[x]] (* derived 2005 January 26 in REMOVED.NB *) image[x_,domain[VERTSECT[x_]]] := range[thinpart[x]] (* added 2001 December 18 based on DORA.NB *) image[DORA,BIJ] := Q (* added 2001 December 23 based on DORA-3.NB *) image[DORA,EQV] := Id (* derived 2004 December 13 in DORA-FIN.NB *) image[DORA,FINITE] := union[cart[intersection[FINITE,complement[set[0]]], intersection[FINITE,complement[set[0]]]],cart[set[0],set[0]]] (* added 2001 December 23 based on DORA-3.NB *) image[DORA,image[CART,Id]] := union[cart[set[0],set[0]],id[complement[set[0]]]] (* derived 2004 July 26 in IMAGDORA.NB *) image[DORA,image[IMAGE[id[cart[V,V]]],x_]] := image[DORA,x] (* derived 2004 July 26 in IMAGDORA.NB *) image[DORA,image[IMAGE[SWAP],x_]] := inverse[image[DORA,x]] (* derived 2004 January 4 in VS-IMIN.NB *) image[DORA,image[INVERSE,FUNS]] := inverse[image[DORA,FUNS]] (* derived 2004 July 26 in IMAGDORA.NB *) image[DORA,image[inverse[IMAGE[id[cart[V,V]]]],x_]] := image[DORA,intersection[x,P[cart[V,V]]]] (* added 2001 December 22 based on Q-SS.NB *) image[DORA,image[SINGLETON,cart[V,V]]] := cart[range[SINGLETON],range[SINGLETON]] (* added 2002 February 5 based on DORA.NB *) image[DORA,P[cart[x_,y_]]] := union[cart[set[0],set[0]], cart[intersection[complement[set[0]],P[x]], intersection[complement[set[0]],P[y]]]] (* added 2001 December 18 based on DORA.NB *) image[DORA,P[Id]] := Id (* added 2003 May 18 based on ACL-SQ.NB *) image[DORA,P[id[x_]]] := id[P[x]] (* derived 2004 July 26 in IMAGDORA.NB *) image[DORA,PO] := Id (* added 2001 December 23 based on DORA-3.NB *) image[DORA,range[CART]] := union[cart[set[0],set[0]], cart[complement[set[0]],complement[set[0]]]] (* added 2003 February 4 based on PLUS-Q.NB *) image[DORA,range[PLUS]] := cart[set[omega],image[RC[omega],omega]] (* derived 2004 December 13 in DORA-REG.NB *) image[DORA,REGULAR] := union[cart[intersection[REGULAR,complement[set[0]]], intersection[REGULAR,complement[set[0]]]],cart[set[0],set[0]]] (* added 2001 December 23 based on DORA-2.NB *) image[DORA,RFX] := Id (* added 2001 December 18 based on DORA.NB *) image[DORA,set[x_]] := cart[set[domain[x]], intersection[image[V,set[x]],set[range[x]]]] (* added 2001 December 23 based on DORA-2.NB *) image[DORA,SYM] := Id (* added 2001 December 23 based on DORA-3.NB *) image[DORA,TRV] := union[cart[set[0],set[0]], cart[complement[set[0]],complement[set[0]]]] (* Theorem DUP-IDX2 in DUP1 *) image[DUP,x_] := id[x] (* Theorem E-IM4 in E2 and Theorem PC-IM-E3 in PC0 *) image[E,x_] := complement[P[complement[x]]] (* see IMG-E in IMG2.DEM *) IMAGE[E] := cart[set[0],set[0]] (* added 2002 November 3 based on EQUIDIFF.NB *) image[EQUIDIFF,x_] := composite[SECOND, intersection[composite[inverse[NATADD],NATADD], composite[inverse[FIRST],inverse[x],FIRST]],inverse[SECOND]] (* derived 2004 May 12 in EQUIV.NB *) image[EQUIV,set[x_]] := intersection[image[V,set[x]],set[eqv[x]]] (* derived 2004 June 6 in EQV-TRV.NB *) image[eqv[x_],image[eqv[x_],y_]] := image[eqv[x],y] (* derived 2005 April 16 in FACTRL.NB *) image[FACTORIAL,set[0]] := set[set[0]] (* derived 2005 April 16 in FACTRL.NB *) image[FACTORIAL,set[set[0]]] := set[set[0]] (* derived 2005 April 16 in FACTRL.NB *) image[FACTORIAL,set[succ[set[0]]]] := set[succ[set[0]]] (* Theorem FIN-IMV in FINITE proved 2000 April 22 *) image[FINITE,x_] := image[V,x] (* added 2000 April 23 based on FINITE.NB *) IMAGE[FINITE] := cart[set[0],set[0]] (* Theorem 1ST-IM-2 *) image[FIRST,x_] := domain[x] (* added 2000 September 9 based on SBV-2.NB *) image[fix[composite[inverse[SECOND],IMG]],set[x_]] := intersection[fix[IMAGE[x]],image[V,set[x]]] (* added 2000 September 9 based on SBV-2.NB *) image[fix[composite[inverse[SECOND],x_,IMG]],set[y_]] := intersection[fix[composite[x,IMAGE[y]]],image[V,set[y]]] (* derived 2004 July 28 in APPLY.NB *) image[funpart[z_],cart[set[x_],set[y_]]] := set[APPLY[funpart[z],PAIR[x,y]]] (* added 2000 February 5 based on FUNPART.NB *) image[funpart[x_],domain[x_]] := range[funpart[x]] (* added 2001 November 25 based on FUNP-1.NB *) image[FUNPART,FUNS] := FUNS (* added 2001 November 25 based on FUNP-1.NB *) image[FUNPART,P[Id]] := P[Id] (* added 2000 September 8 based on FUNPART.NB *) image[FUNPART,set[x_]] := intersection[image[V,set[x]],set[funpart[x]]] (* added 2003 October 28 based on APPLY.NB *) image[funpart[x_],set[y_]] := set[APPLY[funpart[x],y]] (* derived 2004 February 20 in REPLACE1.NB *) image[GLB[x_],set[0]] := ub[x,V] (* added 2003 January 30 based on OMEGA.NB *) (* variable-free reformulation of Corollary ON-SUC16 in ON7 *) image[GREATEST[composite[Di,SUCC]],omega] := set[0] (* added 2000 December 24 based on LT-CO-S *) image[GREATEST[x_],P[y_]] := intersection[y,fix[x]] (* derived 2004 February 19 in REPLACE2.NB *) image[GREATEST[x_],set[y_]] := intersection[y,image[V,set[y]],ub[x,y]] (* added 2001 March 31 based on HF.NB *) image[HC,FULL] := FULL (* added 2003 January 18 based on HC-TC-OM.NB *) image[HC,omega] := omega (* added 2002 May 4 based on HC-OMEGA.NB *) image[HC,OMEGA] := OMEGA (* added 2002 May 4 based on HC-OMEGA.NB *) image[HC,P[OMEGA]] := OMEGA (* Theorem HC-VS in HC proved 2001 April 6 *) image[HC,set[x_]] := intersection[image[V,set[x]],set[H[x]]] (* added 2001 May 15 based on HULL-1.NB *) image[HULL[x_],complement[image[inverse[S],x_]]] := 0 (* derived 2004 July 16 on TRV-SYM.NB *) image[HULL[EQV],SYM] := EQV (* derived 2004 October 7 in HULL-I.NB *) image[HULL[EQV],TRV] := EQV (* derived 2004 October 7 in HULL-I.NB *) image[HULL[x_],fix[HULL[intersection[x_,y_]]]] := fix[HULL[intersection[x,y]]] (* derived 2004 October 7 in HULL-I.NB *) image[HULL[intersection[x_,y_]],fix[HULL[x_]]] := fix[HULL[intersection[x,y]]] (* revised 2004 March 29 based on HULL.NB *) image[HULL[x_],set[y_]] := set[hull[x,y]] (* derived 2004 October 7 in HULL-I.NB *) image[HULL[SYM],EQV] := EQV (* derived 2004 June 14 in TP-SYM.NB *) image[HULL[SYM],SYM] := SYM (* added 2003 October 15 based on ACYCLIC.NB *) image[HULL[TRV],ACYCLIC] := intersection[TRV,P[Di]] (* derived 2004 October 7 in HULL-I.NB *) image[HULL[TRV],EQV] := EQV (* added 2003 April 8 based on ACY-TRV.NB *) image[HULL[TRV],intersection[TRV,P[Di]]] := intersection[TRV,P[Di]] (* added 2002 February 13 based on HULL-TRV.NB *) image[HULL[TRV],P[composite[Id,x_]]] := image[HULL[TRV],P[x]] (* added 2002 February 13 based on HULL-TRV.NB *) image[HULL[TRV],P[Id]] := P[Id] (* added 2002 February 13 based on HULL-TRV.NB *) image[HULL[TRV],P[id[x_]]] := P[id[x]] (* added 2003 November 6 based on HULL-EQV.NB *) image[HULL[TRV],SYM] := EQV (* added 2003 September 29 based on WF.NB *) image[HULL[TRV],WF] := intersection[TRV,WF] (* added 2003 August 7 based on EQDFHULZ.NB *) image[HULL[Z],Z] := Z (* Theorem ID-5P in ID3 *) image[Id,x_] := x (* see IMG-ID in IMG2.DEM *) IMAGE[Id] := Id (* Theorem IDX-IM-1 in IDX2 *) image[id[x_],y_] := intersection[x,y] (* added 2003 July 16 based on LAMBPAIR.NB *) IMAGE[id[complement[image[V,x_]]]] := union[cart[V,intersection[image[V,x], set[0]]],id[complement[image[V,x]]]] (* added 2003 July 16 based on LAMBPAIR.NB *) IMAGE[id[image[V,x_]]] := union[cart[V,intersection[complement[image[V,x]], set[0]]],id[image[V,x]]] (* added 2001 September 30 based on FP-ACL.NB *) image[IMAGE[BIGCAP],fix[UCLOSURE]] := fix[ACLOSURE] (* added 2001 May 10 based on UCLOS-4.NB *) image[IMAGE[BIGCAP],range[POWER]] := fix[ACLOSURE] (* added 2001 September 30 based on ACL-3.NB *) image[IMAGE[BIGCUP],fix[UCLOSURE]] := fix[UCLOSURE] (* added 2002 January 23 based on IM-IMG.NB *) image[IMAGE[BIGCUP],P[P[x_]]] := P[Uclosure[x]] (* added 2001 October 2 based on ACL-UCL.NB *) image[IMAGE[BIGCUP],P[range[POWER]]] := V image[IMAGE[BIGCUP],P[range[SINGLETON]]] := V (* added 2001 May 10 based on UCLOS-4.NB *) image[IMAGE[BIGCUP],range[POWER]] := fix[UCLOSURE] image[IMAGE[BIGCUP],range[SINGLETON]] := range[SINGLETON] (* added 2001 October 29 based on CARTSQ.NB *) image[IMAGE[CART],P[Id]] := P[image[CART,Id]] (* added 2001 October 29 based on CARTSQ.NB *) image[IMAGE[CART],P[id[x_]]] := P[image[CART,id[x]]] (* derived 2004 August 11 in RS-4.NB *) image[IMAGE[composite[id[cart[V,y_]],inverse[FIRST]]],P[x_]] := RS[cart[x,y]] (* derived 2004 August 9 in RS-2.NB *) image[IMAGE[cross[Id,x_]],P[funpart[y_]]] := RS[composite[x,funpart[y]]] (* derived 2004 August 7 in RS-1.NB *) image[IMAGE[cross[Id,x_]],P[Id]] := RS[x] (* derived 2004 August 9 in RS-2.NB *) image[IMAGE[cross[id[y_],x_]],P[Id]] := RS[composite[x,id[y]]] (* derived 2004 August 9 in RS-2.NB *) image[IMAGE[cross[Id,x_]],P[id[y_]]] := RS[composite[x,id[y]]] (* derived 2004 August 9 in RS-2.NB *) image[IMAGE[cross[Id,x_]],RS[y_]] := RS[composite[x,thinpart[y]]] (* derived 2004 December 7 in ASV-DIV.NB *) image[IMAGE[cross[SECOND,Id]],ASSOCIATIVE] := image[IMAGE[cross[FIRST,Id]],ASSOCIATIVE] (* derived 2004 December 7 in ASV-DIV.NB *) image[IMAGE[cross[SWAP,Id]],ASSOCIATIVE] := ASSOCIATIVE (* derived 2004 July 26 in DORAFUNS.NB *) image[image[DORA,FUNS],set[0]] := set[0] (* derived 2004 January 10 in FIN-IDX.NB *) image[IMAGE[DUP],FINITE] := intersection[FINITE,P[Id]] (* derived 2004 December 21 in SBCOMMUT.NB *) image[IMAGE[DUP],invar[x_]] := intersection[P[Id],subcommutant[x]] (* Theorem IDP-IM-2 in IDP proved 1998 December 17 *) image[IMAGE[DUP],P[x_]] := P[id[x]] image[IMAGE[DUP],range[SINGLETON]] := image[SINGLETON,Id] image[IMAGE[DUP],REGULAR] := P[id[REGULAR]] (* added 2002 November 16 based on INTEGER.NB *) image[IMAGE[EQUIDIFF],Z] := Z (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[FIRST],ANTISYM] := V (* revised 2000 September 9 based on REPLACE.NB *) image[IMAGE[FIRST],BIJ] := V (* derived 2004 December 13 in DORA-EQV.NB *) image[IMAGE[FIRST],EQV] := V (* derived 2004 January 10 in FIN-IDX.NB *) image[IMAGE[FIRST],FINITE] := FINITE image[IMAGE[FIRST],FUNS] := V (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[FIRST],IDEM] := V (* derived 2004 November 13 in AC1-A8.NB *) image[IMAGE[FIRST],image[inverse[DORA],UB[x_]]] := image[inverse[UB[x]],complement[set[0]]] (* added 2000 June 14 based on IMAGE-Q.NB *) image[IMAGE[FIRST],intersection[BIJ,image[inverse[IMAGE[SECOND]],x_]]] := image[Q,x] (* derived 2005 January 31 in X4210.NB *) image[IMAGE[FIRST],intersection[FINITE,FUNS]] := FINITE (* added 2003 May 14 based on LIST-DEF.NB *) image[IMAGE[FIRST],LISTS] := omega (* added 2002 February 5 based on DORA.NB *) image[IMAGE[FIRST],P[cart[x_,y_]]] := union[intersection[image[V,y],P[x]],set[0]] (* added 2001 December 18 based on DORA-RA.NB *) image[IMAGE[FIRST],P[complement[cart[V,V]]]] := set[0] (* derived 2004 August 4 in THIN-RA.NB *) image[IMAGE[FIRST],P[composite[Id,x_]]] := image[IMAGE[FIRST],P[x]] image[IMAGE[FIRST],P[Id]] := V (* added 2003 May 18 based on ACL-SQ.NB *) image[IMAGE[FIRST],P[id[x_]]] := P[x] (* derived 2004 August 4 in THIN-RA.NB *) image[IMAGE[FIRST],P[inverse[x_]]] := image[IMAGE[SECOND],P[x]] (* derived 2004 August 4 in THIN-DO.NB *) image[IMAGE[FIRST],P[thinpart[x_]]] := P[domain[thinpart[x]]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[FIRST],PO] := V (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[FIRST],PROJ] := V (* added 2003 October 21 based on LAMHUL-2.NB *) image[IMAGE[FIRST],range[LAMBHULL]] := fix[IMAGE[inverse[S]]] (* added 2003 May 13 based on DO-RA-Z.NB *) image[IMAGE[FIRST],range[PLUS]] := set[omega] image[IMAGE[FIRST],range[SINGLETON]] := union[range[SINGLETON],set[0]] (* derived 2004 December 13 in DORA-REG.NB *) image[IMAGE[FIRST],REGULAR] := REGULAR (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[FIRST],RFX] := V (* derived 2004 August 10 in RS-3.NB *) image[IMAGE[FIRST],RS[x_]] := P[intersection[domain[x],domain[VERTSECT[x]]]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[FIRST],SYM] := V (* derived 2004 December 13 in DORA-TRV.NB *) image[IMAGE[FIRST],TRV] := V (* added 2003 May 13 based on DO-RA-Z.NB *) image[IMAGE[FIRST],Z] := image[RC[omega],omega] (* derived 2004 August 6 in CONSTANT.NB *) image[IMAGE[funpart[x_]],P[setpart[y_]]] := P[image[funpart[x],setpart[y]]] (* added 2001 May 8 based on MORESAME.NB *) image[IMAGE[id[x_]],BIJ] := intersection[BIJ,P[x]] (* derived 2004 December 7 in ASV-DIV.NB *) image[IMAGE[id[cart[cart[V,V],V]]],ASSOCIATIVE] := ASSOCIATIVE (* derived 2004 August 9 in RS-2.NB *) image[IMAGE[id[cart[x_,V]]],RS[y_]] := RS[composite[y,id[x]]] (* added 2003 October 15 based on ACYCLIC.NB *) image[IMAGE[id[cart[V,V]]],ACYCLIC] := ACYCLIC (* derived 2004 March 14 in WF-WO.NB *) image[IMAGE[id[cart[V,V]]],ANTISYM] := ANTISYM (* derived 2004 December 21 in COMUTANT.NB *) image[IMAGE[id[cart[V,V]]],commutant[x_]] := intersection[commutant[x],P[cart[V,V]]] (* added 2001 October 28 based on EQV.NB *) image[IMAGE[id[cart[V,V]]],EQV] := EQV (* derived 2004 December 14 in IDEMPROJ.NB *) image[IMAGE[id[cart[V,V]]],IDEM] := IDEM (* added 2002 November 30 based on INVERSE.NB *) image[IMAGE[id[cart[V,V]]],image[INVERSE,x_]] := image[INVERSE,x] (* added 2003 October 15 based on ACYCLIC.NB *) image[IMAGE[id[cart[V,V]]],image[inverse[HULL[TRV]],x_]] := image[inverse[HULL[TRV]],x] (* derived 2004 March 14 in WF-WO.NB *) image[IMAGE[id[cart[V,V]]],PO] := PO (* derived 2004 December 14 in IDEMPROJ.NB *) image[IMAGE[id[cart[V,V]]],PROJ] := PROJ (* added 2002 November 30 based on INVERSE.NB *) image[IMAGE[id[cart[V,V]]],range[PLUS]] := range[PLUS] (* added 2001 October 8 based on RFX-IN.NB *) image[IMAGE[id[cart[V,V]]],RFX] := RFX (* derived 2004 December 25 in SELCO-LT.NB *) image[IMAGE[id[cart[V,V]]],SELECT] := intersection[SELECT,P[cart[V,V]]] (* derived 2004 June 24 in SBCOMTNT.NB *) image[IMAGE[id[cart[V,V]]],subcommutant[x_]] := intersection[P[cart[V,V]],subcommutant[x]] (* derived 2004 September 21 in WF-X.NB *) image[IMAGE[id[cart[V,V]]],subvar[cross[x_,y_]]] := subvar[cross[x,y]] (* added 2001 October 10 based on SYM-1.NB *) image[IMAGE[id[cart[V,V]]],SYM] := SYM (* derived 2004 February 10 in TO.NB *) image[IMAGE[id[cart[V,V]]],TO] := TO (* added 2001 October 9 based on TRV-1.NB *) image[IMAGE[id[cart[V,V]]],TRV] := TRV (* derived 2004 March 14 in WF-WO.NB *) image[IMAGE[id[cart[V,V]]],WF] := WF (* derived 2004 March 14 in WF-WO.NB *) image[IMAGE[id[cart[V,V]]],WO] := WO (* added 2001 May 8 based on IMINS.NB *) image[IMAGE[id[x_]],cliques[y_]] := intersection[cliques[y],P[x]] (* derived 2004 October 10 in COMPACT0.NB *) image[IMAGE[id[complement[set[0]]]],COMPACT] := intersection[COMPACT,P[complement[set[0]]]] (* derived 2004 December 27 in TRV-RS.NB *) image[IMAGE[id[composite[Id,x_]]],image[CART,y_]] := image[IMAGE[id[x]],image[CART,y]] (* derived 2004 December 28 in TRV-RS.NB *) image[IMAGE[id[composite[Id,x_]]],range[CART]] := image[IMAGE[id[x]],range[CART]] (* derived 2004 May 4 in ACY-WF.NB *) image[IMAGE[id[Di]],ACYCLIC] := ACYCLIC (* added 2002 January 17 based on ANTISYM2.NB *) image[IMAGE[id[Di]],ANTISYM] := intersection[fix[composite[DISJOINT,INVERSE]],P[Di]] (* added 2002 January 19 based on PO.NB *) image[IMAGE[id[Di]],intersection[ANTISYM,TRV]] := intersection[TRV,P[Di]] (* added 2003 September 24 based on PO-FACTS.NB *) image[IMAGE[id[Di]],PO] := intersection[TRV,P[Di]] (* derived 2004 May 4 in ACY-WF.NB *) image[IMAGE[id[Di]],WF] := WF (* added 2001 May 8 based on IMINS.NB *) image[IMAGE[id[x_]],FINITE] := intersection[FINITE,P[x]] (* added 2001 May 8 based on IMINS.NB *) image[IMAGE[id[x_]],FUNS] := intersection[FUNS,P[x]] (* added 2001 May 8 based on MORESAME.NB *) image[IMAGE[id[x_]],H[FINITE]] := intersection[H[FINITE],P[x]] (* added 2002 November 30 based on CUT.NB *) image[IMAGE[id[x_]],image[IMAGE[id[y_]],z_]] := image[IMAGE[id[intersection[x,y]]],z] (* added 2002 November 30 based on CUT.NB *) image[IMAGE[id[x_]],image[IMAGE[SWAP],y_]] := image[IMAGE[SWAP],image[IMAGE[id[inverse[x]]],y]] (* added 2001 May 8 based on IMINS.NB *) image[IMAGE[id[x_]],image[inverse[S],y_]] := intersection[image[inverse[S],y],P[x]] (* added 2001 August 30 based on BC-BA-RC.NB *) image[IMAGE[id[x_]],image[RC[x_],y_]] := image[RC[x],y] (* derived 2004 January 1 in COFIN-T1.NB *) image[IMAGE[id[x_]],image[SINGLETON,x_]] := image[SINGLETON,x] (* added 2001 August 30 based on RC.NB *) image[IMAGE[id[x_]],intersection[y_,P[x_]]] := intersection[y,P[x]] (* derived 2004 October 29 in A8-SIMP.NB *) image[IMAGE[id[intersection[z_,U[x_]]]],x_] := image[IMAGE[id[z]],x] (* added 2002 June 4 based on CORE.NB *) image[IMAGE[id[omega]],FULL] := succ[omega] (* added 2002 May 4 based on HC-OMEGA.NB *) image[IMAGE[id[OMEGA]],FULL] := OMEGA (* added 2002 May 4 based on HC-OMEGA.NB *) image[IMAGE[id[OMEGA]],OMEGA] := OMEGA (* Theorem CUT-PC in CUT1 proved 1999 April 13 *) image[IMAGE[id[x_]],P[y_]] := P[intersection[x,y]] image[IMAGE[id[x_]],REGULAR] := P[intersection[REGULAR,x]] (* derived 2005 February 10 in X3614.NB *) image[IMAGE[id[RUSSELL]],OMEGA] := OMEGA (* added 2001 April 30 based on CUT-SC.NB *) image[IMAGE[id[U[x_]]],x_] := x (* added 2003 June 24 based on INTERIOR.NB *) image[IMAGE[id[U[t_]]],Uclosure[t_]] := Uclosure[t] (* added 2003 May 24 based on CAPCL-OO.NB *) image[IMAGE[IMAGE[id[x_]]],binclosed[CAP]] := intersection[binclosed[CAP],P[P[x]]] (* derived 2004 January 1 in SUB-T1.NB *) image[IMAGE[IMAGE[id[x_]]],binclosed[CUP]] := intersection[binclosed[CUP],P[P[x]]] (* added 2003 March 16 based on CORE-UCL.NB *) image[IMAGE[IMAGE[id[x_]]],fix[UCLOSURE]] := intersection[fix[UCLOSURE],P[P[x]]] (* derived 2004 January 1 in SUB-T1.NB *) image[IMAGE[IMAGE[id[x_]]],intersection[y_,P[P[x_]]]] := intersection[y,P[P[x]]] (* derived 2004 January 1 in SUB-T1.NB *) image[IMAGE[IMAGE[id[x_]]],T1] := intersection[T1,P[P[x]]] (* added 2003 March 16 based on REL-TOP.NB *) image[IMAGE[IMAGE[id[x_]]],TOPS] := intersection[TOPS,P[P[x]]] (* derived 2005 February 5 in X2894.NB *) image[IMAGE[x_],intersection[y_,P[domain[VERTSECT[x_]]]]] := image[IMAGE[x],y] (* added 2001 May 4 based on PAIRSET.NB *) image[image[inverse[CAP],z_],set[x_]] := intersection[image[V,set[x]],image[inverse[IMAGE[id[x]]],z]] (* added 2001 May 4 based on PAIRSET.NB *) image[image[inverse[CUP],y_],set[x_]] := image[inverse[ADJOIN[x]],y] (* added 1999 December 24 based on ONCEMORE.NB *) image[image[inverse[COMPOSE],x_],set[y_]] := intersection[image[V,set[y]],image[inverse[IMAGE[cross[Id,y]]],x]] (* derived 2004 May 11 in IMG-IMAG.NB *) image[image[inverse[DIF],x_],set[y_]] := image[inverse[IMAGE[id[y]]],image[RC[y],x]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[inverse[DUP]],ANTISYM] := V (* derived 2004 December 13 in BIJ-RA.NB *) image[IMAGE[inverse[DUP]],BIJ] := V (* derived 2004 December 13 in DORA-EQV.NB *) image[IMAGE[inverse[DUP]],EQV] := V (* derived 2004 January 10 in FIN-IDX.NB *) image[IMAGE[inverse[DUP]],FINITE] := FINITE (* added 2003 May 7 based on IM-FUNS.NB *) image[IMAGE[inverse[DUP]],FUNS] := V (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[inverse[DUP]],IDEM] := V (* derived 2004 December 13 in DORA-EQV.NB *) image[IMAGE[inverse[DUP]],image[CART,Id]] := V (* Theorem FIX-IM-3 in FIX1 proved 1998 December 19 *) image[IMAGE[inverse[DUP]],P[x_]] := P[fix[x]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[inverse[DUP]],PO] := V (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[inverse[DUP]],PROJ] := V (* derived 2004 December 13 in DORA-TRV.NB *) image[IMAGE[inverse[DUP]],range[CART]] := V image[IMAGE[inverse[DUP]],range[SINGLETON]] := union[set[0],range[SINGLETON]] image[IMAGE[inverse[DUP]],REGULAR] := REGULAR (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[inverse[DUP]],RFX] := V (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[inverse[DUP]],SYM] := V (* derived 2004 December 13 in DORA-TRV.NB *) image[IMAGE[inverse[DUP]],TRV] := V (* derived 2004 September 25 in LAMB-WF.NB *) image[IMAGE[inverse[DUP]],WF] := set[0] (* added 2000 September 28 based on APPLY.NB *) image[x_,image[inverse[funpart[x_]],y_]] := intersection[y,range[funpart[x]]] (* derived 2004 May 11 in IMG-IMAG.NB *) image[image[inverse[IMG],x_],set[y_]] := intersection[image[V,set[y]],image[inverse[IMAGE[y]],x]] (* derived 2005 March 29 in DIV-SUB.NB *) image[image[inverse[NATADD],image[DIV,set[x_]]],image[DIV,set[x_]]] := image[DIV,set[x]] (* derived 2004 May 11 in IMG-IMAG.NB *) image[image[inverse[NATADD],x_],set[y_]] := image[inverse[plus[y]],x] (* added 2001 December 20 based on Q-POW.NB *) image[IMAGE[inverse[x_]],P[range[x_]]] := range[IMAGE[inverse[x]]] (* added 2000 January 11 based on HER-FIX1.NB *) image[IMAGE[inverse[S]],fix[IMAGE[inverse[S]]]] := fix[IMAGE[inverse[S]]] (* added 2001 September 23 based on IM-BC.NB *) image[IMAGE[inverse[S]],range[POWER]] := range[POWER] (* added 1999 December 2 based on SYMDIF-4.NB *) image[image[inverse[SYMDIF],x_],y_] := image[SYMDIF,cart[x,y]] (* derived 2004 August 6 in CONSTANT.NB *) image[IMAGE[LEFT[x_]],P[y_]] := P[cart[set[x],y]] (* added 2001 December 20 based on Q-POW.NB *) image[IMAGE[x_],P[domain[x_]]] := range[IMAGE[x]] (* added 2002 May 22 based on ITERATE.NB *) image[image[power[x_],z_],y_] := image[iterate[x,y],z] (* added 2002 May 20 based on ITERCOID.NB *) image[IMAGE[x_],range[SINGLETON]] := range[VERTSECT[x]] (* derived 2004 August 6 in CONSTANT.NB *) image[IMAGE[RIGHT[x_]],P[y_]] := P[cart[y,set[x]]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SECOND],ANTISYM] := V (* derived 2004 December 13 in BIJ-RA.NB *) image[IMAGE[SECOND],BIJ] := V (* derived 2004 December 13 in DORA-EQV.NB *) image[IMAGE[SECOND],EQV] := V (* derived 2004 January 10 in FIN-IDX.NB *) image[IMAGE[SECOND],FINITE] := FINITE (* added 2003 May 7 based on IM-FUNS.NB *) image[IMAGE[SECOND],FUNS] := V (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SECOND],IDEM] := V (* derived 2004 July 26 in IMAGDORA.NB *) image[IMAGE[SECOND],intersection[x_,image[inverse[IMAGE[FIRST]],y_]]] := image[image[DORA,x],y] (* added 2002 February 5 based on DORA.NB *) image[IMAGE[SECOND],P[cart[x_,y_]]] := union[intersection[image[V,x],P[y]],set[0]] (* added 2001 December 18 based on DORA-RA.NB *) image[IMAGE[SECOND],P[complement[cart[V,V]]]] := set[0] (* derived 2004 August 4 in THIN-RA.NB *) image[IMAGE[SECOND],P[composite[Id,x_]]] := image[IMAGE[SECOND],P[x]] image[IMAGE[SECOND],P[Id]] := V (* added 2003 May 18 based on ACL-SQ.NB *) image[IMAGE[SECOND],P[id[x_]]] := P[x] (* derived 2004 August 4 in THIN-RA.NB *) image[IMAGE[SECOND],P[inverse[x_]]] := image[IMAGE[FIRST],P[x]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SECOND],PO] := V (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SECOND],PROJ] := V (* added 2003 May 13 based on DO-RA-Z.NB *) image[IMAGE[SECOND],range[PLUS]] := image[RC[omega],omega] image[IMAGE[SECOND],range[SINGLETON]] := union[range[SINGLETON],set[0]] (* derived 2004 December 13 in DORA-REG.NB *) image[IMAGE[SECOND],REGULAR] := REGULAR (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SECOND],RFX] := V (* derived 2004 August 10 in RS-3.NB *) image[IMAGE[SECOND],RS[x_]] := range[IMAGE[x]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SECOND],SYM] := V (* derived 2004 December 13 in DORA-TRV.NB *) image[IMAGE[SECOND],TRV] := V (* added 2003 May 13 based on DO-RA-Z.NB *) image[IMAGE[SECOND],Z] := image[RC[omega],omega] (* Theorem IM-AP2 in IMG2 proved 1999 April 11 *) image[IMAGE[x_],set[y_]] := intersection[set[image[x,y]],image[V,set[y]]] image[IMAGE[SINGLETON],range[SINGLETON]] := image[SINGLETON,range[SINGLETON]] (* added 2003 October 15 based on ACYCLIC.NB *) image[IMAGE[SWAP],ACYCLIC] := ACYCLIC (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SWAP],ANTISYM] := ANTISYM (* Theorem BIJ-4 in BIJ proved 2000 April 25 *) image[IMAGE[SWAP],BIJ] := BIJ (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SWAP],EQV] := EQV (* added 2001 September 7 based on BIJ-NORM.NB *) image[IMAGE[SWAP],FUNS] := image[INVERSE,FUNS] (* derived 2004 December 14 in IDEMPROJ.NB *) image[IMAGE[SWAP],IDEM] := IDEM (* added 2002 November 30 based on CUT.NB *) image[IMAGE[SWAP],image[IMAGE[SWAP],x_]] := image[IMAGE[id[cart[V,V]]],x] (* added 2002 November 30 based on INVERSE.NB *) image[IMAGE[SWAP],image[INVERSE,x_]] := intersection[x,P[cart[V,V]]] (* added 2003 October 7 based on WF-IND.NB *) image[IMAGE[SWAP],intersection[x_,P[cart[V,V]]]] := image[INVERSE,x] (* added 1999 November 6 based on CO-2.LOG *) image[IMAGE[SWAP],P[x_]] := P[inverse[x]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMAGE[SWAP],PO] := PO (* added 2002 November 30 based on INVERSE.NB *) image[IMAGE[SWAP],range[PLUS]] := image[INVERSE,range[PLUS]] (* restored 1999 October 13 based on NEWRULES.1 *) image[IMAGE[SWAP],range[SINGLETON]] := union[image[SINGLETON,cart[V,V]],set[0]] (* added 2001 October 8 based on RFX-IN.NB *) image[IMAGE[SWAP],RFX] := RFX (* derived 2004 September 21 in WF-X.NB *) image[IMAGE[SWAP],subvar[cross[x_,y_]]] := subvar[cross[y,x]] (* added 2001 October 10 based on SYM-1.NB *) image[IMAGE[SWAP],SYM] := SYM (* derived 2004 February 10 in TO.NB *) image[IMAGE[SWAP],TO] := TO (* added 2001 October 9 based on TRV-1.NB *) image[IMAGE[SWAP],TRV] := TRV (* added 2002 November 16 based on INTEGER.NB *) image[IMAGE[SWAP],Z] := Z (* Theorem IM-IM-V2 in IM2 *) image[image[V,x_],y_] := intersection[image[V,x],image[V,y]] (* Theorem IM-IM-V1 in IM2 *) image[x_,image[V,y_]] := intersection[range[x],image[V,y]] (* derived 2004 December 14 in DORA-PID.NB *) image[IMG,cart[ANTISYM,V]] := V (* derived 2004 December 13 in BIJ-RA.NB *) image[IMG,cart[BIJ,V]] := V (* derived 2004 December 13 in DORA-EQV.NB *) image[IMG,cart[EQV,V]] := V (* derived 2004 December 13 in DORA-FIN.NB *) image[IMG,cart[FINITE,V]] := FINITE (* derived 2004 December 13 in BIJ-RA.NB *) image[IMG,cart[FUNS,V]] := V (* derived 2004 December 13 in DORA-EQV.NB *) image[IMG,cart[image[CART,Id],V]] := V (* derived 2005 January 17 in BIJ-PO.NB *) image[IMG,cart[image[CROSS,id[BIJ]],ANTISYM]] := ANTISYM (* derived 2004 December 27 in FUN-TRV.NB *) image[IMG,cart[image[CROSS,id[BIJ]],EQV]] := EQV (* derived 2005 January 17 in BIJ-PO.NB *) image[IMG,cart[image[CROSS,id[BIJ]],PO]] := PO (* derived 2005 January 17 in BIJ-PO.NB *) image[IMG,cart[image[CROSS,id[BIJ]],RFX]] := RFX (* derived 2004 December 27 in FUN-TRV.NB *) image[IMG,cart[image[CROSS,id[BIJ]],TRV]] := TRV (* derived 2004 December 27 in FUN-TRV.NB *) image[IMG,cart[image[CROSS,id[image[INVERSE,FUNS]]],EQV]] := EQV (* derived 2005 January 16 in FUN-RFX.NB *) image[IMG,cart[image[CROSS,id[image[INVERSE,FUNS]]],RFX]] := RFX (* derived 2004 December 27 in FUN-TRV.NB *) image[IMG,cart[image[CROSS,id[image[INVERSE,FUNS]]],TRV]] := TRV (* derived 2004 December 27 in FUN-TRV.NB *) image[IMG,cart[image[IMAGE[DUP],image[CART,Id]],EQV]] := EQV (* derived 2005 January 16 in FUN-RFX.NB *) image[IMG,cart[image[IMAGE[DUP],image[CART,Id]],RFX]] := RFX (* derived 2004 December 27 in FUN-TRV.NB *) image[IMG,cart[image[IMAGE[DUP],image[CART,Id]],TRV]] := TRV (* added 1999 December 25 based on IMG-IDX.TXT *) image[IMG,cart[P[Id],x_]] := image[inverse[S],x] (* derived 2004 December 13 in DORA-REG.NB *) image[IMG,cart[REGULAR,V]] := REGULAR (* discovered 1999 December 16 in IMG.NB *) image[IMG,cart[set[x_],y_]] := intersection[image[V,set[x]],image[IMAGE[x],y]] (* discovered 1999 December 16 in IMG.NB *) image[IMG,cart[x_,set[y_]]] := intersection[image[V,set[y]],image[IMAGE[SECOND],image[IMAGE[id[cart[y,V]]],x]]] (* added 1999 November 26 based on IM-IMG.NB *) image[IMG,cart[set[0],V]] := set[0] (* added 1999 November 14 based on IMG2.NB *) image[IMG,cart[set[x_],set[y_]]] := intersection[image[V,set[x]],image[V,set[y]],set[image[x,y]]] (* derived 2004 December 13 in DORA-TRV.NB *) image[IMG,cart[TRV,V]] := V (* derived 2004 December 14 in IM-IMG.NB *) image[IMG,cart[V,x_]] := union[image[V,intersection[x,complement[set[0]]]],intersection[image[V,x],set[0]]] (* added 1999 November 26 based on IM-IMG.NB *) image[IMG,cart[V,set[0]]] := set[0] (* added 2000 September 28 based on IMG.NB *) image[IMG,composite[DISJOINT,IMAGE[FIRST]]] := set[0] (* added 1999 November 26 based on IM-IMG.NB *) image[IMG,composite[Id,x_]] := image[IMG,x] (* added 1999 November 26 based on IM-IMG.NB *) image[IMG,set[0]] := 0 (* added 2003 August 9 based on INTADDXY.NB *) image[INTADD,cart[set[x_],set[y_]]] := set[intadd[x,y]] image[intersection[x_,y_],z_] := fix[composite[x,id[z],inverse[y]]] image[z_,intersection[x_,complement[domain[z_]]]] := 0 image[z_,intersection[x_,domain[z_]]] := image[z,x] image[x_,intersection[y_,image[V,z_]]] := intersection[image[x,y],image[V,z]] (* added 1998 January 23 *) image[x_,intersection[y_,complement[image[V,z_]]]] := intersection[image[x,y],complement[image[V,z]]] (* added 2002 April 10 based on INVAR.NB *) IMAGE[INVAR] := cart[set[0],set[0]] (* added 2002 April 10 based on INVAR-S.NB *) image[INVAR,P[x_]] := V (* added 2002 April 10 based on INVAR.NB *) image[INVAR,set[x_]] := intersection[image[V,set[x]],invar[x]] (* added 2003 May 23 based on CORE-BCL.NB *) image[inverse[ACLOSURE],binclosed[CAP]] := V (* derived 2004 January 8 in FIN-FU.NB *) image[inverse[ACLOSURE],FINITE] := FINITE (* derived 2004 January 23 in P-FINITE.NB *) image[inverse[ACLOSURE],P[FINITE]] := P[FINITE] (* added 2001 May 10 based on UCLOS-1.NB *) image[inverse[ACLOSURE],set[0]] := set[0] (* added 2003 October 15 based on ACYCLIC.NB *) image[INVERSE,ACYCLIC] := ACYCLIC (* derived 2004 October 10 in COMPACT0.NB *) image[inverse[ADJOIN[set[0]]],COMPACT] := COMPACT (* derived 2003 December 27 in T1.NB *) image[inverse[ADJOIN[set[0]]],T1] := T1 (* derived 2003 December 30 in T2.NB *) image[inverse[ADJOIN[set[0]]],T2] := T2 (* added 2002 January 19 based on INVERSE.NB *) image[INVERSE,ANTISYM] := ANTISYM (* added 1999 October 13 based on SESSION.2 *) image[inverse[ASSOC],x_] := rotate[inverse[x]] (* added 2001 February 24 based on NEW.NB *) IMAGE[inverse[BIGCAP]] := cart[set[0], union[intersection[P[complement[set[0]]], set[set[0]]],set[0]]] (* Theorem FIN-SC7 in FINITE proved 2000 April 16 *) image[inverse[BIGCUP],FINITE] := intersection[FINITE,P[FINITE]] (* Theorem BC-IM-9 in BIGCUP/BC proved 1998 October 25 *) image[inverse[BIGCUP],P[x_]] := P[P[x]] (* Theorem BC-REG-2 in BIGCUP/BC proved 1999 March 4 *) image[inverse[BIGCUP],REGULAR] := REGULAR (* revised 2002 April 18 based on REPLACE.NB *) image[inverse[BIGCUP],set[0]] := succ[set[0]] (* added 2000 September 4 based on NEW.M *) image[INVERSE,BIJ] := BIJ (* added 2002 February 3 based on CUPCLOSED.NB *) IMAGE[inverse[CAP]] := cart[set[0],set[0]] (* added 1999 December 21 based on IMINROT2.NB *) image[inverse[CAP],image[S,x_]] := composite[S,id[x],inverse[S]] (* added 1999 October 8 based on CAP-LOG.1 and CAP-LOG.2 *) image[inverse[CAP],P[x_]] := composite[DISJOINT,IMAGE[id[complement[x]]]] (* added 1999 August 12 based on session DISJOINT.LOG *) image[inverse[CAP],set[0]] := DISJOINT (* added 2002 May 28 based on FINITE.NB *) image[inverse[CARD],FINITE] := FINITE (* added 2002 May 28 based on FINITE.NB *) image[inverse[CARD],omega] := FINITE (* added 2001 December 4 based on ON-WO.NB *) image[inverse[CARD],OMEGA] := image[Q,OMEGA] (* added 2001 December 8 based on EMPTY-2.NB *) image[inverse[CARD],set[0]] := set[0] (* derived 2003 December 22 in LOW-CARD.NB *) image[inverse[CARD],set[set[0]]] := range[SINGLETON] (* derived 2003 December 22 in LOW-CARD.NB *) image[inverse[CARD],set[succ[set[0]]]] := image[PAIRSET,Di] (* added 2003 October 15 based on ACYCLIC.NB *) image[inverse[CART],ACYCLIC] := DISJOINT (* derived 2005 January 17 in CP-PO.NB *) image[inverse[CART],ANTISYM] := union[DISJOINT,image[inverse[CAP],range[SINGLETON]]] (* added 2001 December 22 based on DORA-2.NB *) image[inverse[CART],BIJ] := union[cart[V,set[0]],cart[range[SINGLETON],range[SINGLETON]],cart[set[0],V]] (* added 2001 November 7 based on PAIRSET.NB *) image[inverse[CART],cliques[complement[cross[x_,y_]]]] := union[cart[V,cliques[complement[y]]],cart[cliques[complement[x]],V]] (* added 2001 October 28 based on EQV-I.NB *) image[inverse[CART],EQV] := union[Id,cart[V,set[0]],cart[set[0],V]] (* added 2000 October 1 based on FIN-CART.NB *) image[inverse[CART],FINITE] := union[cart[FINITE,FINITE],cart[V,set[0]],cart[set[0],V]] (* added 2001 December 22 based on DORA-2.NB *) image[inverse[CART],FUNS] := union[cart[V,union[range[SINGLETON],set[0]]],cart[set[0],V]] (* added 1999 December 22 based on IMINROT2.NB *) image[inverse[CART],image[DISJOINT,x_]] := composite[DISJOINT,IMG,id[cart[x,V]],inverse[SECOND]] (* added 1999 December 22 based on IMINROT2.NB *) image[inverse[CART],image[S,x_]] := composite[S,IMAGE[SECOND],id[intersection[x,P[cart[V,V]]]],inverse[IMAGE[FIRST]],inverse[S]] (* added 2000 December 23 based on LB-LB.NB *) image[inverse[CART],P[x_]] := LB[LB[x]] (* derived 2005 January 17 in CP-PO.NB *) image[inverse[CART],PO] := union[cart[V,set[0]],cart[set[0],V],id[range[SINGLETON]]] (* added 2000 July 18 based on SG-CART.NB *) image[inverse[CART],range[SINGLETON]] := cart[range[SINGLETON],range[SINGLETON]] (* added 2001 October 8 based on RFX.NB *) image[inverse[CART],RFX] := union[Id,cart[V,set[0]],cart[set[0],V]] (* derived 2004 August 11 in RS-4.NB *) image[inverse[CART],RS[x_]] := union[cart[V,set[0]],intersection[composite[S,IMAGE[x]],LB[LB[x]]]] (* derived 2004 November 2 in SELECT.NB *) image[inverse[CART],SELECT] := cart[V,V] (* added 1999 October 5 based on CARTINIM.LOG *) image[inverse[CART],set[0]] := union[cart[V,set[0]],cart[set[0],V]] (* added 2001 October 10 based on SYM-1.NB *) image[inverse[CART],SYM] := union[Id,cart[V,set[0]],cart[set[0],V]] (* added 2001 October 9 based on TRV-1.NB *) image[inverse[CART],TRV] := cart[V,V] (* added 2003 October 7 based on WF-IND.NB *) image[inverse[CART],WF] := DISJOINT (* derived 2004 February 7 in COMPACT.NB *) image[inverse[COARSER],COMPACT] := COMPACT (* derived 2004 February 7 in COMPACT.NB *) image[inverse[COARSER],FINITE] := FINITE (* derived 2004 February 17 in SU-IM-C.NB *) image[inverse[x_],complement[image[x_,complement[image[inverse[x_],y_]]]]] := image[inverse[x],y] image[inverse[x_],complement[range[x_]]] := 0 (* derived 2004 November 17 in RS-IN-CO.NB *) image[inverse[COMPOSE],intersection[x_,P[cart[V,V]]]] := image[inverse[COMPOSE],x] (* added 2002 January 3 based on REPLACE.NB *) image[inverse[COMPOSE],P[x_]] := composite[LB[LB[complement[cross[complement[inverse[x]],Id]]]],IMAGE[SWAP]] (* added 1999 December 4 based on COMPOSE.NB *) image[inverse[COMPOSE],set[0]] := composite[inverse[IMAGE[SECOND]],DISJOINT,IMAGE[FIRST]] (* added 2001 October 25 based on COREHULL.NB *) image[inverse[CORE[x_]],P[U[x_]]] := V (* added 2002 January 2 based on CRSRULES.NB *) image[inverse[CROSS],intersection[x_,P[cart[V,V]]]] := image[inverse[CROSS],x] (* added 2002 January 2 based on CRSRULES.NB *) image[inverse[CROSS],P[x_]] := composite[inverse[IMAGE[id[cart[V,V]]]],LB[LB[twist[x]]],IMAGE[id[cart[V,V]]]] (* added 2000 September 28 based on CROSS.NB *) image[inverse[CROSS],set[0]] := union[cart[V,P[complement[cart[V,V]]]],cart[P[complement[cart[V,V]]],V]] (* derived 2004 October 2 in CLIQ-EQV.NB *) image[inverse[CUP],cliques[x_]] := composite[inverse[S],id[cliques[x]],S] (* added 2002 January 8 based on FINITE.NB *) image[inverse[CUP],FINITE] := cart[FINITE,FINITE] (* added 1999 December 21 based on IMINROT2.NB *) image[inverse[CUP],image[DISJOINT,x_]] := composite[DISJOINT,id[x],DISJOINT] (* added 1999 December 21 based on IMINROT2.NB *) image[inverse[CUP],image[inverse[S],x_]] := composite[inverse[S],id[x],S] (* added 1999 December 23 based on IMINRULE.NB *) image[inverse[CUP],image[S,set[x_]]] := composite[S,RC[x],IMAGE[id[x]]] (* added 1999 October 8 based on CUP-LOG.1 *) image[inverse[CUP],P[x_]] := cart[P[x],P[x]] (* added 2002 January 8 based on REGULAR.NB *) image[inverse[CUP],REGULAR] := cart[REGULAR,REGULAR] (* added 1999 December 19 based on RC-5.NB *) image[inverse[CUP],set[x_]] := composite[id[P[x]],S,RC[x]] (* added 1999 December 21 based on IMINROT2.NB *) image[inverse[DIF],image[S,x_]] := composite[DISJOINT,id[x],inverse[S]] (* added 1999 October 26 based on IMIN-DIF.2 *) image[inverse[DIF],P[x_]] := composite[S,IMAGE[id[complement[x]]]] (* added 2001 March 8 based on IMIMG.NB *) image[inverse[DIF],set[x_]] := composite[id[P[complement[x]]],S,IMAGE[id[complement[x]]],id[image[S,set[x]]]] (* derived 2005 February 22 in DIVRULES.NB *) image[inverse[DIV],intersection[omega,x_]] := image[inverse[DIV],x] (* added 2002 September 3 based on DIV-ZERO.NB *) image[inverse[DIV],set[0]] := omega (* added 2002 September 3 based on DIV-ONE.NB *) image[inverse[DIV],set[set[0]]] := set[set[0]] (* derived 2005 January 27 in DIV.NB *) image[inverse[DIV],set[succ[set[0]]]] := set[set[0],succ[set[0]]] (* derived 2005 May 5 in IMIN-DIV.NB *) image[inverse[DIV],succ[nat[x_]]] := omega (* added 2001 December 19 based on INV-DORA.NB *) image[inverse[DORA],cart[x_,y_]] := intersection[image[inverse[IMAGE[FIRST]],x],image[inverse[IMAGE[SECOND]],y]] (* added 2001 December 31 based on DORA-DJ.NB *) image[inverse[DORA],composite[E,inverse[E]]] := complement[image[inverse[DORA],DISJOINT]] (* added 2001 December 18 based on DORA.NB *) image[inverse[DORA],composite[Id,x_]] := image[inverse[DORA],x] (* Theorem DUP-FP-2 in DUP *) image[inverse[DUP],x_] := fix[x] (* Theorem SC-8 in SC1 *) image[inverse[E],x_] := U[x] (* see IMG-BC-3 in IMG4.DEM *) IMAGE[inverse[E]] := BIGCUP (* added 2002 January 19 based on INVERSE.NB *) image[INVERSE,EQV] := EQV (* derived 2005 April 23 in FACT-S.NB *) image[inverse[FACTORIAL],set[0]] := 0 (* Theorem 1ST-IN-2 *) image[inverse[FIRST],x_] := cart[x,V] (* see IMG-1ST in IMG2.DEM *) IMAGE[inverse[FIRST]] := cart[set[0],set[0]] (* derived 2005 January 31 in X4210.NB *) image[inverse[FUNPART],image[inverse[IMAGE[FIRST]],FINITE]] := image[inverse[FUNPART],FINITE] (* derived 2004 November 2 in SELECT.NB *) image[inverse[FUNPART],SELECT] := V (* added 2000 December 15 based on DO-C-FNP.NB *) image[inverse[funpart[x_]],set[y_]] := intersection[complement[image[inverse[x],complement[set[y]]]], image[inverse[x],set[y]]] (* added 2001 May 31 based on SUBVAR.NB *) image[inverse[GREATEST[complement[x_]]],y_] := complement[subvar[union[x,id[complement[y]]]]] (* added 2000 November 19 based on IM-SS.NB *) image[inverse[GREATEST[x_]],set[y_]] := intersection[ complement[P[complement[set[y]]]],P[image[inverse[x],set[y]]]] (* added 2003 February 21 based on IDEMHULL.NB *) image[inverse[HULL[x_]],image[inverse[S],x_]] := image[inverse[S],x] (* added 2003 October 15 based on ACYCLIC.NB *) image[inverse[HULL[TRV]],ACYCLIC] := ACYCLIC (* added 2003 October 15 based on ACYCLIC.NB *) image[inverse[HULL[TRV]],P[Di]] := ACYCLIC (* added 2003 October 15 based on ACYCLIC.NB *) image[inverse[HULL[TRV]],P[union[Di,complement[cart[V,V]]]]] := ACYCLIC (* added 2003 September 29 based on WF.NB *) image[inverse[HULL[TRV]],WF] := WF (* derived 2004 December 14 in IDEMPROJ.NB *) image[INVERSE,IDEM] := IDEM (* added 2003 May 3 based on SQUARE.NB *) image[INVERSE,image[CART,x_]] := image[CART,inverse[x]] (* added 2003 July 25 based on CPS-ZXZ.NB *) image[INVERSE,image[COMPOSE,cart[x_,y_]]] := image[COMPOSE,cart[image[IMAGE[SWAP],y],image[IMAGE[SWAP],x]]] (* added 2002 November 17 based on CLIQ-DJ.NB *) image[inverse[IMAGE[composite[id[E],inverse[SECOND]]]],FUNS] := cliques[union[DISJOINT,Id]] (* derived 2004 September 30 in EQV-THNP.NB *) image[inverse[IMAGE[composite[id[eqv[x_]],inverse[FIRST]]]],EQV] := invar[eqv[x]] (* derived 2004 December 6 in FIN-CP.NB *) image[inverse[IMAGE[composite[id[inverse[E]],inverse[FIRST]]]],FINITE] := intersection[FINITE,P[FINITE]] (* derived 2004 September 30 in EQV-THNP.NB *) image[inverse[IMAGE[composite[id[trv[x_]],inverse[FIRST]]]],TRV] := P[domain[VERTSECT[trv[x]]]] (* derived 2004 July 26 in DORAFUNS.NB *) image[inverse[image[DORA,FUNS]],set[0]] := set[0] (* derived 2004 December 21 in COMUTANT.NB *) image[inverse[IMAGE[DUP]],commutant[x_]] := intersection[invar[x],invar[inverse[x]]] (* derived 2004 January 10 in FIN-IDX.NB *) image[inverse[IMAGE[DUP]],FINITE] := FINITE (* added 2002 February 9 based on IDEM.NB *) image[inverse[IMAGE[DUP]],PROJ] := V (* derived 2004 January 13 in RA-RCF.NB *) image[inverse[IMAGE[DUP]],range[RCF]] := set[set[0]] (* added 2001 October 8 based on RFX-ID.NB *) image[inverse[IMAGE[DUP]],RFX] := V (* derived 2004 November 16 in XS.NB *) image[inverse[IMAGE[DUP]],SELECT] := V (* derived 2004 June 24 in SBCOMTNT.NB *) image[inverse[IMAGE[DUP]],subcommutant[x_]] := invar[x] (* added 2001 October 10 based on SYM-1.NB *) image[inverse[IMAGE[DUP]],SYM] := V (* derived 2005 January 15 in TO-ID.NB *) image[inverse[IMAGE[DUP]],TO] := union[range[SINGLETON],set[0]] (* added 2001 October 9 based on TRV-1.NB *) image[inverse[IMAGE[DUP]],TRV] := V (* derived 2005 January 5 in WO-ID.NB *) image[inverse[IMAGE[DUP]],WO] := union[range[SINGLETON],set[0]] (* derived 2004 December 21 in COMUTANT.NB *) image[inverse[IMAGE[id[cart[V,V]]]],commutant[x_]] := commutant[x] (* added 2002 January 17 based on CLIQSWAP.NB *) image[inverse[IMAGE[id[cart[V,V]]]],fix[composite[DISJOINT,IMAGE[SWAP]]]] := fix[composite[DISJOINT,IMAGE[SWAP]]] (* added 2003 April 30 based on SCARTDUP.NB *) image[inverse[IMAGE[id[cart[V,V]]]], fix[composite[S,CART,DUP,IMAGE[FIRST]]]] := fix[composite[S,CART,DUP,IMAGE[FIRST]]] (* added 2003 April 30 based on SCARTDUP.NB *) image[inverse[IMAGE[id[cart[V,V]]]], fix[composite[S,CART,DUP,IMAGE[SECOND]]]] := fix[composite[S,CART,DUP,IMAGE[SECOND]]] (* added 2000 September 22 based on REMOVED2.NB *) image[inverse[IMAGE[id[cart[V,V]]]],image[INVERSE,x_]] := image[inverse[IMAGE[SWAP]],x] (* derived 2004 November 2 in SELECT.NB *) image[inverse[IMAGE[id[cart[V,V]]]],SELECT] := SELECT (* derived 2004 June 24 in SBCOMTNT.NB *) image[inverse[IMAGE[id[cart[V,V]]]],subcommutant[x_]] := subcommutant[x] (* added 2001 October 10 based on SYM-1.NB *) image[inverse[IMAGE[id[cart[V,V]]]],SYM] := invar[SWAP] (* derived 2004 October 10 in COMPACT0.NB *) image[inverse[IMAGE[id[complement[set[0]]]]],COMPACT] := COMPACT (* added 2002 January 17 based on ANTISYM2.NB *) image[inverse[IMAGE[id[Di]]],fix[composite[DISJOINT,INVERSE]]] := image[inverse[IMAGE[id[cart[V,V]]]],ANTISYM] (* added 2002 January 19 based on PO.NB *) image[inverse[IMAGE[id[Di]]],RFX] := P[union[Id,complement[cart[V,V]]]] (* added 2002 January 19 based on TRV-DI.NB *) image[inverse[IMAGE[id[Di]]],TRV] := image[inverse[IMAGE[id[cart[V,V]]]],intersection[ANTISYM,TRV]] (* added 2001 November 7 based on PAIRSET.NB *) image[inverse[IMAGE[id[x_]]],image[inverse[IMAGE[id[y_]]],z_]] := image[inverse[IMAGE[id[intersection[x,y]]]],z] (* added 2002 January 2 based on CRSRULES.NB *) image[inverse[IMAGE[id[x_]]],intersection[y_,P[x_]]] := image[inverse[IMAGE[id[x]]],y] (* From 1999 April 10 SESSION2.LOG *) image[inverse[IMAGE[id[x_]]],set[y_]] := intersection[complement[image[V,intersection[y,complement[x]]]], image[S,set[y]],P[union[y,complement[x]]]] (* added 2001 September 7 based on BIJ-NORM.NB *) image[INVERSE,image[INVERSE,x_]] := intersection[x,P[cart[V,V]]] (* added 2001 March 5 based on K-SS.NB *) image[inverse[image[inverse[DIF],x_]],set[y_]] := intersection[image[V,set[y]],image[inverse[IMAGE[id[complement[y]]]],x]] (* derived 2005 January 19 in GRAPH.NB *) image[inverse[IMAGE[inverse[PAIRSET]]],SYM] := V (* derived 2004 October 17 in CMPCTCOA.NB *) image[inverse[IMAGE[inverse[S]]],FINITE] := intersection[FINITE,P[FINITE]] (* added 1999 December 25 based on HERED.NB *) image[inverse[IMAGE[inverse[S]]],fix[IMAGE[inverse[S]]]] := V (* Corollary of Theorem IMG-DJ-2 in IMG2 proved 1998 September 17 *) image[inverse[IMAGE[x_]],P[y_]] := intersection[P[domain[VERTSECT[x]]], P[complement[image[inverse[x],complement[y]]]]] image[inverse[IMAGE[z_]],set[0]] := P[complement[domain[z]]] (* derived 2003 December 28 in PTCLOSED.NB *) image[inverse[IMAGE[SINGLETON]],succ[set[0]]] := set[0] (* added 2003 October 15 based on ACYCLIC.NB *) image[inverse[IMAGE[SWAP]],ACYCLIC] := image[inverse[IMAGE[id[cart[V,V]]]],ACYCLIC] (* added 2001 February 8 based on CLIQUES2.NB *) image[inverse[IMAGE[SWAP]],cliques[complement[cross[x_,y_]]]] := cliques[complement[cross[y,x]]] (* added 2003 April 30 based on SCARTDUP.NB *) image[inverse[IMAGE[SWAP]], fix[composite[S,CART,DUP,IMAGE[FIRST]]]] := fix[composite[S,CART,DUP,IMAGE[SECOND]]] (* added 2003 April 30 based on SCARTDUP.NB *) image[inverse[IMAGE[SWAP]], fix[composite[S,CART,DUP,IMAGE[SECOND]]]] := fix[composite[S,CART,DUP,IMAGE[FIRST]]] (* added 2001 May 15 based on BIJ.NB *) image[inverse[IMAGE[SWAP]],image[inverse[IMAGE[id[cart[V,V]]]],x_]] := image[inverse[IMAGE[SWAP]],x] (* derived 2004 December 21 in COMUTANT.NB *) image[inverse[IMAGE[SWAP]],image[inverse[IMAGE[SWAP]],x_]] := image[inverse[IMAGE[id[cart[V,V]]]],x] (* derived 2004 June 17 in X1366.NB *) image[inverse[IMAGE[SWAP]],invar[cross[x_,y_]]] := invar[cross[y,x]] (* added 2002 February 9 based on IDEM-BIJ.NB *) image[inverse[IMAGE[SWAP]],invar[composite[DUP,FIRST]]] := invar[composite[DUP,SECOND]] (* added 2002 February 9 based on IDEM-BIJ.NB *) image[inverse[IMAGE[SWAP]],invar[composite[DUP,SECOND]]] := invar[composite[DUP,FIRST]] (* added 2001 October 8 based on RFX-IN.NB *) image[inverse[IMAGE[SWAP]],RFX] := image[inverse[IMAGE[id[cart[V,V]]]],RFX] (* added 2001 October 10 based on SYM-1.NB *) image[inverse[IMAGE[SWAP]],SYM] := invar[SWAP] (* added 2001 October 9 based on TRV-1.NB *) image[inverse[IMAGE[SWAP]],TRV] := image[inverse[IMAGE[id[cart[V,V]]]],TRV] (* added 1999 November 26 based on IMIN-IMG.NB *) image[inverse[IMG],P[x_]] := composite[DISJOINT,IMAGE[FIRST],IMAGE[id[cart[V,complement[x]]]]] (* added 1999 November 26 based on IMIN-IMG.NB *) image[inverse[IMG],set[0]] := composite[DISJOINT,IMAGE[FIRST]] (* added 2003 August 12 based on RO-ZADD.NB *) image[inverse[INTADD],set[id[omega]]] := composite[id[Z],INVERSE] image[inverse[x_],intersection[y_,complement[range[x_]]]] := 0 (* added 2002 December 19 based on SUC-Z.NB *) image[INVERSE,invar[cross[x_,y_]]] := intersection[invar[cross[y,x]],P[cart[V,V]]] (* added 2002 May 1 based on INVAR-V.NB *) image[inverse[INVAR],range[SINGLETON]] := V (* added 2002 April 10 based on INVAR-S.NB *) image[inverse[INVAR],set[x_]] := intersection[image[V,set[x]],P[complement[cart[x,complement[x]]]]] (* derived 2005 February 4 in DK-K.NB *) image[inverse[K],DEDEKIND] := DEDEKIND (* Theorem FIN-K-IN in FINITE proved 2000 May 30 *) image[inverse[K],FINITE] := FINITE (* added 2000 May 16 based on K-SR.NB *) image[inverse[K],set[0]] := 0 (* derived 2005 January 31 in X4210.NB *) image[inverse[LAMBHULL],FINITE] := intersection[FINITE,P[FINITE]] (* added 2003 June 9 based on BOUNDED.NB *) image[inverse[LB[x_]],domain[VERTSECT[x_]]] := image[inverse[S],range[VERTSECT[x]]] (* added 2000 November 19 based on IM-SS.NB *) image[inverse[LB[x_]],set[y_]] := intersection[image[V,set[y]],P[image[x,set[y]]]] (* added 2002 June 26 based on REIFY.NB *) image[inverse[LEAST[complement[x_]]],y_] := complement[subvar[union[id[complement[y]],inverse[x]]]] (* added 2000 November 19 based on IM-SS.NB *) image[inverse[LEAST[x_]],set[y_]] := intersection[ complement[P[complement[set[y]]]],P[image[x,set[y]]]] (* added 1999 August 16 based on session IM-L-R *) image[inverse[LEFT[x_]],y_] := image[y,set[x]] (* added 1999 November 6 based on IMG-INLR.LOG *) IMAGE[inverse[LEFT[x_]]] := composite[IMAGE[SECOND],IMAGE[id[cart[set[x],V]]]] (* added 2003 May 8 based on MAP-0.NB *) image[inverse[MAP],set[0]] := cart[complement[set[0]],set[0]] (* added 2002 July 5 based on NATADD-2.NB *) image[inverse[NATADD],intersection[omega,x_]] := image[inverse[NATADD],x] (* added 2002 June 13 based on NATIMIN0.NB *) image[inverse[NATADD],set[0]] := cart[set[0],set[0]] (* added 2002 July 30 based on REVERSAL.NB *) image[inverse[NATADD],set[set[0]]] := union[cart[set[0],set[set[0]]], cart[set[set[0]],set[0]]] (* derived 2005 May 17 based on NATMOD.NB *) image[inverse[NATMOD],set[0]] := inverse[DIV] (* added 2002 September 3 based on DIV-ZERO.NB *) image[inverse[NATMUL],set[0]] := union[cart[omega,set[0]],cart[set[0],omega]] (* added 2002 September 3 based on DIV-ONE.NB *) image[inverse[NATMUL],set[set[0]]] := cart[set[set[0]],set[set[0]]] (* added 2001 April 28 based on IM-INV.NB *) image[INVERSE,P[x_]] := P[inverse[x]] (* revised 2003 May23 based on DEF-CLOS.NB *) image[inverse[PAIRSET],binclosed[CAP]] := union[S,inverse[S]] (* added 2003 May 23 based on REPLACE.NB *) image[inverse[PAIRSET],binclosed[CUP]] := union[S,inverse[S]] (* added 2001 October 23 based on CHAINS.NB *) image[inverse[PAIRSET],cliques[x_]] := composite[id[fix[x]],intersection[x,inverse[x]],id[fix[x]]] (* added 2001 August 23 based on FINITE.NB *) image[inverse[PAIRSET],FINITE] := cart[V,V] (* derived 2004 April 10 in UP-RULES.NB *) image[inverse[PAIRSET],FUNS] := composite[id[cart[V,V]],complement[cross[Id,Di]],id[cart[V,V]]] (* added 1999 October 17 based on STRANGE.4 *) image[inverse[PAIRSET],image[inverse[S],x_]]:= composite[inverse[E],id[x],E] (* derived 2004 June 14 in TP-SYM.NB *) image[inverse[PAIRSET],image[PAIRSET,x_]] := union[composite[Id,x],inverse[x]] (* added 1999 October 17 based on PAIRSET.1 *) image[inverse[PAIRSET],P[x_]] := cart[x,x] (* added 1999 October 18 based on PAIRSET.3 *) image[inverse[PAIRSET],range[SINGLETON]] := Id (* derived 2004 April 10 in UP-RULES.NB *) image[inverse[PAIRSET],REGULAR] := cart[REGULAR,REGULAR] (* added 1999 October 6 based on CAP.1 *) image[inverse[PAIRSET],set[0]] := 0 (* derived 2004 January 17 in SBV-PSSG.NB *) image[inverse[PAIRSET],subvar[PS]] := 0 (* added 2001 October 30 based on SYM-CORE.NB *) image[inverse[PAIRSET],SYM] := union[SWAP,cart[Id,Id]] (* derived 2003 December 25 in TOPSDEFN.NB *) image[inverse[PAIRSET],TOPS] := union[cart[V,set[0]],cart[set[0],V]] (* added 2002 November 29 based on PLUS.NB *) image[inverse[PLUS],BIJ] := omega (* derived 2005 January 31 in X4210.NB *) image[inverse[PLUS],FINITE] := 0 (* derived 2005 May 22 in DIV-ADD.NB *) image[inverse[plus[x_]],image[DIV,set[x_]]] := image[DIV,set[x]] (* added 2003 August 8 based on REPLACE.NB *) image[inverse[plus[x_]],set[y_]] := set[natsub[y,x]] (* added 2003 July 5 based on PLUS-ISO.NB *) image[inverse[PLUS],set[0]] := 0 (* added 2003 May 7 based on UNOPS.NB *) image[inverse[PLUS],U[image[MAP,Id]]] := omega (* added 2002 November 29 based on PLUS.NB *) image[inverse[PLUS],Z] := omega (* added 2002 January 19 based on INVERSE.NB *) image[INVERSE,PO] := PO (* revised 2003 May23 based on DEF-CLOS.NB *) image[inverse[POWER],binclosed[CAP]] := V (* derived 2004 March 21 in TRV-WRAP.NB *) image[inverse[POWER],binclosed[COMPOSE]] := image[inverse[IMAGE[id[cart[V,V]]]],TRV] (* revised 2003 May23 based on DEF-CLOS.NB *) image[inverse[POWER],binclosed[CUP]] := V (* revised 2003 May23 based on DEF-CLOS.NB *) image[inverse[POWER],binclosed[DIF]] := V (* added 2002 June 24 based on THIN-TRV.NB *) image[inverse[power[x_]],cart[y_,V]] := domain[iterate[x,y]] (* derived 2004 February 7 in COMPACT.NB *) image[inverse[POWER],COMPACT] := FINITE (* derived 2005 February 6 in DESCEND.NB *) image[inverse[POWER],DESCENDING] := 0 (* added 2001 March 27 based on HF-SS.NB *) image[inverse[POWER],FINITE] := FINITE (* added 2002 January 21 based on VS-IN-BC.TXT *) image[inverse[POWER],fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := V (* Theorem FUL-POW1 in FUL3 proved 1998 September 17 *) image[inverse[POWER],FULL] := FULL (* added 2001 March 27 based on HF-SS.NB *) image[inverse[POWER],H[FINITE]] := H[FINITE] (* derived 2005 January 9 in PC-CARD2.NB *) image[inverse[POWER],image[PAIRSET,Di]] := range[SINGLETON] (* added 1998 November 10 *) image[inverse[POWER],image[S,set[x_]]] := image[S,set[U[x]]] (* derived 2005 January 15 in H-FIN.NB *) image[inverse[POWER],intersection[REGULAR,x_]] := intersection[REGULAR,image[inverse[POWER],x]] (* added 2002 May 13 based on OM-PC.NB *) image[inverse[POWER],omega] := succ[set[0]] (* Theorem POW-PC in POW3 *) image[inverse[POWER],P[x_]] := complement[image[S,complement[x]]] (* derived 2005 January 9 in PC-CARD2.NB *) image[inverse[POWER],range[PAIRSET]] := union[range[SINGLETON],set[0]] (* added 2001 November 11 based on IMIN-SG.NB *) image[inverse[POWER],range[SINGLETON]] := set[0] (* Theorem POW-REG1 in POW3 proved 1999 March 4 *) image[inverse[POWER],REGULAR] := REGULAR (* added 2003 June 6 based on RUSSELL.NB *) image[inverse[POWER],RUSSELL] := V (* added 2001 February 24 based on NEW.NB *) image[inverse[POWER],set[x_]] := intersection[ complement[image[S,complement[x]]],image[S,set[U[x]]]] (* derived 2004 January 17 in SBV-PSSG.NB *) image[inverse[POWER],subvar[PS]] := 0 (* added 2001 October 23 based on TOPS.NB *) image[inverse[POWER],TOPS] := V (* added 1998 August 28 *) image[inverse[PS],x_] := fix[composite[Di,id[x],S]] (* derived 2004 June 16 in TRANSVAR.NB *) image[inverse[POWER],transvar[BIGCAP,inverse[E]]] := fix[ACLOSURE] (* derived 2004 June 16 in TRANSVAR.NB *) image[inverse[POWER],transvar[BIGCUP,inverse[E]]] := fix[UCLOSURE] (* derived 2004 June 16 in TRANSVAR.NB *) image[inverse[POWER],transvar[x_,inverse[E]]] := fix[composite[S,IMAGE[x],POWER]] image[inverse[x_],range[x_]] := domain[x] (* derived 2004 February 3 in FIN-RANK.NB *) image[inverse[RANK],FINITE] := intersection[REGULAR,H[FINITE]] (* derived 2004 February 3 in FIN-RANK.NB *) image[inverse[RANK],omega] := intersection[REGULAR,H[FINITE]] (* added 2002 January 26 based on IMV.NB *) image[inverse[RANK],set[0]] := set[0] (* derived 2003 December 21 in LOW-RANK.NB *) image[inverse[RANK],set[set[0]]] := set[set[0]] (* derived 2005 January 3 in RANK-TWO.NB *) image[inverse[RANK],set[succ[set[0]]]] := set[set[set[0]],succ[set[0]]] (* derived 2003 December 21 in LOW-RANK.NB *) image[inverse[RANK],succ[set[0]]] := succ[set[0]] (* added 2002 February 4 based on RCF-NORM.NB *) image[inverse[RCF],BIJ] := V (* derived 2004 January 13 in RA-RCF.NB *) image[inverse[RCF],cliques[complement[cross[inverse[S],complement[S]]]]] := V (* derived 2005 January 31 in X4210.NB *) image[inverse[RCF],FINITE] := FINITE (* derived 2004 January 13 in RA-RCF.NB *) image[inverse[RCF],FUNS] := V (* derived 2004 January 13 in RA-RCF.NB *) image[inverse[RCF],P[Id]] := set[0] (* added 2003 October 20 based on MONOPLUS.NB *) image[inverse[RCF],P[RC[x_]]] := set[x] (* added 2002 February 4 based on RCF-NORM.NB *) image[inverse[RCF],set[0]] := 0 (* derived 2004 January 13 in RA-RCF.NB *) image[inverse[RCF],SYM] := V (* added 2003 May 7 based on UNOPS.NB *) image[inverse[RCF],U[image[MAP,Id]]] := V (* added 2003 May 31 based on RS-CO.NB *) image[inverse[RESTRICT],x_] := image[inverse[image[inverse[COMPOSE],x]],P[Id]] (* added 2001 October 8 based on RFX-IN.NB *) image[INVERSE,RFX] := RFX (* added 2001 January 20 based on RIF-2.NB *) image[inverse[RIF],x_] := composite[SWAP,cross[Id,x]] (* added 1999 August 16 based on session IM-L-R *) image[inverse[RIGHT[x_]],y_] := image[inverse[y],set[x]] (* added 1999 November 6 based on IMG-INLR.LOG *) IMAGE[inverse[RIGHT[x_]]] := composite[IMAGE[FIRST],IMAGE[id[cart[V,set[x]]]]] (* revised 1999 November 30 based on ROT-SWAP.LOG *) image[inverse[ROT],x_] := composite[rotate[composite[x,SWAP]],SWAP] (* added 1999 October 12 based on ROT.4 *) image[inverse[rotate[x_]],y_] := composite[FIRST,id[cart[V,y]],inverse[x]] (* added 2001 October 16 based on IMS-ACL.NB *) image[inverse[S],Aclosure[x_]] := image[inverse[S],x] (* added 2003 October 15 based on ACYCLIC.NB *) image[inverse[S],ACYCLIC] := ACYCLIC (* added 2002 January 19 based on ANTISYM.NB *) image[inverse[S],ANTISYM] := ANTISYM (* Theorem BIJ-HER in BIJ proved 2000 April 25 *) image[inverse[S],BIJ] := BIJ (* added 2003 September 14 based on IMIN-S-V.NB *) image[inverse[S],binclosed[CAP]] := V (* added 2003 September 14 based on IMIN-S-V.NB *) image[inverse[S],binclosed[CUP]] := V (* added 2003 September 14 based on IMIN-S-V.NB *) image[inverse[S],binclosed[DIF]] := V (* added 2000 December 9 based on CLIQUES.NB *) image[inverse[S],cliques[x_]] := cliques[x] (* added 1999 December 25 based on HERED.NB *) image[inverse[S],complement[image[S,x_]]] := complement[image[S,x]] image[inverse[S],complement[P[x_]]] := image[V,complement[x]] (* Theorem REG-C-SR in REG2 proved 1999 March 18 *) image[inverse[S],complement[REGULAR]] := image[V,complement[REGULAR]] image[inverse[S],complement[set[0]]] := V (* derived 2005 January 27 in DK-SU.NB *) image[inverse[S],DEDEKIND] := DEDEKIND (* added 2003 June 9 based on BOUNDED.NB *) image[inverse[S],domain[LB[x_]]] := domain[LB[x]] (* added 2003 June 9 based on BOUNDED.NB *) image[inverse[S],domain[UB[x_]]] := domain[UB[x]] (* Theorem FIN-HER in FINITE proved 2000 March 10 *) image[inverse[S],FINITE] := FINITE (* added 2002 January 23 based on HULL-ACL.TXT *) image[inverse[S],fix[ACLOSURE]] := V (* added 2003 September 14 based on IMIN-S-V.NB *) image[inverse[S],fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := V (* added 2003 September 5 based on FIXHULL.NB *) image[inverse[S],fix[HULL[x_]]] := image[inverse[S],x] (* added 2002 June 2 based on HER-HULL.NB *) image[inverse[S],fix[IMAGE[inverse[S]]]] := V (* derived 2005 January 26 in REMOVED.NB *) image[inverse[S],fix[IMAGE[ZN]]] := range[thinpart[ZN]] (* added 2002 January 23 based on HULL-UCL.NB *) image[inverse[S],fix[UCLOSURE]] := V (* revised 2000 October 24 *) image[inverse[S],FULL] := V (* added 1999 December 25 based on FUNS.NB *) image[inverse[S],FUNS] := FUNS (* Theorem HF-HER in HF proved 2001 March 26 *) image[inverse[S],H[FINITE]] := H[FINITE] (* added 1999 December 21 based on IMAGEROT.NB *) image[inverse[S],image[CAP,cart[x_,y_]]] := intersection[image[inverse[S],x],image[inverse[S],y]] (* added 1999 November 28 based on CART-DUP.NB *) image[inverse[S],image[CART,Id]] := P[cart[V,V]] (* added 1998 November 10 *) image[inverse[S],image[Di,x_]] := image[V,x] (* added 1999 December 21 based on IMAGEROT.NB *) image[inverse[S],image[DIF,cart[x_,y_]]] := intersection[image[DISJOINT,y],image[inverse[S],x]] (* added 1998 November 10 *) image[inverse[S],image[DISJOINT,x_]] := image[DISJOINT,x] (* derived 2004 August 6 in CONSTANT.NB *) image[inverse[S],image[IMAGE[funpart[x_]],P[y_]]] := image[IMAGE[funpart[x]],P[y]] (* added 2001 May 8 based on IMINS.NB *) image[inverse[S],image[IMAGE[id[x_]],y_]] := intersection[image[inverse[S],y],P[x]] (* derived 2004 May 2 in ZN.NB *) image[inverse[S],image[IMAGE[ZN],REGULAR]] := REGULAR (* added 2003 October 15 based on ACYCLIC.NB *) image[inverse[S],image[inverse[HULL[TRV]],P[x_]]] := image[inverse[HULL[TRV]],P[x]] (* added 2003 October 15 based on ACYCLIC.NB *) image[inverse[S],image[inverse[IMAGE[id[cart[V,V]]]],ACYCLIC]] := image[inverse[IMAGE[id[cart[V,V]]]],ACYCLIC] (* added 2000 January 8 based on FUNS.NB *) image[inverse[S],image[inverse[IMAGE[id[cart[V,V]]]],FUNS]] := image[inverse[IMAGE[id[cart[V,V]]]],FUNS] (* SR-IM-3B in SR3 *) image[inverse[S],image[inverse[S],x_]] := image[inverse[S],x] (* derived 2005 February 20 in CARD-TWO.NB *) image[inverse[S],image[PAIRSET,Di]] := union[range[PAIRSET],set[0]] (* added 2001 May 8 based on MORESAME.NB *) image[inverse[S],image[Q,x_]] := image[Q,image[inverse[S],x]] (* Added 1998 August 16. Corollary of CO-IM7 and SR-CO9 *) image[inverse[S],image[S,x_]] := image[V,x] (* added 2001 May 8 based on IMINS.NB *) image[inverse[S],intersection[FUNS,P[x_]]] := intersection[FUNS,P[x]] (* derived 2005 January 19 in H-FIN.NB *) image[inverse[S],intersection[REGULAR,H[FINITE]]] := intersection[REGULAR,H[FINITE]] (* derived 2004 October 7 in BC-IM-PC.NB *) image[inverse[S],intersection[T2,TOPS]] := V (* derived 2004 June 6 in EQV-TRV.NB *) image[inverse[S],invar[x_]] := P[domain[VERTSECT[trv[x]]]] (* Theorem ON-HER-3 in ON6 added 1998 August 11 *) image[inverse[S],OMEGA] := P[OMEGA] (* SR-IM-3C in SR3 *) image[inverse[S],P[x_]] := P[x] (* added 2003 September 14 based on IMIN-S-V.NB *) image[inverse[S],PointClosed] := V (* added 1999 October 6 based on CART.4 *) image[inverse[S],range[CART]] := P[cart[V,V]] (* derived 2005 February 20 in CARD-TWO.NB *) image[inverse[S],range[PAIRSET]] := union[range[PAIRSET],set[0]] (* added 1998 August 7 *) image[inverse[S],range[POWER]] := V (* Theorem SG-RA6 in SG2 added 1998 August 6 *) image[inverse[S],range[SINGLETON]] := union[set[0],range[SINGLETON]] (* derived 2004 December 23 in RA-SBV.NB *) image[inverse[S],range[SUBVAR]] := V (* Theorem REG-HER in REG2 *) image[inverse[S],REGULAR] := REGULAR (* added 2001 October 27 based on IMS.NB *) image[inverse[S],RFX] := P[cart[V,V]] (* derived 2004 August 10 in RS-3.NB *) image[inverse[S],RS[x_]] := P[thinpart[x]] (* Theorem RUS-S-IM in RUS2 added 1998 August 4 *) image[inverse[S],RUSSELL] := V (* derived 2004 November 2 in SELECT.NB *) image[inverse[S],SELECT] := V (* added 1996 June 29 Theorem PC-5-COR in SR1 *) image[inverse[S],set[x_]] := intersection[P[x],image[V,set[x]]] (* added 2003 January 17 based on SBV-IN-E.NB *) image[inverse[S],subvar[inverse[E]]] := V (* derived 2004 April 24 in BA-BC.NB *) image[inverse[S],succ[omega]] := P[omega] (* added 2001 October 27 based on IMS.NB *) image[inverse[S],SYM] := P[cart[V,V]] (* added 2003 September 14 based on IMIN-S-V.NB *) image[inverse[S],T1] := V (* added 2003 September 14 based on IMIN-S-V.NB *) image[inverse[S],T2] := V (* added 2003 September 14 based on IMIN-S-V.NB *) image[inverse[S],TOPS] := V (* added 2001 October 27 based on IMS.NB *) image[inverse[S],TRV] := P[cart[V,V]] (* added 2003 March 1 based on Z.NB *) image[inverse[S],Uclosure[Z]] := P[cart[omega,omega]] (* added 2003 September 29 based on WF.NB *) image[inverse[S],WF] := WF (* added 2002 November 17 based on HER-Z.NB *) image[inverse[S],Z] := cliques[EQUIDIFF] (* Theorem 2ND-IN-2 *) image[inverse[SECOND],x_] := cart[V,x] (* see IMG-2ND in IMG2.DEM *) IMAGE[inverse[SECOND]] := cart[set[0],set[0]] (* added 1999 October 12 based on INVERSE.5 *) image[INVERSE,set[x_]] := intersection[ complement[image[V,intersection[x,complement[cart[V,V]]]]], image[V,set[x]],set[inverse[x]]] (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],BIJ] := cart[V,V] (* revised 2003 May23 based on DEF-CLOS.NB *) image[inverse[SINGLETON],binclosed[CAP]] := V (* revised 2003 May23 based on DEF-CLOS.NB *) image[inverse[SINGLETON],binclosed[CUP]] := V (* revised 2003 May23 based on DEF-CLOS.NB *) image[inverse[SINGLETON],binclosed[DIF]] := set[0] (* added 2001 October 10 based on REPLACE.NB *) image[inverse[SINGLETON],cliques[x_]] := fix[x] (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],DEDEKIND] := V (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],DESCENDING] := fix[E] (* derived 2004 February 23 in DO-UB-SG.NB *) image[inverse[SINGLETON],domain[GREATEST[x_]]] := fix[x] (* derived 2004 February 23 in DO-UB-SG.NB *) image[inverse[SINGLETON],domain[LB[x_]]] := range[x] (* derived 2004 February 23 in DO-UB-SG.NB *) image[inverse[SINGLETON],domain[LEAST[x_]]] := fix[x] (* derived 2004 February 23 in DO-UB-SG.NB *) image[inverse[SINGLETON],domain[UB[x_]]] := domain[x] (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],FINITE] := V (* added 2001 October 15 based on ACL-UCL.NB *) image[inverse[SINGLETON],fix[ACLOSURE]] := V (* added 2002 January 21 based on VS-IN-BC.TXT *) image[inverse[SINGLETON], fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := V (* added 2002 April 18 based on FIX-FUNP.NB *) image[inverse[SINGLETON],fix[IMAGE[x_]]] := fix[funpart[x]] (* added 2001 October 15 based on ACL-UCL.NB *) image[inverse[SINGLETON],fix[UCLOSURE]] := set[0] (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],FUNS] := cart[V,V] (* added 2003 October 7 based on WF-IND.NB *) image[inverse[SINGLETON],image[CART,DISJOINT]] := Di (* derived 2004 September 18 in SSIM-PRS.NB *) image[inverse[SINGLETON],image[PAIRSET,x_]] := fix[x] (* added 2001 October 16 based on UCL-IMSG.NB *) image[inverse[SINGLETON],image[SINGLETON,x_]] := x (* added 2003 June 11 based on VS.NB *) image[inverse[SINGLETON],intersection[x_,P[y_]]] := intersection[y,image[inverse[SINGLETON],x]] (* added 2003 June 11 based on VS.NB *) image[inverse[SINGLETON],intersection[x_,complement[P[y_]]]] := intersection[complement[y],image[inverse[SINGLETON],x]] (* added 2002 May 1 based on INVAR-V.NB *) image[inverse[SINGLETON],invar[x_]] := complement[fix[composite[Di,x]]] (* derived 2004 February 19 in REPLACE2.NB *) image[inverse[SINGLETON],lb[INVAR,x_]] := complement[composite[complement[inverse[E]],id[x],E]] (* added 2002 June 15 based on OM-NAT.NB *) image[inverse[SINGLETON],omega] := set[0] (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],OMEGA] := set[0] (* added 2001 October 16 based on RA-SG.NB *) image[inverse[SINGLETON],P[x_]] := x (* derived 2003 December 28 in PTCLOSED.NB *) image[inverse[SINGLETON],PointClosed] := set[0] (* added 2002 January 22 based on EQ-PC.NB *) image[inverse[SINGLETON],range[POWER]] := set[0] (* derived 2004 April 10 in UP-RULES.NB *) image[inverse[SINGLETON],REGULAR] := REGULAR (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],RFX] := Id (* derived 2004 November 2 in SELECT.NB *) image[inverse[SINGLETON],SELECT] := V (* added 2001 October 14 based on IM-IN-SG.NB *) image[inverse[SINGLETON],set[x_]] := intersection[x,complement[image[Di,x]]] (* derived 2004 January 17 in SBV-PSSG.NB *) image[inverse[SINGLETON],subvar[PS]] := 0 (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],SYM] := Id (* derived 2003 December 27 in T1.NB *) image[inverse[SINGLETON],T1] := union[range[SINGLETON],set[0]] (* derived 2003 December 30 in T2.NB *) image[inverse[SINGLETON],T2] := union[range[SINGLETON],set[0]] (* added 2001 October 23 based on CHAINS.NB *) image[inverse[SINGLETON],TOPS] := set[0] (* added 2001 October 16 based on IM-IN-SG.NB *) image[inverse[SINGLETON],TRV] := cart[V,V] (* added 2003 October 7 based on WF-IND.NB *) image[inverse[SINGLETON],WF] := Di (* derived 2004 April 6 in SMALLER.NB *) image[inverse[SMALLER],set[0]] := 0 (* added 2002 December 27 based on SBCOMMUT.NB *) image[inverse[SUBCOMMUTE],set[x_]] := intersection[image[V,set[x]], image[inverse[IMAGE[SWAP]],subcommutant[inverse[x]]]] (* added 2000 December 30 based on FOUNDED.NB *) image[inverse[SUBVAR],set[0]] := 0 (* derived 2004 March 14 in WF-WO.NB *) image[inverse[SUBVAR],set[set[0]]] := image[inverse[IMAGE[id[cart[V,V]]]],WF] (* derived 2004 April 28 in WF.NB *) image[inverse[SUBVAR],succ[set[0]]] := image[inverse[IMAGE[id[cart[V,V]]]],WF] (* added 2001 August 23 based on FINITE.NB *) image[inverse[SUCC],FINITE] := FINITE (* added 2002 May 22 based on EXAMPLES.NB *) image[inverse[SUCC],intersection[omega,complement[set[0]]]] := omega (* derived 2005 February 17 in X3741-49.NB *) image[inverse[SUCC],nat[x_]] := U[nat[x]] (* Theorem OM-SUC11 in OM3 added 1998 August 11 *) image[inverse[SUCC],omega] := omega (* Theorem ON-5F in ON6 added 1998 August 11 *) image[inverse[SUCC],OMEGA] := OMEGA (* added 2002 April 18 based on SUCC.NB *) image[inverse[SUCC],REGULAR] := REGULAR (* added 1999 October 21 based on VERTSECT.NB *) image[inverse[SUCC],P[x_]] := intersection[x,P[x]] image[inverse[SUCC],set[0]] := 0 (* added 2002 May 21 based on NILPOT.NB *) image[inverse[SUCC],set[set[0]]] := set[0] (* added 2002 July 30 based on REVERSAL.NB *) image[inverse[SUCC],set[succ[set[0]]]] := set[set[0]] (* added 2001 October 10 based on SYM-1.NB *) image[INVERSE,SYM] := SYM (* added 1999 December 2 based on SYMDIF-4.NB *) image[inverse[SYMDIF],set[0]] := Id (* added 2003 January 18 based on HC-TC-OM.NB *) image[inverse[TC],omega] := image[inverse[S],omega] (* added 2002 May 4 based on HC-OMEGA.NB *) image[inverse[TC],OMEGA] := P[OMEGA] (* added 2001 March 17 based on TC-H.NB *) image[inverse[TC],P[x_]] := P[H[x]] (* added 2001 March 17 based on TC-I-FUL.NB *) image[inverse[TC],REGULAR] := REGULAR (* added 2002 January 26 based on IMV.NB *) image[inverse[TC],set[0]] := set[0] (* added 2002 January 26 based on IMV.NB *) image[inverse[TC],succ[set[0]]] := succ[set[0]] (* derived 2004 February 10 in TO.NB *) image[INVERSE,TO] := TO (* added 2001 October 9 based on TRV-1.NB *) image[INVERSE,TRV] := TRV (* added 2002 November 2 based on TWIST-IM.NB *) image[inverse[twist[x_]],y_] := composite[FIRST, intersection[x,composite[inverse[SECOND],y,SECOND]],inverse[FIRST]] (* derived 2004 November 13 in AC1-A8.NB *) image[inverse[UB[image[inverse[CAP],range[SINGLETON]]]], complement[set[0]]] := domain[UB[image[inverse[CAP],range[SINGLETON]]]] (* added 2000 November 19 based on IM-SS.NB *) image[inverse[UB[x_]],set[y_]] := intersection[image[V,set[y]],P[image[inverse[x],set[y]]]] (* added 2003 May 23 based on CORE-BCL.NB *) image[inverse[UCLOSURE],binclosed[CUP]] := V (* derived 2004 January 8 in FIN-FU.NB *) image[inverse[UCLOSURE],FINITE] := FINITE (* added 2001 October 23 based on TOPS.NB *) image[inverse[UCLOSURE],P[complement[set[0]]]] := 0 (* derived 2004 January 23 in P-FINITE.NB *) image[inverse[UCLOSURE],P[FINITE]] := intersection[FINITE,P[FINITE]] (* derived 2003 December 30 in PTCLOSED.NB *) image[inverse[UCLOSURE],PointClosed] := T1 (* added 2001 May 10 based on UCLOS-1.NB *) image[inverse[UCLOSURE],set[0]] := 0 (* derived 2003 December 27 in T1.NB *) image[inverse[UCLOSURE],T1] := T1 (* derived 2003 December 30 in T2.NB *) image[inverse[UCLOSURE],T2] := T2 (* added 2003 June 9 based on VS-CLIQ.NB *) image[inverse[VERTSECT[x_]],cliques[y_]] := intersection[ complement[fix[composite[inverse[x],complement[inverse[y]],x]]], domain[VERTSECT[x]]] (* added 1999 July 13 based on session VERTSECT.1 *) image[inverse[VERTSECT[x_]],complement[set[0]]] := intersection[domain[x],domain[VERTSECT[x]]] (* added 2003 August 17 based on EQDF-SUB.NB *) image[inverse[VERTSECT[EQUIDIFF]],range[PLUS]] := composite[id[omega],S,id[omega]] (* added 2002 December 16 based on EQUIDIFF.NB *) image[inverse[VERTSECT[EQUIDIFF]],Z] := cart[omega,omega] (* added 2003 June 9 based on VS-FUNS.NB *) image[inverse[VERTSECT[x_]],FUNS] := intersection[complement[fix[composite[inverse[x],cross[Id,Di],x]]], complement[image[inverse[x],complement[cart[V,V]]]],domain[VERTSECT[x]]] (* derived 2004 October 28 in AC2.NB *) image[inverse[VERTSECT[x_]],intersection[y_,complement[set[0]]]] := intersection[domain[x],image[inverse[VERTSECT[x]],y]] (* definition of PRIMES introduced 2005 February 22 in PRIMES.NB *) image[inverse[VERTSECT[inverse[DIV]]],image[PAIRSET,Di]] := PRIMES (* added 2002 December 16 based on REPLACE.NB *) image[inverse[VERTSECT[x_]],P[y_]] := intersection[complement[image[inverse[x],complement[y]]],domain[VERTSECT[x]]] (* added 2000 February 12 based on FUNPART.NB *) image[inverse[VERTSECT[x_]],range[SINGLETON]] := domain[funpart[x]] (* added 1999 July 13 based on session VERTSECT.1 *) image[inverse[VERTSECT[x_]],set[0]] := complement[domain[x]] (* derived 2004 September 5 in WF-REC-4.NB *) image[inverse[VERTSECT[ZN]],set[set[0]]] := set[0] (* derived 2004 August 21 in VS-RS.NB *) image[inverse[VS],set[0]] := P[complement[cart[V,V]]] (* derived 2004 November 16 in XS.NB *) image[inverse[XS],set[0]] := complement[SELECT] (* derived 2004 November 26 in XS-SS-0.NB *) image[inverse[XS],set[set[0]]] := P[complement[cart[V,V]]] (* added 2002 December 1 based on Z-PC-S.NB *) image[INVERSE,Z] := Z (* added 2001 July 15 based on ZN-AGAIN.NB *) image[inverse[ZN],P[x_]] := V (* added 2001 July 15 based on ZN-AGAIN.NB *) image[inverse[ZN],REGULAR] := V (* added 2001 July 15 based on ZN-AGAIN.NB *) image[inverse[ZN],set[0]] := V (* added 2001 July 15 based on ZN-AGAIN.NB *) image[inverse[ZN],set[set[0]]] := complement[set[0]] (* derived 2003 December 18 in RA-ITER.NB *) image[iterate[x_,y_],complement[set[0]]] := image[trv[x],y] (* added 2002 June 13 based on LOOPING.NB *) image[iterate[x_,y_],intersection[omega,z_]] := image[iterate[x,y],z] (* added 2002 April 15 based on ITERATE.NB *) image[iterate[x_,y_],set[0]] := y (* added 2002 May 20 based on ITERCOID.NB *) image[iterate[x_,y_],set[set[0]]] := image[x,y] (* added 2002 May 17 based on TC.NB *) image[iterate[x_,y_],set[succ[z_]]] := image[x,image[iterate[x,y],set[z]]] (* added 2000 May 24 based on VS-K.NB *) IMAGE[K] := cart[set[0],set[0]] (* derived 2005 February 4 in DK-K.NB *) image[K,DEDEKIND] := intersection[DEDEKIND,complement[set[0]]] (* Theorem FIN-K-3 in FINITE proved 2000 May 30 *) image[K,FINITE] := intersection[FINITE,complement[set[0]]] (* derived 2003 December 22 in LOW-CARD.NB *) image[K,range[SINGLETON]] := image[PAIRSET,Di] (* added 2001 March 5 based on K-SS.NB *) image[K,set[0]] := range[SINGLETON] (* derived 2005 January 18 in KURA-CP.NB *) image[KURA,cart[x_,y_]] := image[PAIRSET,composite[PAIRSET,id[cart[x,y]],inverse[FIRST],inverse[SINGLETON]]] (* added 2002 January 11 based on KURA.NB *) image[KURA,set[x_]] := intersection[image[V,set[first[x]]],set[set[set[first[x],second[x]],set[first[x]]]]] (* added 2003 May 10 based on LAMBHULL.NB *) image[LAMBHULL,set[x_]] := set[HULL[x]] (* derived 2004 February 20 in REPLACE1.NB *) image[LB[x_],complement[set[0]]] := domain[x] (* derived 2004 March 30 in CO-ES-ID.NB *) image[LB[x_],image[S,y_]] := image[LB[x],y] (* added 2000 December 24 based on LT-CO-S *) image[LB[x_],P[y_]] := V (* derived 2004 February 19 in REPLACE2.NB *) image[LB[x_],set[y_]] := intersection[image[V,set[y]],lb[x,y]] (* added 2000 December 24 based on LT-CO-S *) image[LEAST[x_],P[y_]] := intersection[y,fix[x]] (* derived 2004 February 19 in REPLACE2.NB *) image[LEAST[x_],set[y_]] := intersection[y,image[V,set[y]],lb[x,y]] (* added 1999 August 16 based on session IM-L-R *) image[LEFT[x_],y_] := cart[set[x],y] (* new PairV rules added 1998 January 24 *) image[LeftPairV,set[x_]] := intersection[set[pair[V,x]],image[V,set[x]]] (* derived 2004 February 20 in REPLACE1.NB *) image[LUB[x_],set[0]] := lb[x,V] (* added 2001 April 28 based on MAP-INS.NB *) image[MAP,cart[set[x_],set[y_]]] := intersection[set[map[x,y]],image[V,set[x]],image[V,set[y]]] (* added 2000 November 19 based on IM-SS.NB *) image[MAXIMAL[x_],set[y_]] := intersection[y,complement[fix[composite[Di,id[y],x]]],image[V,set[y]]] (* added 2000 November 19 based on IM-SS.NB *) image[MINIMAL[x_],set[y_]] := intersection[y,complement[fix[composite[x,id[y],Di]]],image[V,set[y]]] (* derived 2005 March 26 in DIVDSTRB.NB *) image[NATADD,cart[image[DIV,set[x_]],image[DIV,set[x_]]]] := image[DIV,set[x]] (* derived 2004 May 11 in IMG-IMAG.NB *) image[NATADD,cart[set[x_],y_]] := image[plus[x],y] (* derived 2004 May 11 in IMG-IMAG.NB *) image[NATADD,cart[x_,set[y_]]] := image[plus[y],x] (* added 2002 July 5 based on NATADD-2.NB *) image[NATADD,cart[x_,V]] := intersection[omega,image[S,intersection[omega,x]]] (* added 2002 July 5 based on NATADD-2.NB *) image[NATADD,cart[V,x_]] := intersection[omega,image[S,intersection[omega,x]]] (* added 2002 July 5 based on NATADD-1.NB *) image[NATADD,inverse[x_]] := image[NATADD,x] (* added 2002 August 29 based on BINHOM.NB *) image[NATADD,set[x_]] := set[natadd[first[x],second[x]]] (* derived 2005 May 17 based on NATMOD.NB *) image[NATMOD,cart[set[x_],set[y_]]] := set[natmod[x,y]] (* derived 2005 May 21 in MOD-DUP.NB *) image[NATMOD,inverse[DIV]] := set[0] (* added 2002 December 21 based on DIV.NB *) image[NATMUL,cart[x_,intersection[omega,y_]]] := image[NATMUL,cart[x,y]] (* added 2002 December 21 based on DIV.NB *) image[NATMUL,cart[intersection[omega,x_],y_]] := image[NATMUL,cart[x,y]] (* added 2002 December 21 based on DIV.NB *) image[NATMUL,cart[x_,omega]] := image[DIV,x] (* added 2002 December 21 based on DIV.NB *) image[NATMUL,cart[omega,x_]] := image[DIV,x] (* added 2002 December 21 based on DIV.NB *) image[NATMUL,cart[set[x_], domain[iterate[iterate[SUCC,set[x_]],set[0]]]]] := image[DIV,set[x]] (* added 2002 August 21 based on NATMUL.NB *) image[NATMUL,cart[set[x_],set[y_]]] := set[natmul[x,y]] (* added 2002 September 2 based on IMAGEDIV.NB *) image[NATMUL,cart[x_,V]] := image[DIV,x] (* added 2002 September 2 based on IMAGEDIV.NB *) image[NATMUL,cart[V,x_]] := image[DIV,x] (* added 2002 August 29 based on MULASSOC.NB *) image[NATMUL,set[x_]] := set[natmul[first[x],second[x]]] (* added 1999 December 20 based on IMAGE.NB *) IMAGE[omega] := cart[V,set[0]] (* added 1999 December 20 based on IMAGE.NB *) IMAGE[OMEGA] := cart[V,set[0]] (* derived 2004 May 9 in OOPART.NB *) image[OOPART,set[x_]] := intersection[image[V,set[x]],set[oopart[x]]] (* added 2001 August 23 based on PAIRSET.NB *) image[x_,set[y_,z_]] := union[image[x,set[y]],image[x,set[z]]] (* derived 2004 April 10 in UP-RULES.NB *) image[set[x_,y_],z_] := union[intersection[image[V,intersection[z,set[first[x]]]],set[second[x]]], intersection[image[V,intersection[z,set[first[y]]]],set[second[y]]]] (* revised 2002 April 18 based on REPLACE.NB *) image[PAIRSET,cart[set[x_],set[y_]]] := intersection[image[V,set[x]],image[V,set[y]],set[set[x,y]]] (* added 2001 October 23 based on CAPCLOS.NB *) image[PAIRSET,cart[set[0],V]] := image[ADJOIN[set[0]],range[SINGLETON]] (* derived 2003 December 25 in TOPSDEFN.NB *) image[PAIRSET,cart[V,set[0]]] := image[ADJOIN[set[0]],range[SINGLETON]] (* added 1999 October 18 based on PAIRSET.3 *) image[PAIRSET,complement[cart[V,V]]] := 0 (* added 1999 November 6 based on CO-1.LOG *) image[PAIRSET,composite[Id,x_]] := image[PAIRSET,x] (* added 1999 October 6 based on PAIRSET.2 *) image[PAIRSET,Id] := range[SINGLETON] (* added 1999 November 6 based on CO-1.LOG *) image[PAIRSET,id[x_]] := image[SINGLETON,x] (* added 1999 November 6 based on CO-1.LOG *) image[PAIRSET,inverse[x_]] := image[PAIRSET,x] (* added 2002 January 10 based on PAIRSET.NB *) image[PAIRSET,set[x_]] := intersection[image[V,set[first[x]]],set[set[first[x],second[x]]]] (* derived 2004 April 10 in UP-RULES.NB *) image[PAIRSET,set[pair[x_,y_]]] := intersection[image[V,set[x]],image[V,set[y]],set[set[x,y]]] (* added 2003 August 7 based on PLUS.NB *) image[PLUS,set[x_]] := intersection[image[V,intersection[omega,set[x]]],set[plus[x]]] (* added 2003 August 7 based on PLUS.NB *) image[plus[x_],set[y_]] := set[natadd[x,y]] (* added 2002 June 11 based on TRV.NB *) image[power[x_],complement[set[0]]] := trv[x] (* derived 2004 January 4 in VS-IMIN.NB *) image[POWER,FINITE] := intersection[FINITE,range[POWER]] (* derived 2004 August 15 in ZN-FACTS.NB *) image[POWER,fix[IMAGE[ZN]]] := range[VERTSECT[ZN]] (* Theorem FUL-POW3 in FUL3 proved 1998 September 18 *) image[POWER,FULL] := intersection[FULL,range[POWER]] (* derived 2005 January 15 in H-FIN.NB *) image[POWER,H[FINITE]] := intersection[H[FINITE],range[POWER]] (* derived 2004 March 23 in TRV-K.NB *) image[power[x_],image[inverse[S],omega]] := union[Id,trv[x]] (* added 2002 June 5 based on ITERITER.NB *) image[power[x_],intersection[omega,y_]] := image[power[x],y] (* derived 2005 January 15 in H-FIN.NB *) image[POWER,intersection[REGULAR,x_]] := intersection[REGULAR,image[POWER,x]] (* Theorem POW-REG2 in POW5 proved 1999 March 4 *) image[POWER,REGULAR] := intersection[REGULAR,range[POWER]] (* Theorem POW-IM1 in POW3 added 1998 August 7 *) image[POWER,set[x_]] := set[P[x]] (* added 2002 May 21 based on POWER.NB *) image[power[x_],set[0]] := Id (* added 2002 May 21 based on POWER.NB *) image[power[x_],set[set[0]]] := composite[Id,x] (* added 2002 May 21 based on POWER.NB *) image[power[x_],set[succ[y_]]] := composite[x,image[power[x],set[y]]] (* from IMG-PS.LOG 1999 April 16 *) IMAGE[PS] := cart[set[0],set[0]] (* Theorem FIN-PS1 proved 2000 April 15 *) image[PS,complement[FINITE]] := complement[FINITE] (* derived 2004 August 8 in UP-PC.NB *) image[PS,complement[set[0]]] := intersection[complement[range[SINGLETON]],complement[set[0]]] (* added 2000 June 2 based on Q-S.NB *) image[PS,FINITE] := complement[set[0]] (* added 2000 May 25 based on K.NB *) image[PS,P[x_]] := complement[set[0]] (* added 2000 May 16 based on K-SR.NB *) image[PS,set[0]] := complement[set[0]] (* added 2000 September 29 based on VS-K-IN.NB *) image[PS,set[x_]] := intersection[complement[set[x]],image[S,set[x]]] (* added 2002 May 2 based on IMAGE-Q.NB *) IMAGE[Q] := union[cart[set[0],set[0]], cart[set[set[0]],set[set[0]]]] (* Theorem DK-Q in DEDEKIND proved 2000 May 26 *) image[Q,DEDEKIND] := DEDEKIND (* Theorem FIN-Q-1 in FINITE proved 2000 April 28 *) image[Q,FINITE] := FINITE (* added 2001 December 17 based on Q-HAT.NB *) image[Q,fix[CARD]] := image[Q,OMEGA] (* derived 2005 February 20 in CARD-TWO.NB *) image[Q,image[PAIRSET,Di]] := image[PAIRSET,Di] (* added 2000 June 12 based on Q.NB *) image[Q,image[Q,x_]] := image[Q,x] (* Theorem FIN-Q-OM in FINITE proved 2000 April 30 *) image[Q,omega] := FINITE (* Theorem Q-RA-SG2 in Q proved 2000 April 27 *) image[Q,range[SINGLETON]] := range[SINGLETON] (* Theorem Q-0-IM in Q proved 2000 April 27 *) image[Q,set[0]] := set[0] (* added 2001 November 22 based on VS-Q.NB *) image[Q,set[set[0]]] := range[SINGLETON] (* derived 2003 December 22 in LOW-CARD.NB *) image[Q,set[succ[set[0]]]] := image[PAIRSET,Di] (* derived 2004 August 27 in IVR-TRV.NB *) image[x_,range[iterate[x_,y_]]] := image[trv[x],y] (* added 2001 August 12 based on RANK-1.NB *) image[RANK,FULL] := OMEGA (* derived 2004 February 3 in FIN-RANK.NB *) image[RANK,H[FINITE]] := omega (* derived 2003 December 20 in RK-TC-3.NB *) image[RANK,intersection[REGULAR,x_]] := image[RANK,x] (* derived 2004 February 3 in FIN-RANK.NB *) image[RANK,omega] := omega (* added 2001 August 1 based on RK-TC.NB *) image[RANK,OMEGA] := OMEGA (* added 2001 July 12 based on RANK-1.NB *) image[RANK,set[x_]] := set[rank[x]] (* added 2001 August 30 based on BC-BA-RC.NB *) image[RC[x_],image[RC[x_],y_]] := intersection[y,image[V,set[x]],P[x]] (* added 2001 August 30 based on RC.NB *) image[RC[x_],intersection[y_,P[x_]]] := image[RC[x],y] (* added 2002 May 14 based on IND-C.NB *) image[RC[omega],invar[SUCC]] := succ[omega] (* derived 2004 October 12 in CMPCT-OM.NB *) image[RC[omega],succ[omega]] := union[image[RC[omega],omega],set[0]] (* added 2003 June 22 based on HULL-RC.NB *) image[RC[x_],P[y_]] := intersection[image[S,set[intersection[x,complement[y]]]], image[V,set[x]],P[x]] (* added 1999 October 29 based on RC-VS.LOG *) image[RC[x_],set[y_]] := intersection[complement[image[V,intersection[y,complement[x]]]], image[V,set[x]],image[V,set[y]], set[intersection[x,complement[y]]]] (* added 2002 February 3 based on RCF.NB *) image[RCF,set[x_]] := intersection[image[V,set[x]],set[RC[x]]] (* Theorem REG-IM in REG2 proved 1999 March 15 *) image[REGULAR,x_] := intersection[REGULAR,image[V,intersection[REGULAR,x]]] (* Theorem IMG-REG2 in IMG2 proved 1999 March 15 *) IMAGE[REGULAR] := cart[P[U[DESCENDING]],set[0]] (* added 2003 May 30 based on RESTRICT.NB *) image[RESTRICT,x_] := image[COMPOSE,cart[x,P[Id]]] (* added 2001 January 20 based on RIF-2.NB *) image[RIF,x_] := composite[FIRST,intersection[x, composite[inverse[SECOND],FIRST]],inverse[SECOND]] (* added 1999 August 16 based on session IM-L-R *) image[RIGHT[x_],y_] := cart[y,set[x]] (* new PairV rules added 1998 January 24 *) image[RightPairV,set[x_]] := intersection[set[pair[x,V]], image[V,set[x]]] (* added 1999 September 3 based on ROTATE.2 *) image[ROT,x_] := rotate[x] (* added 1999 October 12 based on ROT.3 *) image[rotate[x_],y_] := range[fix[composite[inverse[FIRST],y,x]]] (* added 1999 November 27 based on VS-ROT-E.LOG *) IMAGE[rotate[E]] := composite[BIGCUP,IMAGE[IMG],IMAGE[cross[Id,SINGLETON]]] (* see IMG-SR in IMG2.DEM *) IMAGE[S] := cart[set[0],set[0]] (* added 2003 February 25 based on Z.NB *) image[S,cliques[x_]] := V (* derived 2005 March 26 in U-CMPCT.NB *) image[S,COMPACT] := V (* added 2003 October 15 based on ACYCLIC.NB *) image[S,complement[ACYCLIC]] := complement[ACYCLIC] (* added 2000 April 5 based on FIN-HER.LOG *) image[S,complement[FINITE]] := complement[FINITE] (* added 1999 December 25 based on FUNS.NB *) image[S,complement[FUNS]] := complement[FUNS] (* added 1999 December 25 based on IM-DJ.NB *) image[S,complement[image[DISJOINT,x_]]] := complement[image[DISJOINT,x]] (* added 2003 October 15 based on ACYCLIC.NB *) image[S,complement[image[inverse[HULL[TRV]],P[x_]]]] := complement[image[inverse[HULL[TRV]],P[x]]] (* added 2000 January 8 based on FUNS.NB *) image[S,complement[image[inverse[IMAGE[id[cart[V,V]]]],FUNS]]] := complement[image[inverse[IMAGE[id[cart[V,V]]]],FUNS]] (* added 1999 December 25 based on HERED.NB *) image[S,complement[image[inverse[S],x_]]] := complement[image[inverse[S],x]] (* Theorem SR-IM-E in SR3 proved 1998 October 6 *) image[S,complement[P[x_]]] := complement[P[x]] image[S,complement[REGULAR]] := complement[REGULAR] (* added 1999 December 25 based on HERED.NB *) image[S,complement[set[x_]]] := union[complement[set[0]],image[V,x]] (* added 2000 June 2 based on DK-C3.NB *) image[S,DEDEKIND] := V (* derived 2004 September 24 in COREDESC.NB *) image[S,DESCENDING] := V (* added 2000 June 2 based on Q-S.NB *) image[S,FINITE] := V (* added 2002 November 21 based on UCLFPIMG.NB *) image[S,fix[IMAGE[x_]]] := V (* From session REPLACE1.LOG added 1999 February 18 *) image[S,FULL] := V (* added 2001 November 20 based on FIX-FUNP.NB *) image[S,FUNS] := V (* added 1999 December 21 based on IMAGEROT.NB *) image[S,image[CUP,cart[x_,y_]]] := intersection[image[S,x],image[S,y]] (* added 1998 November 10 *) image[S,image[DISJOINT,x_]] := image[V,x] (* added 1998 August 16. Corollary of SR-CO7 and CO-IM7 *) image[S,image[inverse[S],x_]] := image[V,x] (* added 2000 December 9 based on REPLACE.NB *) image[S,image[PAIRSET,x_]] := complement[cliques[complement[x]]] (* SR-IM-3A in SR3 *) image[S,image[S,x_]] := image[S,x] image[S,image[SINGLETON,x_]] := complement[P[complement[x]]] (* derived 2004 April 25 in STRANGE.NB *) image[S,intersection[image[S,x_],Uclosure[x_]]] := image[S,x] (* added 2003 October 15 based on ACYCLIC.NB *) image[S,intersection[x_,P[y_]]] := image[inverse[IMAGE[id[y]]],image[S,x]] (* see: IVR-IMSR session 1999 January 10 *) image[S,invar[x_]] := V (* added 2000 December 30 based on LUB.NB *) image[S,OMEGA] := V (* Corollary SR-IM-PC in SR/1 proved 1998 May 14 *) image[S,P[x_]] := V (* derived 2003 December 28 in PTCLOSED.NB *) image[S,PointClosed] := V (* added 2000 September 28 based on CROSS.NB *) image[S,range[CROSS]] := V (* added 1999 October 17 based on STRANGE.1 *) image[S,range[PAIRSET]] := complement[set[0]] (* Theorem POW-RA11 in POW5 proved 1999 January 21 *) image[S,range[POWER]] := complement[P[complement[set[0]]]] image[S,range[SINGLETON]] := complement[set[0]] (* Theorem REG-IMS in REG2 proved 1999 March 15 *) image[S,REGULAR] := V (* derived 2004 November 2 in SELECT.NB *) image[S,SELECT] := V (* special case of SR-IM-PC when x = 0 *) image[S,set[0]] := V (* Theorem SP-SR-PC in SP3 proved 1999 January 19 *) image[S,set[complement[P[x_]]]] := complement[image[V,complement[x]]] (* Theorem SR-SS-SS in SR-C proved 1998 October 17 *) image[S,set[set[x_]]] := union[complement[image[V,set[x]]], complement[P[complement[set[x]]]]] (* derived 2004 September 24 in COREDESC.NB *) image[S,subvar[x_]] := V (* added 2001 October 23 based on TOPS.NB *) image[S,succ[set[0]]] := V (* derived 2003 December 27 in T1.NB *) image[S,T1] := V (* derived 2003 December 30 in T2.NB *) image[S,T2] := V (* added 2001 September 30 based on ACL-1.NB *) image[S,Uclosure[x_]] := V (* Theorem 2ND-IM-2 *) image[SECOND,x_] := range[x] (* derived 2005 January 11 in FIN-SET.NB *) image[x_,set[y_,z__]] := union[image[x,set[y]],image[x,set[z]]] (* added 2001 November 27 based on IM-SS.NB *) image[set[x_],y_] := intersection[image[V,intersection[y,set[first[x]]]],set[second[x]]] (* added 2001 November 27 based on IM-SS.NB *) image[set[pair[x_,y_]],z_] := intersection[image[V,intersection[z,set[x]]],set[y]] (* added 1999 October 5 based on SGIMCPSS.LOG *) image[SINGLETON,cart[set[x_],set[y_]]] := intersection[image[V,set[x]],image[V,set[y]],set[cart[set[x],set[y]]]] image[SINGLETON,REGULAR] := intersection[REGULAR,range[SINGLETON]] (* 1998 August 25 *) image[SINGLETON,set[x_]] := intersection[set[set[x]],image[V,set[x]]] (* derived 2005 January 11 in SET-SUCC.NB *) image[SINGLETON,succ[set[0]]] := succ[set[set[0]]] (* derived 2004 April 6 in SMALLER.NB *) image[SMALLER,set[0]] := complement[set[0]] (* added 2002 December 27 based on SBCOMMUT.NB *) image[SUBCOMMUTE,set[x_]] := intersection[image[V,set[x]],subcommutant[x]] (* derived 2004 December 23 in RA-SBV.NB *) image[SUBVAR,P[Id]] := range[POWER] (* added 2000 February 15 based on SUBVAR2.LOG *) image[SUBVAR,set[x_]] := intersection[image[V,set[x]],set[subvar[x]]] (* added 2002 June 13 based on ITOMSUCC.NB *) image[SUCC,intersection[omega,x_]] := intersection[omega,image[SUCC,x]] (* derived 2005 February 17 in X3741-49.NB *) image[SUCC,nat[x_]] := intersection[complement[set[0]],succ[nat[x]]] (* Theorem OM-SUC-6 in OM3 *) image[SUCC,omega] := intersection[omega,complement[set[0]]] (* revised 2003 June 1 based on REPLACE.NB *) image[SUCC,OMEGA] := intersection[OMEGA,complement[fix[BIGCUP]]] (* added 2002 April 18 based on SUCC.NB *) image[SUCC,REGULAR] := intersection[REGULAR,range[SUCC]] (* Theorem SUC-AP2 in SUC-REL proved 1999 October 3 *) image[SUCC,set[x_]] := set[succ[x]] (* Theorem SW-IM-2 in SW3 *) image[SWAP,x_] := inverse[x] (* added 2000 January 5 based on APSYMDIF.NB *) image[SYMDIF,x_] := image[DIF,composite[CAP,id[x],inverse[CUP]]] (* added 1999 December 2 based on SYMDIF-4.NB *) image[SYMDIF,cart[set[0],x_]] := x (* added 1999 December 2 based on SYMDIF-4.NB *) image[SYMDIF,cart[x_,set[0]]] := x (* added 1999 December 2 based on SYMDIF-2.NB *) image[SYMDIF,cart[set[x_],set[y_]]] := intersection[image[V,set[x]],image[V,set[y]], set[union[intersection[x,complement[y]],intersection[y,complement[x]]]]] (* added 1999 December 24 based on SYMDIF-2.NB *) image[SYMDIF,cart[set[x_],V]] := image[V,set[x]] (* added 1999 December 24 based on SYMDIF-2.NB *) image[SYMDIF,cart[V,set[x_]]] := image[V,set[x]] (* added 1999 December 23 based on SYMDIF.NB *) image[SYMDIF,composite[Id,x_]] := image[SYMDIF,x] (* added 1999 December 7 based on RESTRICT.NB *) image[SYMDIF,DISJOINT] := V (* added 1999 December 2 based on SYMDIF-4.NB *) image[SYMDIF,Id] := set[0] (* added 1999 December 2 based on SYMDIF-4.NB *) image[SYMDIF,id[x_]] := intersection[image[V,x],set[0]] (* added 1999 December 2 based on SYMDIF-4.NB *) image[SYMDIF,inverse[x_]] := image[SYMDIF,x] (* added 1999 December 7 based on RESTRICT.NB *) image[SYMDIF,S] := V (* added 2001 March 31 based on HF.NB *) image[TC,FULL] := FULL (* added 2003 January 18 based on HC-TC-OM.NB *) image[TC,image[inverse[S],omega]] := omega (* added 2003 January 18 based on HC-TC-OM.NB *) image[TC,omega] := omega (* added 2001 August 1 based on RK-TC.NB *) image[TC,OMEGA] := OMEGA (* added 2002 May 4 based on HC-OMEGA.NB *) image[TC,P[OMEGA]] := OMEGA (* added 2001 August 16 based on TC-REG.NB *) image[TC,REGULAR] := intersection[FULL,REGULAR] (* Theorem TC-VS in TC3 proved 2001 January 4 *) image[TC,set[x_]] := set[tc[x]] (* derived 2004 March 21 in TRV-WRAP.NB *) image[trv[cross[Id,x_]],composite[Id,y_]] := composite[trv[x],y] (* added 2003 October 7 based on WF-IND.NB *) image[trv[x_],image[trv[x_],y_]] := image[x,image[trv[x],y]] (* derived 2004 March 23 in TRV-K.NB *) image[trv[K],set[0]] := intersection[FINITE,complement[set[0]]] (* derived 2005 January 29 in TRV-SUCC.NB *) image[trv[SUCC],set[0]] := intersection[omega,complement[set[0]]] (* revised 2001 January 19 based on TWIST-1.NB *) image[TWIST,x_] := twist[x] (* added 2002 November 2 based on TWIST-IM.NB *) image[twist[x_],y_] := composite[SECOND, intersection[x,composite[inverse[FIRST],y,FIRST]],inverse[SECOND]] (* Theorem TW-X in TWIST proved 2000 August 6 *) image[TWIST,cart[x_,y_]] := cross[x,y] (* Theorem TW-IM-X in TWIST proved 2000 August 6 *) image[TWIST,cross[x_,y_]] := cart[composite[Id,x],composite[Id,y]] (* Theorem SBV-SC2 proved 2000 March 10 *) image[x_,U[subvar[x_]]] := U[subvar[x]] (* added 2003 September 29 based on WF.NB *) image[x_,U[subvar[trv[x_]]]] := U[subvar[trv[x]]] (* added 2001 October 20 based on UB-LB.NB *) image[UB[x_],complement[P[y_]]] := image[x,complement[y]] (* derived 2004 February 14 in LUB-SET.NB *) image[UB[x_],complement[set[0]]] := range[x] (* derived 2004 March 30 in CO-ES-ID.NB *) image[UB[x_],image[S,y_]] := image[UB[x],y] (* added 2000 December 24 based on LT-CO-S *) image[UB[x_],P[y_]] := V (* derived 2004 February 19 in REPLACE2.NB *) image[UB[x_],set[y_]] := intersection[image[V,set[y]],ub[x,y]] (* revised 2003 May 24 based on TOP-BASE.NB *) image[UCLOSURE,binclosed[CAP]] := TOPS (* derived 2004 January 8 in FIN-FU.NB *) image[UCLOSURE,FINITE] := intersection[FINITE,fix[UCLOSURE]] (* added 2002 February 9 based in UCL-FULL.NB *) image[UCLOSURE,FULL] := intersection[FULL,fix[UCLOSURE]] (* added 2003 March 18 based on UCL-IMSG *) image[UCLOSURE,image[SINGLETON,x_]] := image[ADJOIN[set[0]],image[SINGLETON,x]] (* derived 2004 December 23 in UCLA-SBV.NB *) image[UCLOSURE,image[SUBVAR,x_]] := image[SUBVAR,x] (* derived 2004 October 12 in CMPCT-OM.NB *) image[UCLOSURE,omega] := intersection[omega,complement[set[0]]] (* derived 2003 December 24 in UCL-ON.NB *) image[UCLOSURE,OMEGA] := intersection[OMEGA,complement[fix[BIGCUP]]] (* added 2003 March 16 based on CORE-UCL.NB *) image[UCLOSURE,P[P[x_]]] := intersection[fix[UCLOSURE],P[P[x]]] (* added 2001 September 23 based on IM-BC.NB *) image[UCLOSURE,range[POWER]] := range[POWER] (* added 2003 March 18 based on UCL-IMSG *) image[UCLOSURE,range[SINGLETON]] := image[ADJOIN[set[0]],range[SINGLETON]] (* added 2001 October 2 based on REPLACE.NB *) image[UCLOSURE,set[x_]] := set[Uclosure[x]] (* derived 2003 December 27 in T1.NB *) image[UCLOSURE,T1] := intersection[T1,fix[UCLOSURE]] (* derived 2003 December 30 in T2.NB *) image[UCLOSURE,T2] := intersection[T2,fix[UCLOSURE]] (* added 2003 April 10 based on TOP-BASE.NB *) image[UCLOSURE,TOPS] := TOPS (* Theorem IM-6C in IM2 *) image[z_,union[x_,y_]] := union[image[z,x],image[z,y]] (* Theorem IM-6D in IM2 *) image[union[x_,y_],z_] := union[image[x,z],image[y,z]] (* derived 2004 December 20 in IMG-U.NB *) IMAGE[union[x_,y_]] := composite[CUP,intersection[composite[inverse[FIRST],IMAGE[x]],composite[inverse[SECOND],IMAGE[y]]]] (* Theorem IN-5A in IM2 *) image[x_,V] := range[x] (* related to IMG-V in IMG2.DEM *) IMAGE[V] := cart[set[0],set[0]] (* various non-empty classes *) (* revised 2003 September 7 based on FIX-HULL.NB *) image[V,Aclosure[x_]] := image[V,x] (* Theorem BC-IM-V in BIGCUP/BC proved 1998 July 5 *) image[V,BIGCUP] := V (* added 1996 June 29 Theorem IM-V-I in IM2 proved 1998 July 4 *) image[V,cart[x_,y_]] := intersection[image[V,x],image[V,y]] (* Theorem SP-C-A-V in SP3 proved 1998 July 5 *) image[V,complement[A[x_]]] := image[V,x] (* added 2003 October 28 based on APPLY.NB *) image[V,complement[APPLY[x_,y_]]] := image[V,intersection[domain[x],set[y]]] image[V,complement[cart[x_,y_]]] := V (* Corollary SR-0-IM3 in SR1 proved 1998 August 17 *) image[V,complement[image[S,x_]]] := complement[image[V,intersection[set[0],x]]] image[V,complement[P[x_]]] := image[V,complement[x]] (* derived 2004 December 15 in LB-UB-RS.NB *) image[V,complement[setpart[x_]]] := V (* Corollary SC-4-IMV proved 1998 July 17 in SC1 *) image[V,complement[set[x_]]] := V (* added 1996 June 29 *) image[V,composite[x_,y_]] := image[V,intersection[domain[x],range[y]]] (* Theorem X-IMV proved 1998 October 14 *) image[V,cross[x_,y_]] := intersection[image[V,domain[x]],image[V,domain[y]]] (* Theorem DI-0 in DI added 1998 July 2 *) image[V,Di] := V image[V,DISJOINT] := V image[V,DUP] := V image[V,E] := V image[V,FIRST] := V (* added 2003 September 7 based on FIX-HULL.NB *) image[V,fix[HULL[x_]]] := image[V,x] (* From session REPLACE1.LOG added 1999 February 18 *) image[V,FULL] := V image[V,id[x_]] := image[V,x] image[V,Id] := V image[V,image[x_,y_]] := image[V,intersection[domain[x],y]] (* added 2001 November 22 based on MISC.NB *) image[V,intersection[x_,complement[image[Di,x_]]]] := image[V,intersection[range[SINGLETON],set[x]]] (* derived 2005 June 17 in DF.NB *) image[V,intersection[complement[nat[x_]],nat[y_]]] := image[V,intersection[nat[y],set[nat[x]]]] (* added 2002 June 26 based on OMEGA.NB *) image[V,intersection[complement[P[complement[set[0]]]],invar[SUCC], P[complement[set[x_]]]]] := complement[image[V,intersection[omega,set[x]]]] (* derived 2005 February 18 in MUL-NORM.NB *) image[V,intersection[complement[P[complement[set[y_]]]],P[cart[omega,V]], subvar[union[cart[cart[set[0],set[0]],cart[set[0],set[0]]],cross[SUCC,x_]]]]] := image[V,intersection[iterate[x,set[0]],set[y]]] image[V,intersection[complement[x_],set[u_]]] := intersection[image[V,set[u]],complement[image[V,intersection[x,set[u]]]]] (* added 2003 September 7 based on FIX-HULL.NB *) image[V,intersection[complement[set[0]],P[x_]]] := image[V,x] image[V,intersection[composite[x_,y_],z_]] := image[V,fix[composite[y,inverse[z],x]]] (* derived 2005 February 6 in DESCEND.NB *) image[V,intersection[DESCENDING,set[x_]]] := intersection[complement[image[V,intersection[x,P[complement[x]]]]],image[V,set[x]]] (* added 2000 October 24 based on TC.NB *) image[V,intersection[FULL,image[S,set[x_]]]] := image[V,set[x]] (* derived 2005 May 17 in DIVRULES.NB *) image[V,intersection[image[DIV,set[x_]],set[0]]] := image[V,intersection[omega,set[x]]] image[V,intersection[x_,image[inverse[z_],y_]]] := image[V,intersection[y,image[z,x]]] (* added 1999 December 20 based on CUP-C9.NB *) image[V,intersection[image[S,x_],set[y_]]] := intersection[image[V,intersection[x,P[y]]],image[V,set[y]]] image[V,intersection[inverse[x_],y_]] := image[V,fix[composite[x,y]]] (* derived 2005 February 18 in MUL-NORM.NB *) image[V,intersection[NATMUL,set[x_]]] := intersection[image[V,intersection[omega,set[first[first[x]]]]], image[V,intersection[iterate[iterate[SUCC,set[first[first[x]]]],set[0]],set[pair[second[first[x]],second[x]]]]]] (* derived 2005 February 18 in MUL-NORM.NB *) image[V,intersection[NATMUL,set[pair[pair[x_,y_],z_]]]] := intersection[image[V,intersection[omega,set[x]]], image[V,intersection[iterate[iterate[SUCC,set[x]],set[0]],set[pair[y,z]]]]] (* added 2002 June 26 based on OMEGA.NB *) image[V,intersection[omega,set[succ[x_]]]] := image[V,intersection[omega,set[x]]] (* added 1999 December 20 based on CUP-C9.NB *) image[V,intersection[P[x_],set[y_]]] := intersection[complement[image[V,intersection[y,complement[x]]]],image[V,set[y]]] (* derived 2005 February 22 in PRIMES.NB *) image[V,intersection[PRIMES,set[x_]]] := image[V,intersection[image[PAIRSET,Di],set[image[inverse[DIV],set[x]]]]] image[V,intersection[REGULAR,complement[set[x_]]]] := V (* added 2002 October 31 based on REPLACE.NB *) image[V,intersection[x_,y_,set[z_]]] := intersection[image[V,intersection[x,set[z]]],image[V,intersection[y,set[z]]]] (* added 2003 June 29 based on TWIST.NB *) image[V,intersection[set[x_],twist[y_]]] := image[V,intersection[image[image[y, cart[set[first[first[x]]],set[first[second[x]]]]],set[second[first[x]]]],set[second[second[x]]]]] (* derived 2004 May 4 in REPLACE.NB *) image[V,intersection[set[x_],Uclosure[y_]]] := intersection[ complement[image[V,intersection[x,complement[core[y,x]]]]],image[V,set[x]]] (* see: IVR-IMSR session 1999 January 10 *) image[V,invar[x_]] := V (* added 1996 June 29 *) image[V,inverse[x_]] := image[V,domain[x]] (* added 2002 September 11 based on ITERATE.NB *) image[V,iterate[x_,y_]] := image[V,y] (* derived 2005 June 17 in DF.NB *) image[V,natsub[x_,y_]] := union[complement[image[V,intersection[omega,set[x]]]], image[V,intersection[x,complement[y]]],image[V,intersection[y,complement[x]]]] image[V,omega] := V (* added 1996 June 29 *) image[V,P[x_]] := V (* added 1996 June 29 *) image[V,range[x_]] := image[V,domain[x]] (* Theorem REG-IMV in REG2 proved 1999 March 15 *) image[V,REGULAR] := V (* added 2002 October 27 based on NATMUL.NB *) image[V,rotate[x_]] := image[V,domain[domain[x]]] image[V,S] := V image[V,SECOND] := V image[V,SINGLETON] := V (* Theorem SP-A-IMV in SP2 proved 1998 September 26 *) image[V,set[A[x_]]] := image[V,x] (* added 2002 January 26 based on IMV-ACL.NB *) image[V,set[Aclosure[x_]]] := image[V,set[x]] (* added 2003 October 28 based on APPLY.NB *) image[V,set[APPLY[x_,y_]]] := image[V,intersection[domain[x],set[y]]] (* added 2002 January 26 based on IMV.NB *) image[V,set[card[x_]]] := image[V,intersection[OMEGA,image[Q,set[x]]]] (* added 1999 February 7 on basis of session IMV-SSCP *) image[V,set[cart[x_,y_]]] := union[complement[image[V,x]],complement[image[V,y]], intersection[image[V,set[x]],image[V,set[y]]]] (* added 2000 September 28 based on SUBST.NB *) image[V,set[complement[image[V,x_]]]] := image[V,x] (* Theorem RP-CO-EQ in RP1 proved 1999 February 7 *) image[V,set[composite[x_,y_]]] := intersection[image[V,set[image[x,range[y]]]], image[V,set[image[inverse[y],domain[x]]]]] (* derived 2004 April 17 in REPLACE.NB *) image[V,set[core[x_,y_]]] := image[V,set[intersection[x,P[y]]]] (* Added 1999 February 7 based on session CO-X-V.LOG *) image[V,set[cross[x_,y_]]] := union[complement[image[V,domain[x]]],complement[image[V,domain[y]]], intersection[image[V,set[domain[x]]], image[V,set[domain[y]]],image[V,set[range[x]]], image[V,set[range[y]]]]] (* derived 2004 March 29 based on HULL.NB *) image[V,set[hull[x_,y_]]] := image[V,intersection[x,image[S,set[y]]]] (* added 1996 June 29 *) image[V,set[id[x_]]] := image[V,set[x]] (* added 2001 May 10 based on UCLOS-1.NB *) image[V,set[image[BIGCUP,x_]]] := image[V,set[x]] (* added 2000 September 8 based on IMV-DI.NB *) image[V,set[image[Di,x_]]] := complement[image[V,x]] (* Theorem RP-8-DEM in RP2 proved 1998 November 11 *) image[V,set[image[inverse[S],x_]]] := image[V,set[x]] (* corollary of Corollary IMG-V-SS in IMG2 proved 1999 February 6 *) image[V,set[IMAGE[x_]]] := image[V,set[domain[VERTSECT[x]]]] (* added 2003 August 9 based on REIFZADD.NB *) image[V,set[intadd[x_,y_]]] := intersection[image[V,intersection[Z,set[x]]], image[V,intersection[Z,set[y]]]] (* added 1999 February 7 on basis of session IMV-I.LOG *) image[V,set[intersection[x_,image[V,y_]]]] := union[complement[image[V,y]],image[V,set[x]]] (* derived 2005 February 13 in NAT.NB *) image[V,set[nat[x_]]] := V (* added 2002 July 28 based on ADD-NAT.NB *) image[V,set[natadd[x_,y_]]] := intersection[image[V,intersection[omega,set[x]]], image[V,intersection[omega,set[y]]]] (* added 2002 August 21 based on NATMUL.NB *) image[V,set[natmul[x_,y_]]] := intersection[image[V,intersection[omega,set[x]]], image[V,intersection[omega,set[y]]]] image[V,set[P[x_]]] := image[V,set[x]] (* added 2002 January 1 based on PAIR-MEM.NB *) image[V,set[PAIR[x_,y_]]] := intersection[image[V,set[x]],image[V,set[y]]] (* derived 2004 December 11 in OO-Q.NB *) image[V,set[range[oopart[x_]]]] := image[V,set[domain[oopart[x]]]] (* added 2002 January 26 based on IMV.NB *) image[V,set[rank[x_]]] := image[V,intersection[REGULAR,set[x]]] (* added 2001 November 17 based on 1ST-2ND.NB *) image[V,set[second[x_]]] := image[V,set[first[x]]] (* added 2002 January 26 based on IMV.NB *) image[V,set[succ[x_]]] := image[V,set[x]] (* added 2000 October 26 based on TC-8.NB *) image[V,set[tc[x_]]] := image[V,set[x]] image[V,set[U[x_]]] := image[V,set[x]] (* added 2002 January 26 based on IMV.NB *) image[V,set[Uclosure[x_]]] := image[V,set[x]] image[V,set[union[x_,y_]]] := intersection[image[V,set[x]], image[V,set[y]]] image[V,SUCC] := V image[V,SWAP] := V (* added 1996 June 29 *) image[V,U[x_]] := image[V,intersection[x,complement[set[0]]]] (* added 2002 November 16 based on INTEGER.NB *) image[VERTSECT[EQUIDIFF],cart[omega,omega]] := Z (* added 2002 November 30 based on POS-NEG.NB *) image[VERTSECT[EQUIDIFF],cart[set[0],omega]] := range[PLUS] (* added 2002 November 30 based on POS-NEG.NB *) image[VERTSECT[EQUIDIFF],composite[id[omega],inverse[S],id[omega]]] := image[INVERSE,range[PLUS]] (* added 2002 November 30 based on POS-NEG.NB *) image[VERTSECT[EQUIDIFF],composite[id[omega],S,id[omega]]] := range[PLUS] (* added 2002 November 29 based on PLUS.NB *) image[VERTSECT[inverse[rotate[NATADD]]],omega] := image[INVERSE,range[PLUS]] (* 1999 July 12 SESSION2.LOG *) image[VERTSECT[x_],set[y_]] := intersection[ image[V,set[y]],set[image[x,set[y]]]] (* added 1999 October 23 based on VSPAIR.LOG *) image[VERTSECT[x_],cart[set[y_],set[z_]]] := intersection[image[V,set[y]],image[V,set[z]], set[image[x,cart[set[y],set[z]]]]] (* added 2003 February 4 based on PLUS-Q.NB *) image[VERTSECT[composite[id[omega],S]],omega] := image[RC[omega],omega] (* derived 2004 August 21 in VS-RS.NB *) image[VS,P[funpart[x_]]] := P[composite[SINGLETON,funpart[x]]] (* derived 2004 August 21 in VS-RS.NB *) image[VS,P[Id]] := P[SINGLETON] (* derived 2004 August 21 in VS-RS.NB *) image[VS,RS[x_]] := P[composite[VERTSECT[x],id[domain[x]]]] (* added 2003 June 11 based on VS.NB *) image[VS,set[x_]] := intersection[image[V,set[x]],set[composite[VERTSECT[x],id[domain[x]]]]] (* derived 2004 September 25 in LAMB-WF.NB *) image[WFPART,set[x_]] := intersection[image[V,set[x]],set[wf[x]]] (* derived 2004 September 25 in LAMB-WF.NB *) image[WFPART,WF] := WF (* derived 2004 November 26 in XS-SS-0.NB *) image[XS,P[complement[cart[V,V]]]] := set[set[0]] (* derived 2004 November 16 in XS.NB *) image[XS,set[x_]] := intersection[image[V,set[x]],set[X[x]]] (* added 2002 May 17 based on ZN.NB *) image[ZN,image[ZN,x_]] := image[ZN,x] (* Theorem HF-ZN-5 in HF3 proved 2001 August 28 *) image[ZN,omega] := intersection[REGULAR,H[FINITE]] (* Theorem RK-DO5' in RANK6 proved 2001 August 11 *) image[ZN,OMEGA] := REGULAR (* Theorem RK-ON-PC in RANK6 proved 2001 August 11 *) image[ZN,P[OMEGA]] := image[ZN,OMEGA] (* Theorem ZN-REG1 in ZN4 proved 2001 July 19 *) image[ZN,REGULAR] := REGULAR (* added 2001 July 14 based on ZN-IMG.NB *) image[ZN,set[x_]] := intersection[image[V,set[x]],P[image[ZN,x]]] (* added 2002 May 17 based on TC.NB *) image[ZN,tc[x_]] := image[ZN,x] (* definition of implication *) implies[p_,q_] := or[not[p],q] (* Quaife's definition of INDUCTIVE *) INDUCTIVE[x_] := and[member[0,x],subclass[image[SUCC,x],x]] (* added 2003 August 9 based on INTADDXY.NB *) intadd[0,x_] := V (* added 2003 August 10 based on ADD-ZERO.NB *) intadd[x_,id[omega]] := union[x,complement[image[V,intersection[Z,set[x]]]]] (* added 2003 August 12 based on RO-ZADD.NB *) intadd[x_,inverse[x_]] := union[complement[image[V,intersection[Z,set[x]]]],id[omega]] (* added 2003 August 12 based on RO-ZADD.NB *) intadd[x_,union[y_,complement[image[V,z_]]]] := union[complement[image[V,z]],intadd[x,y]] (* Theorem I-6 in I *) intersection[x_,x_] := x (* Theorem I-4 in I *) intersection[0,x_] := 0 (* added 2002 June 12 based on ABSORB.NB *) intersection[A[x_],A[intersection[x_,y_]]] := A[x] intersection[A[complement[x_]],A[x_]] := 0 (* added 2000 January 5 based on AP-DIF.NB *) intersection[A[x_],complement[image[V,x_]]] := complement[image[V,x]] (* added 2000 January 5 based on A-SC-0.NB *) intersection[A[x_],complement[U[x_]]] := complement[image[V,x]] (* derived 2005 May 17 in NATRULES.NB *) intersection[A[nat[x_]],nat[x_]] := 0 (* derived 2004 May 4 in CRHL-FIX.NB *) intersection[x_,Aclosure[x_]] := x (* added 2001 May 10 based on ACLOSURE.NB *) intersection[ACLOSURE,complement[S]] := 0 (* added 2002 May 6 based on FIX-HULL.NB *) intersection[Aclosure[x_],fix[HULL[x_]]] := Aclosure[x] (* added 2003 October 15 based on ACYCLIC.NB *) intersection[ACYCLIC,P[cart[V,V]]] := ACYCLIC (* derived 2004 May 4 in ACY-WF.NB *) intersection[ACYCLIC,P[Di]] := ACYCLIC (* added 2003 October 15 based on ACYCLIC.NB *) intersection[ACYCLIC,TRV] := intersection[TRV,P[Di]] (* Theorem ADJ-I-1 in ADJOIN proved 1999 April 15 *) intersection[ADJOIN[x_],inverse[S]] := id[image[S,set[x]]] (* derived 2004 January 16 in ADJ-UIDK.NB *) intersection[ADJOIN[set[x_]],composite[PS,PS]] := 0 (* derived 2005 January 17 in CP-PO.NB *) intersection[ANTISYM,image[CART,Id]] := union[image[SINGLETON,Id],set[0]] (* added 2002 January 17 based on ANTISYM2.NB *) intersection[ANTISYM,image[inverse[IMAGE[id[cart[V,V]]]],x_]] := intersection[ANTISYM,x] (* added 2002 January 17 based on ANTISYM1.NB *) intersection[ANTISYM,P[cart[V,V]]] := ANTISYM (* added 2002 January 19 based on PO.NB *) intersection[ANTISYM,RFX,TRV] := PO (* added 2002 January 17 based on ANTISYM1.NB *) intersection[ANTISYM,SYM] := P[Id] (* derived 2004 December 7 in ASV-DIV.NB *) intersection[ASSOCIATIVE,P[cart[cart[V,V],V]]] := ASSOCIATIVE (* Theorem BA-BC-SG in BIGCAP/BA1 proved 1999 December 29 *) intersection[BIGCAP,BIGCUP] := inverse[SINGLETON] (* derived 2003 December 31 in BC-I.NB *) intersection[BIGCUP,composite[inverse[E],UCLOSURE]] := BIGCUP (* derived 2003 December 31 in BC-I.NB *) intersection[BIGCUP,composite[inverse[POWER],S]] := BIGCUP (* added 2002 February 9 based on IDEM-BIJ.NB *) intersection[BIJ,FUNS] := BIJ (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[BIJ,IDEM] := P[Id] (* added 2002 February 9 based on IDEM-BIJ.NB *) intersection[BIJ,PROJ] := P[Id] (* added 2000 April 27 based on BIJ.NB *) intersection[BIJ,P[cart[V,V]]] := BIJ (* added 2000 April 27 based on BIJ.NB *) intersection[BIJ,P[complement[cart[V,V]]]] := set[0] (* added 2001 December 22 based on DORA-2.NB *) intersection[BIJ,range[CART]] := union[image[SINGLETON,cart[V,V]],set[0]] (* added 2001 October 16 based on IM-IN-SG.NB *) intersection[BIJ,range[SINGLETON]] := image[SINGLETON,cart[V,V]] (* revised 2003 May23 based on DEF-CLOS.NB *) intersection[binclosed[CAP],fix[UCLOSURE]] := TOPS (* added 2003 May 23 based on REPLACE.NB *) intersection[binclosed[CAP],image[PAIRSET,S]] := image[PAIRSET,S] (* added 2003 May 23 based on REPLACE.NB *) intersection[binclosed[CAP],range[PAIRSET]] := image[PAIRSET,S] (* added 2003 May 23 based on REPLACE.NB *) intersection[binclosed[CAP],range[POWER]] := range[POWER] (* revised 2003 May23 based on DEF-CLOS.NB *) intersection[binclosed[CAP],range[SINGLETON]] := range[SINGLETON] (* added 2003 May 21 based on BINCLOSE.NB *) intersection[binclosed[x_],cliques[domain[VERTSECT[x_]]]] := binclosed[x] (* added 2003 May 23 based on REPLACE.NB *) intersection[binclosed[CUP],image[PAIRSET,S]] := image[PAIRSET,S] (* added 2003 May 23 based on REPLACE.NB *) intersection[binclosed[CUP],range[PAIRSET]] := image[PAIRSET,S] (* revised 2003 May23 based on DEF-CLOS.NB *) intersection[binclosed[CUP],range[POWER]] := range[POWER] (* revised 2003 May23 based on DEF-CLOS.NB *) intersection[binclosed[CUP],range[SINGLETON]] := range[SINGLETON] (* revised 2003 May 24 based on DIFCL-0.NB *) intersection[binclosed[DIF],P[complement[set[0]]]] := set[0] (* revised 2003 May23 based on DEF-CLOS.NB *) intersection[binclosed[DIF],range[POWER]] := range[POWER] (* revised 2003 May23 based on DEF-CLOS.NB *) intersection[binclosed[DIF],range[SINGLETON]] := set[set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[DISJOINT,CUP]] := cart[DISJOINT,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[DISJOINT,DIF]] := CAP (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[DISJOINT,FIRST]] := cart[DISJOINT,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[DISJOINT,SECOND]] := cart[DISJOINT,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[inverse[S],CUP]] := CAP (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[inverse[S],DIF]] := cart[DISJOINT,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[inverse[S],FIRST]] := CAP (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[inverse[S],SECOND]] := CAP (* added 1999 December 7 based on RESTRICT.NB *) intersection[CAP,composite[inverse[S],SYMDIF]] := cart[DISJOINT,set[0]] (* added 1999 December 7 based on RESTRICT.NB *) intersection[CAP,composite[S,CUP]] := inverse[DUP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[S,DIF]] := composite[FIRST,id[S]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[S,FIRST]] := composite[FIRST,id[S]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CAP,composite[S,SECOND]] := composite[SECOND,id[inverse[S]]] (* added 1999 December 7 based on RESTRICT.NB *) intersection[CAP,composite[S,SYMDIF]] := inverse[DUP] (* added 1999 December 7 based on FLIPRULE.NB *) intersection[CAP,composite[x_,SWAP]] := composite[intersection[CAP,x],SWAP] (* added 1999 July 24 based on session CAP-CUP *) intersection[CAP,CUP] := inverse[DUP] (* added 1999 October 26 based on DIF1.NB *) intersection[CAP,DIF] := cart[cart[set[0],V],set[0]] (* Theorem CAP-I-1 in CAP proved 2000 July 31 *) intersection[CAP,FIRST] := composite[FIRST,id[S]] (* Theorem CAP-I-2 in CAP proved 2000 July 31 *) intersection[CAP,SECOND] := composite[SECOND,id[inverse[S]]] (* added 2002 May 28 based on CARD-OM.NB *) intersection[CARD,Q] := CARD intersection[cart[x_,y_],z_] := composite[id[y],z,id[x]] (* added 2000 December 17 based on Q.NB *) intersection[cliques[x_],cliques[complement[x_]]] := set[0] (* added 2000 December 17 based on Q.NB *) intersection[cliques[x_],complement[domain[GREATEST[x_]]]] := set[0] (* added 2000 December 17 based on CLIQUES.NB *) intersection[cliques[complement[x_]],domain[GREATEST[x_]]] := 0 (* added 2002 January 18 based on CLIQUES.NB *) intersection[cliques[complement[x_]],P[domain[VERTSECT[x_]]]] := fix[composite[DISJOINT,IMAGE[x]]] (* added 2000 December 17 based on Q.NB *) intersection[cliques[complement[x_]],subvar[x_]] := set[0] (* added 2002 December 21 based on IVR-EQDF.NB *) intersection[cliques[x_],invar[x_]] := intersection[cliques[x],fix[IMAGE[x]]] (* added 2001 November 11 based on IMIN-SG.NB *) intersection[cliques[x_],range[SINGLETON]] := image[SINGLETON,fix[x]] (* added 2000 December 9 based on CLIQUES.NB *) intersection[cliques[x_],set[0]] := set[0] (* added 2000 December 9 based on IM-CP-0.NB *) intersection[cliques[x_],subvar[x_]] := cliques[x] (* derived 2004 June 26 in X1457.NB *) intersection[cliques[union[Id,composite[inverse[FIRST],Di,FIRST]]],P[cart[V,V]]] := FUNS (* added 2001 October 23 based on CHAINS.NB *) intersection[cliques[union[S,inverse[S]]],range[PAIRSET]] := image[PAIRSET,S] (* added 2003 July 4 based on COARSER.NB *) intersection[COARSER,composite[inverse[BIGCUP],inverse[POWER],S]] := COARSER (* added 2003 July 4 based on COARSER.NB *) intersection[COARSER,inverse[COARSER]] := Id (* derived 2003 December 31 in COARSER.NB *) intersection[COARSER,inverse[S]] := Id (* derived 2003 December 31 in COARSER.NB *) intersection[COARSER,S] := COARSER (* derived 2004 February 7 in COMPACT.NB *) intersection[COMPACT,P[FINITE]] := intersection[FINITE,P[FINITE]] (* Theorem C-3A in C1 *) intersection[complement[x_],x_] := 0 intersection[complement[cart[x_,y_]],complement[cart[x_,z_]]] := complement[cart[x,union[y,z]]] intersection[complement[cart[x_,z_]],complement[cart[y_,z_]]] := complement[cart[union[x,y],z]] (* added 2000 February 5 based on FUNPART.NB *) intersection[complement[cart[V,V]],complement[composite[x_,y_]]] := complement[cart[V,V]] (* derived 2005 January 4 in ORDINAL.NB *) intersection[complement[x_],complement[set[x_]]] := complement[succ[x]] (* added 2003 August 7 based on VS-EQDF.NB *) intersection[complement[composite[complement[E],x_]],composite[inverse[S],VERTSECT[x_]]] := VERTSECT[x] (* added 2003 August 7 based on VS-EQDF.NB *) intersection[complement[composite[complement[E],EQUIDIFF]],inverse[UB[EQUIDIFF]]] := VERTSECT[EQUIDIFF] (* derived 2004 March 9 in IDEMLTGT.NB *) intersection[complement[composite[complement[E],GREATEST[x_]]],inverse[S],LB[LB[x_]]] := VERTSECT[GREATEST[x]] (* added 2000 November 7 based on VS.NB *) intersection[complement[composite[complement[E],x_]],inverse[LB[x_]]] := VERTSECT[x] (* added 2002 July 30 based on LAMBAPPL.NB *) intersection[complement[composite[complement[E],LB[x_]]],LB[UB[x_]]] := VERTSECT[LB[x]] (* derived 2004 March 9 in IDEMLTGT.NB *) intersection[complement[composite[complement[E],LEAST[x_]]],inverse[S],LB[UB[x_]]] := VERTSECT[LEAST[x]] (* added 2002 December 19 based on PLUSNORM.NB *) intersection[complement[composite[complement[E],SWAP,x_]], composite[INVERSE,inverse[LB[x_]]]] := VERTSECT[composite[SWAP,x]] (* added 2002 December 19 based on PLUSNORM.NB *) intersection[complement[composite[complement[E],SWAP,inverse[x_]]], composite[INVERSE,inverse[UB[x_]]]] := VERTSECT[composite[SWAP,inverse[x]]] (* added 2002 July 30 based on LAMBAPPL.NB *) intersection[complement[composite[complement[E],UB[x_]]],LB[LB[x_]]] := VERTSECT[UB[x]] (* added 2001 July 21 based on LB-ZN.NB *) intersection[complement[composite[complement[E],ZN]], composite[ZN,POWER]] := VERTSECT[ZN] (* added 2001 July 4 based on VS-1.NB *) intersection[complement[composite[complement[E],inverse[x_]]], inverse[UB[x_]]] := VERTSECT[inverse[x]] (* derived 2004 March 9 in IDEMLTGT.NB *) intersection[complement[composite[complement[x_],GREATEST[x_]]],GREATEST[x_]] := GREATEST[x] (* added 1999 October 26 based on VS-RULE.1 *) intersection[complement[composite[x_,complement[inverse[E]]]], complement[composite[complement[x_],inverse[E]]]] := union[complement[cart[V,V]],inverse[VERTSECT[inverse[x]]]] (* added 2000 November 7 based on VS.NB *) intersection[complement[composite[x_,complement[inverse[E]]]],UB[x_]] := inverse[VERTSECT[inverse[x]]] (* derived 2004 March 9 in IDEMLTGT.NB *) intersection[complement[composite[complement[inverse[x_]],LEAST[x_]]],LEAST[x_]] := LEAST[x] (* added 2000 November 13 based on MAX.NB *) intersection[complement[composite[complement[inverse[x_]],UB[x_]]],UB[x_]] := LUB[x] (* added 2000 November 13 based on MAX.NB *) intersection[complement[composite[complement[x_],LB[x_]]],LB[x_]] := GLB[x] (* added 1999 October 24 based on FUNRULE.LOG *) intersection[x_,complement[composite[Di,x_]]] := union[funpart[x],intersection[x,complement[cart[V,V]]]] (* added 2000 February 5 based on REVISIT.NB *) intersection[complement[composite[Di,x_]],funpart[x_]] := funpart[x] (* derived 2004 May 7 in OOPART.NB *) intersection[complement[composite[x_,Di]],funpart[x_]] := oopart[x] (* modified 1999 October 25 based on VSRULES.LOG *) intersection[complement[composite[E,complement[x_]]], complement[composite[complement[E],x_]]] := union[complement[cart[V,V]],VERTSECT[x]] (* added 1999 October 25 based on VSRULES.LOG *) intersection[complement[composite[E,x_]], complement[composite[complement[E],complement[x_]]]] := union[complement[cart[V,V]],VERTSECT[composite[Id,complement[x]]]] (* derived 2004 March 6 in IMAGE.NB *) intersection[complement[composite[E,UB[complement[x_]]]],composite[S,IMAGE[x_]]] := IMAGE[x] (* added 2000 November 7 based on VS.NB *) intersection[complement[composite[inverse[x_],complement[inverse[E]]]],LB[x_]] := inverse[VERTSECT[x]] (* based on 1999 December 10 session FUNPART.1 *) intersection[complement[composite[inverse[x_],Di]],inverse[x_]] := inverse[funpart[x]] (* added 1999 October 26 based on VS-RULE.1 *) intersection[complement[composite[x_,inverse[E]]], complement[composite[complement[x_],complement[inverse[E]]]]] := union[complement[cart[V,V]],inverse[VERTSECT[complement[inverse[x]]]]] (* added 2000 December 7 based on GOBACK.NB *) intersection[complement[composite[x_,inverse[E]]],inverse[E]] := GREATEST[complement[x]] (* derived 2004 April 22 in PSM-VS.NB *) intersection[complement[composite[inverse[PS],inverse[S]]],inverse[S]] := Id (* derived 2004 June 17 at X2096.NB *) intersection[complement[composite[PS,inverse[POWER],S]],composite[inverse[POWER],S]] := BIGCUP (* derived 2004 April 6 in SMALLER.NB *) intersection[complement[composite[Q,inverse[S]]],composite[Q,S]] := SMALLER (* derived 2004 April 6 in SMALLER.NB *) intersection[complement[composite[Q,S]],composite[Q,inverse[S]]] := inverse[SMALLER] (* added 2001 April 24 based on MAP.NB *) intersection[complement[cross[x_,z_]],cross[y_,z_]] := cross[intersection[y,complement[x]],z] (* added 2001 April 24 based on MAP.NB *) intersection[complement[cross[x_,y_]],cross[x_,z_]] := cross[x,intersection[z,complement[y]]] (* derived 2004 June 14 in FU-F-O.NB *) intersection[complement[domain[funpart[x_]]],domain[x_]] := fix[composite[inverse[x],Di,x]] (* derived 2004 February 20 in REPLACE1.NB *) intersection[complement[domain[x_]],lb[x_,V]] := 0 (* added 1999 December 24 based on VERTSECT.NB *) intersection[complement[domain[VERTSECT[x_]]],domain[x_]] := complement[domain[VERTSECT[x]]] (* added 2002 June 2 based on S-SUCC.NB *) intersection[complement[E],composite[S,SUCC]] := 0 (* added 2002 May 31 based on ALEPH-0.NB *) intersection[complement[FINITE],fix[CARD]] := intersection[complement[omega],fix[CARD]] (* added 2002 April 18 based on FIX-FUNP.NB *) intersection[complement[fix[composite[Di,x_]]],fix[x_]] := fix[funpart[x]] (* added 1999 November 28 based on TRANSTIV.NB *) intersection[complement[fix[composite[inverse[SECOND],complement[E], fix[composite[inverse[SECOND],inverse[FIRST],FIRST, intersection[composite[inverse[E],FIRST,FIRST], composite[inverse[SECOND],FIRST, intersection[composite[inverse[E],FIRST,FIRST], composite[inverse[SECOND],SECOND,SECOND]]]]]]]]], composite[inverse[S],COMPOSE,DUP]] := composite[COMPOSE,DUP] (* added 2003 October 28 based on APPLY.NB *) intersection[complement[image[Di,image[x_,set[y_]]]], image[x_,set[y_]]] := set[APPLY[funpart[x],y]] (* added 2003 October 15 based on ACYCLIC.NB *) intersection[complement[image[inverse[IMAGE[id[x_]]],y_]],P[x_]] := intersection[complement[y],P[x]] (* added 2003 May 21 based on INF-CLOS.NB *) intersection[complement[image[S,complement[domain[VERTSECT[x_]]]]], fix[composite[S,IMAGE[x_],POWER]]] := fix[composite[S,IMAGE[x],POWER]] (* Theorem SG-IM-C4 in SG2 proved 1998 September 2 *) intersection[complement[image[SINGLETON,x_]],image[SINGLETON,y_]] := image[SINGLETON,intersection[complement[x],y]] (* added 1998 August 31 *) intersection[complement[image[V,complement[x_]]],image[V,set[x_]]] := 0 (* added 2003 July 16 based on LAMBPAIR.NB *) intersection[complement[image[V,x_]],composite[y_,z_]] := composite[y,z,id[complement[image[V,x]]]] intersection[complement[image[V,x_]],image[V,set[x_]]] := complement[image[V,x]] intersection[complement[image[V,complement[x_]]],set[x_]] := 0 (* added 2000 January 5 based on AP-DIF.NB *) intersection[complement[image[V,x_]],complement[U[x_]]] := complement[image[V,x]] (* derived 2004 November 17 in INTERVAL.NB *) intersection[complement[image[V,intersection[x,complement[cart[V,V]]]]],image[S,set[x_]], P[union[complement[cart[domain[x_],V]],composite[Id,x_]]]] := image[inverse[image[inverse[COMPOSE],set[x]]],P[Id]] (* added 1998 August 30: if subclass[x,set[y]],then x is a set *) intersection[complement[image[V,intersection[complement[set[y_]],x_]]], complement[image[V,set[x_]]]] := 0 (* derived 2005 January 4 in ORDINAL.NB *) intersection[complement[image[V,intersection[FULL,complement[succ[x_]],P[x_]]]],image[V,set[x_]]] := image[V,intersection[OMEGA,set[x]]] (* derived 2005 June 17 in DF.NB *) intersection[complement[image[V,intersection[nat[y_],set[nat[x_]]]]],natsub[nat[x_],nat[y_]]] := nat[natsub[nat[x],nat[y]]] (* added 1998 January 24 *) intersection[complement[image[V,set[x_]]],complement[image[Di,x_]]] := 0 (* added 2000 September 22 based on LEFT.NB *) intersection[complement[image[V,set[x_]]], set[complement[image[V,set[x_]]]]] := 0 (* added 2000 November 21 based on NORMAL.NB *) intersection[complement[inverse[PS]],inverse[S]] := Id (* added 1999 October 31 based on INTINV.LOG *) intersection[complement[inverse[S]],inverse[PS]] := 0 intersection[complement[P[complement[x_]]],image[V,x_]] := complement[P[complement[x]]] (* added 2001 December 31 based on DORA-DJ.NB *) intersection[complement[P[complement[x_]]],P[x_]] := intersection[complement[set[0]],P[x]] (* derived 2005 January 11 in SET-SUCC.NB *) intersection[complement[P[complement[set[0]]]],P[succ[set[0]]]] := set[set[0],succ[set[0]]] (* added 2001 November 22 based on PC-I-SS.NB *) intersection[complement[P[complement[set[0]]]],succ[set[0]]] := set[set[0]] (* Theorem SG-IM-C3 in SG2 proved 1998 September 2 *) intersection[complement[P[x_]],image[SINGLETON,y_]] := image[SINGLETON,intersection[complement[x],y]] (* derived 2004 June 19 based on X1421-45.NB *) intersection[complement[P[x_]],range[SINGLETON]] := intersection[complement[image[SINGLETON,x]],range[SINGLETON]] (* derived 2004 April 7 in SMALLER.NB *) intersection[complement[Q],composite[Q,inverse[S]]] := inverse[SMALLER] (* derived 2004 April 7 in SMALLER.NB *) intersection[complement[Q],composite[Q,S]] := SMALLER (* added 2000 September 28 based on CROSS.NB *) intersection[complement[range[CROSS]],set[0]] := 0 (* derived 2005 January 8 in RA-PRS.NB *) intersection[complement[range[SINGLETON]],range[PAIRSET]] := image[PAIRSET,Di] (* added 2000 September 29 based on IM-DI-2.NB *) intersection[complement[range[SINGLETON]],set[0]] := set[0] (* added 2002 May 25 based on OM-INVAR.NB *) intersection[complement[range[SUCC]],set[0]] := set[0] (* derived 2004 February 20 in REPLACE1.NB *) intersection[complement[range[x_]],ub[x_,V]] := 0 (* added 2001 April 21 based on PT.NB *) intersection[complement[S],IMAGE[inverse[S]]] := 0 (* added 2000 May 16 based on K-SR.NB *) intersection[complement[S],inverse[PS]] := inverse[PS] (* added 1999 October 31 based on INTINV.LOG *) intersection[complement[S],inverse[S]] := inverse[PS] intersection[complement[set[0]],set[set[0]]] := set[set[0]] (* added 2002 July 30 based on REVERSAL.NB *) intersection[complement[set[0]],succ[set[0]]] := set[set[0]] (* derived 2005 January 27 in DIV.NB *) intersection[complement[set[0]],succ[succ[set[0]]]] := set[set[0],succ[set[0]]] (* derived 2005 January 3 in RANK-TWO.NB *) intersection[complement[succ[set[0]]],P[succ[set[0]]]] := set[set[set[0]],succ[set[0]]] (* added 1999 December 7 based on FLIPRULE.NB *) intersection[composite[x_,CAP],composite[y_,SWAP]] := composite[intersection[y,composite[x,CAP]],SWAP] (* added 1999 December 2 based on PAIRSET.1 *) intersection[composite[complement[E],FIRST], composite[complement[E],SECOND]] := composite[DISJOINT,PAIRSET] (* added 2000 December 29 based on SUPER.NB *) intersection[composite[complement[inverse[E]],x___,FIRST], composite[complement[inverse[E]],y___,SECOND]] := composite[complement[inverse[E]],CUP,cross[composite[x],composite[y]]] (* added 2000 September 5 based on CUP-S.NB *) intersection[composite[complement[inverse[E]],FIRST], composite[inverse[E],CAP]] := 0 (* added 2000 September 5 based on CUP-S.NB *) intersection[composite[complement[inverse[E]],FIRST], composite[inverse[E],DIF]] := 0 (* added 2000 December 29 based on SUPER.NB *) intersection[composite[complement[inverse[E]],x___,FIRST], composite[inverse[E],y___,SECOND]] := composite[inverse[E],DIF,SWAP,cross[composite[x],composite[y]]] (* added 2002 November 22 based on K.NB *) intersection[composite[complement[inverse[E]],IMAGE[inverse[PS]], VERTSECT[inverse[PS]]],inverse[PS]] := inverse[K] (* added 2000 September 5 based on CUP-S.NB *) intersection[composite[complement[inverse[E]],SECOND], composite[inverse[E],CAP]] := 0 (* added 2000 September 5 based on CAP-S.NB *) intersection[composite[complement[inverse[S]],FIRST], composite[inverse[S],CAP]] := 0 (* added 2000 September 5 based on CUP-S.NB *) intersection[composite[complement[inverse[S]],FIRST], composite[inverse[S],DIF]] := 0 (* added 1999 October 14 based on NORMAL.1 *) intersection[composite[complement[inverse[S]],SECOND], composite[inverse[S],CAP]] := 0 (* added 2000 November 26 based on GLB-LUB.NB *) intersection[composite[complement[x_],LB[x_]],GLB[x_]] := 0 (* added 1999 October 14 based on NORMAL.1 *) intersection[composite[cross[Id,inverse[FIRST]],FIRST], composite[inverse[SECOND],inverse[SECOND],SECOND]] := ASSOC (* added 2000 August 31 based on ROT.NB *) intersection[composite[cross[Id,inverse[FIRST]],SECOND], composite[inverse[SECOND],inverse[SECOND],FIRST]] := composite[ASSOC,SWAP] (* added 2000 September 28 based on PERMUTE.NB *) intersection[composite[cross[inverse[FIRST],Id],FIRST], composite[inverse[FIRST],inverse[SECOND],SECOND]] := composite[inverse[ROT],cross[SWAP,Id]] intersection[composite[cross[inverse[FIRST],inverse[FIRST]],FIRST], composite[cross[inverse[SECOND],inverse[SECOND]],SECOND]] := TWIST (* added 2001 April 22 based on CROSS-2.NB *) intersection[composite[cross[inverse[FIRST],inverse[FIRST]],SECOND], composite[cross[inverse[SECOND],inverse[SECOND]],FIRST]] := composite[cross[SWAP,SWAP],TWIST] (* added 2003 August 17 based on EQDF-SUB.NB *) intersection[composite[cross[NATADD,NATADD],inverse[RIF]], composite[inverse[FIRST],S,FIRST]] := composite[cross[NATADD,NATADD],inverse[RIF]] (* added 2003 August 17 based on EQDF-SUB.NB *) intersection[composite[cross[NATADD,NATADD],inverse[RIF]], composite[inverse[SECOND],S,SECOND]] := composite[cross[NATADD,NATADD],inverse[RIF]] (* added 1999 December 7 based on FLIPRULE.NB *) intersection[composite[x_,CUP],composite[y_,SWAP]] := composite[intersection[y,composite[x,CUP]],SWAP] (* added 1999 October 5 based on PAIRSET.3 *) intersection[composite[Di,FIRST],composite[Di,SECOND]] := composite[complement[inverse[E]],PAIRSET] (* added 2000 February 5 based on REVISIT.NB *) intersection[composite[Di,x_],funpart[x_]] := 0 (* added 2002 January 18 based on FUNPART.NB *) intersection[x_,composite[Di,funpart[x_]]] := 0 (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DIF,SWAP],composite[DISJOINT,DIF]] := composite[DIF,SWAP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DIF,SWAP],composite[inverse[S],DIF]] := cart[inverse[S],set[0]] (* added 1999 December 2 based on SYMDIF-5.NB *) intersection[composite[DISJOINT,CAP],composite[inverse[S],CUP]] := composite[inverse[S],SYMDIF] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,CAP],composite[inverse[S],SECOND]] := composite[inverse[S],DIF,SWAP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,CAP],composite[inverse[S],SYMDIF]] := composite[inverse[S],SYMDIF] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,CAP],composite[S,FIRST]] := composite[S,FIRST,id[DISJOINT]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,CUP],composite[inverse[S],SYMDIF]] := cart[cart[V,V],set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,CUP],composite[S,DIF]] := composite[DISJOINT,SECOND,id[S]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,CUP],composite[S,SYMDIF]] := composite[DISJOINT,inverse[DUP]] (* added 1999 December 2 based on SYMDIF-5.NB *) intersection[composite[DISJOINT,DIF],composite[DISJOINT,DIF,SWAP]] := composite[DISJOINT,SYMDIF] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,DIF],composite[S,CUP]] := composite[S,SECOND,id[S]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,DIF],composite[S,FIRST]] := composite[S,FIRST,id[S]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,FIRST],composite[S,DIF]] := composite[DISJOINT,FIRST,id[S]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,FIRST],composite[inverse[S],CUP]] := composite[inverse[S],DIF,SWAP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,SECOND],composite[inverse[S],CUP]] := composite[inverse[S],DIF] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,SYMDIF],composite[inverse[S],CAP]] := composite[inverse[S],CAP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,SYMDIF],composite[inverse[S],CUP]] := composite[inverse[S],CAP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,SYMDIF],composite[inverse[S],DIF]] := cart[cart[V,V],set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,SYMDIF],composite[inverse[S],FIRST]] := composite[inverse[S],CAP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,SYMDIF],composite[inverse[S],SECOND]] := composite[inverse[S],CAP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[DISJOINT,SYMDIF],composite[S,CUP]] := composite[S,inverse[DUP]] (* added 1999 October 12 to Normalize ROT *) intersection[composite[cross[inverse[SECOND],Id],FIRST], composite[inverse[FIRST],inverse[FIRST],SECOND]] := ROT (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CAP],composite[DISJOINT,CUP]] := composite[DISJOINT,CUP] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CAP],composite[DISJOINT,DIF]] := composite[DISJOINT,FIRST] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CAP],composite[DISJOINT,FIRST]] := composite[DISJOINT,FIRST] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CAP],composite[DISJOINT,SECOND]] := composite[DISJOINT,SECOND] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CAP],composite[DISJOINT,SYMDIF]] := composite[DISJOINT,CUP] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,CAP],composite[inverse[S],DIF]] := composite[inverse[S],DIF] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,CAP],composite[inverse[S],FIRST]] := composite[inverse[S],DIF] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,CAP],composite[S,SECOND]] := composite[S,SECOND,id[DISJOINT]] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CUP],composite[DISJOINT,DIF]] := composite[DISJOINT,CUP] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CUP],composite[DISJOINT,FIRST]] := composite[DISJOINT,CUP] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CUP],composite[DISJOINT,SECOND]] := composite[DISJOINT,CUP] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,CUP],composite[DISJOINT,SYMDIF]] := composite[DISJOINT,CUP] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,CUP],composite[inverse[S],CAP]] := cart[cart[V,V],set[0]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,CUP],composite[inverse[S],DIF]] := cart[cart[V,V],set[0]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,CUP],composite[inverse[S],FIRST]] := cart[cart[V,V],set[0]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,CUP],composite[inverse[S],SECOND]] := cart[cart[V,V],set[0]] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,DIF],composite[DISJOINT,FIRST]] := composite[DISJOINT,FIRST] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,DIF],composite[DISJOINT,SECOND]] := composite[DISJOINT,CUP] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,DIF],composite[DISJOINT,SYMDIF]] := composite[DISJOINT,SYMDIF] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,DIF],composite[inverse[S],CAP]] := composite[inverse[S],CAP] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,DIF],composite[inverse[S],CUP]] := composite[inverse[S],SECOND] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,DIF],composite[inverse[S],DIF,SWAP]] := composite[inverse[S],DIF,SWAP] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,DIF],composite[inverse[S],FIRST]] := composite[inverse[S],CAP] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,DIF],composite[inverse[S],SECOND]] := composite[inverse[S],SECOND] (* added 1999 December 7 based on REMOVED2.NB *) intersection[composite[DISJOINT,DIF],composite[inverse[S],SYMDIF]] := composite[inverse[S],DIF,SWAP] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,DIF,SWAP],composite[inverse[S],DIF]] := composite[inverse[S],DIF] (* added 1999 December 2 based on CUP-LOG.1 *) intersection[composite[DISJOINT,FIRST],composite[DISJOINT,SECOND]] := composite[DISJOINT,CUP] (* added 1999 October 26 based on DIF-SWAP.LOG *) intersection[composite[DISJOINT,FIRST],composite[inverse[S],SECOND]] := composite[inverse[S],DIF,SWAP] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,FIRST],composite[DISJOINT,SYMDIF]] := composite[DISJOINT,CUP] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,FIRST],composite[inverse[S],CAP]] := cart[cart[V,V],set[0]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,FIRST],composite[inverse[S],DIF]] := cart[cart[V,V],set[0]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,FIRST],composite[S,CAP]] := composite[DISJOINT,FIRST,id[DISJOINT]] (* added 1999 December 5 based on I-DJ.NB *) intersection[composite[DISJOINT,SECOND],composite[DISJOINT,SYMDIF]] := composite[DISJOINT,CUP] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,SECOND],composite[inverse[S],CAP]] := cart[cart[V,V],set[0]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,SECOND],composite[inverse[S],DIF]] := composite[inverse[S],DIF] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[DISJOINT,SECOND],composite[S,CAP]] := composite[DISJOINT,SECOND,id[DISJOINT]] (* added 2002 April 10 based on INVAR.NB *) intersection[composite[E,FIRST],composite[complement[E],SECOND]] := composite[complement[INVAR],SINGLETON] (* added 2000 December 29 based on SUPER.NB *) intersection[composite[E,x___,FIRST],composite[E,y___,SECOND]] := composite[S,PAIRSET,cross[composite[x],composite[y]]] (* added 2003 June 23 based on INVAR.NB *) intersection[composite[E,SECOND],composite[complement[E],FIRST]] := composite[complement[INVAR],SINGLETON,SWAP] (* derived 2004 June 25 in X2870.NB *) intersection[composite[E,UB[complement[x_]]],IMAGE[x_]] := 0 (* derived 2005 April 23 in FACT-S.NB *) intersection[composite[FACTORIAL,S,inverse[FACTORIAL]],inverse[E]] := 0 (* added 2000 September 3 based on ROT.NB *) intersection[composite[x_,FIRST],composite[y_,inverse[DUP]]] := composite[intersection[x,y],inverse[DUP]] (* added 2000 August 30 based on SESSION1.LOG *) intersection[composite[x_,FIRST],composite[w_,SWAP,cross[y_,z_]]] := composite[intersection[composite[w,cross[z,y]],composite[x,SECOND]],SWAP] (* added 2003 July 1 based on IN-DUP.NB *) intersection[composite[x_,FIRST],inverse[DUP]] := composite[id[fix[x]],inverse[DUP]] (* Theorem AP-C-FU2 in AP2 proved 1999 July 9 *) intersection[composite[x_,funpart[z_]],complement[composite[y_,funpart[z_]]]] := composite[intersection[x,complement[y]],funpart[z]] intersection[composite[Id,x_],y_] := composite[Id,intersection[x,y]] intersection[composite[id[x_],y_],z_] := composite[id[x],intersection[y,z]] intersection[x_,composite[y_,id[z_]]] := composite[intersection[x,y],id[z]] (* added 2003 July 16 based on LAMBPAIR.NB *) intersection[composite[x_,y_],image[V,z_]] := composite[x,y,id[image[V,z]]] (* derived 2004 October 14 in REFINE.NB *) intersection[composite[inverse[BIGCUP],BIGCUP], composite[inverse[IMAGE[inverse[S]]],S]] := composite[inverse[IMAGE[inverse[S]]],COARSER] (* derived 2003 December 31 in COARSER.NB *) intersection[composite[inverse[BIGCUP],BIGCUP],inverse[S]] := inverse[COARSER] (* derived 2004 October 14 in REFINE.NB *) intersection[composite[inverse[BIGCUP],inverse[POWER],S], composite[inverse[S],POWER,BIGCUP]] := composite[inverse[BIGCUP],BIGCUP] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[BIGCUP],S],composite[inverse[S],POWER]] := inverse[BIGCUP] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[CAP],S], composite[inverse[SECOND],complement[S]]] := 0 (* added 2003 May 5 based on IN-E-RCF.NB *) intersection[composite[inverse[CUP],inverse[S]], composite[inverse[FIRST],inverse[S]]] := composite[inverse[CUP],inverse[S]] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[CUP],inverse[S]], composite[inverse[SECOND],complement[inverse[S]]]] := 0 (* added 2003 May 5 based on IN-E-RCF.NB *) intersection[composite[inverse[CUP],inverse[S]], composite[inverse[SECOND],inverse[S]]] := composite[inverse[CUP],inverse[S]] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[DIF],S], composite[inverse[SECOND],E,inverse[E]]] := 0 (* added 2001 December 24 based on MAP.NB *) intersection[composite[inverse[DORA],cross[x_,y_]], composite[inverse[IMAGE[FIRST]],z___,FIRST]] := composite[inverse[DORA],cross[intersection[x,composite[z]],y]] (* added 2001 December 24 based on MAP.NB *) intersection[composite[inverse[DORA],cross[x_,y_]], composite[inverse[IMAGE[SECOND]],z___,SECOND]] := composite[inverse[DORA],cross[x,intersection[y,composite[z]]]] (* added 2000 September 22 based on SUPERULE.LOG *) intersection[composite[u___,inverse[E],v___], composite[x___,inverse[E],y___]] := composite[ intersection[composite[u,FIRST],composite[x,SECOND]],inverse[E],CART, intersection[composite[inverse[FIRST],v],composite[inverse[SECOND],y]]] (* added 2000 December 29 based on SUPER.NB *) intersection[composite[inverse[E],x___,FIRST], composite[complement[inverse[E]],y___,SECOND]] := composite[inverse[E],DIF,cross[composite[x],composite[y]]] (* added 2000 September 12 based on CLS6-1.NB *) intersection[composite[inverse[E],FIRST],composite[inverse[S],SECOND]] := composite[inverse[E],CAP,cross[Id,POWER]] (* derived 2004 September 25 in WFPART.NB *) intersection[composite[inverse[E],IMAGE[id[cart[V,V]]]], composite[inverse[SECOND],complement[inverse[E]],BIGCUP,SUBVAR]] := composite[inverse[E],WFPART] (* added 2002 November 13 based on NORM-ADD.NB *) intersection[composite[inverse[E],IMAGE[id[complement[cart[V,V]]]],E],cross[x_,y_]] := 0 (* added 2002 October 27 based on GREATEST.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],GLB[y_]] := composite[id[x],LEAST[y]] (* added 2002 October 27 based on GREATEST.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],GREATEST[y_]] := composite[id[x],GREATEST[y]] (* derived 2005 September 25 in VARIOUS.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],inverse[E]] := composite[inverse[E],IMAGE[id[x]]] (* added 2002 June 7 based on LEAST.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],LB[y_]] := composite[id[x],LEAST[y]] (* added 2002 October 27 based on GREATEST.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],LEAST[y_]] := composite[id[x],LEAST[y]] (* added 2002 October 27 based on GREATEST.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],LUB[y_]] := composite[id[x],GREATEST[y]] (* added 2002 October 27 based on GREATEST.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],MAXIMAL[y_]] := composite[id[x],MAXIMAL[y]] (* added 2002 October 27 based on GREATEST.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],MINIMAL[y_]] := composite[id[x],MINIMAL[y]] (* added 2002 June 7 based on LEAST.NB *) intersection[composite[inverse[E],IMAGE[id[x_]]],UB[y_]] := composite[id[x],GREATEST[y]] (* added 2002 May 19 based on FUNP-INE.NB *) intersection[composite[x_,inverse[E]],UB[complement[composite[Di,x_]]]] := composite[inverse[SINGLETON],IMAGE[x]] (* derived 2003 December 31 in BC-I.NB *) intersection[composite[inverse[E],UCLOSURE],composite[inverse[POWER],S]] := BIGCUP (* derived 2004 January 7 in VSLAMBDA.NB *) intersection[composite[inverse[E],VS], composite[inverse[FIRST],complement[inverse[E]],IMAGE[FIRST]]] := 0 (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],complement[E]], composite[inverse[SECOND],complement[E]]] := composite[inverse[CUP],complement[E]] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],complement[E]], composite[inverse[SECOND],E]] := composite[SWAP,inverse[DIF],E] (* added 2000 December 14 based on MORE-PRS.NB *) intersection[composite[inverse[FIRST],complement[inverse[E]]], composite[inverse[SECOND],complement[inverse[E]]]] := composite[inverse[E],CART,DUP,DISJOINT] (* derived 2004 January 7 in VSLAMBDA.NB *) intersection[composite[inverse[FIRST],x_],composite[RIGHT[y_],z_]] := composite[RIGHT[y],intersection[x,z]] (* added 1999 October 10 based on TWIST.2 *) intersection[composite[inverse[FIRST],cross[FIRST,FIRST]], composite[inverse[SECOND],cross[SECOND,SECOND]]] := TWIST (* added 2003 July 17 based on DIR-PROD.NB *) intersection[composite[inverse[FIRST],x_,cross[FIRST,FIRST]], composite[inverse[SECOND],y_,cross[SECOND,SECOND]]] := composite[cross[x,y],TWIST] (* derived 2003 December 26 in TWIST.NB *) intersection[composite[inverse[FIRST],x___,cross[FIRST,Id]], composite[inverse[SECOND],y___,cross[SECOND,Id]]] := composite[cross[composite[x],composite[y]],TWIST,cross[Id,DUP]] (* added 2000 August 31 based on ROT.NB *) intersection[composite[inverse[FIRST],cross[FIRST,Id]], composite[inverse[SECOND],SECOND,FIRST]] := composite[inverse[ROT],cross[SWAP,Id]] (* revised 2000 September 21 based on PERMS1.NB *) intersection[composite[inverse[FIRST],x___,cross[Id,FIRST]], composite[inverse[SECOND],y___,SECOND,SECOND]] := composite[cross[composite[x],composite[y]],inverse[ASSOC]] (* added 2000 August 30 based on SESSION2.LOG *) intersection[composite[inverse[FIRST],cross[Id,SECOND]], composite[inverse[SECOND],FIRST,SECOND]] := composite[inverse[ASSOC],cross[Id,SWAP]] (* derived 2003 December 26 in TWIST.NB *) intersection[composite[inverse[FIRST],x___,cross[SECOND,Id]], composite[inverse[SECOND],y___,cross[FIRST,Id]]] := composite[SWAP,cross[composite[y],composite[x]],TWIST,cross[Id,DUP]] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],cross[SECOND,Id]], composite[inverse[SECOND],FIRST,FIRST]] := inverse[ROT] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],Di], composite[inverse[SECOND],Di]] := composite[inverse[PAIRSET],complement[E]] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],DISJOINT], composite[inverse[SECOND],S]] := composite[SWAP,inverse[DIF],S] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],E], composite[inverse[SECOND],complement[E]]] := composite[inverse[DIF],E] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],E], composite[inverse[SECOND],E]] := composite[inverse[CAP],E] (* Theorem X-DEF in X1 proved 1998 August 4 *) intersection[composite[inverse[FIRST],x___,FIRST], composite[inverse[SECOND],y___,SECOND]] := cross[composite[x],composite[y]] (* added 2000 September 21 based on ASSOC.NB *) intersection[composite[inverse[FIRST],x___,FIRST,FIRST], composite[inverse[SECOND],y___,cross[SECOND,Id]]] := composite[cross[composite[x],composite[y]],ASSOC] (* added 2001 December 22 based on DORA-1.NB *) intersection[composite[inverse[FIRST],x___,IMAGE[FIRST]], composite[inverse[SECOND],y___,IMAGE[SECOND]]] := composite[cross[composite[x],composite[y]],DORA] (* added 1999 October 14 based on ROT-FLIP.1 *) intersection[composite[inverse[FIRST],inverse[FIRST],FIRST], composite[cross[inverse[SECOND],Id],SECOND]] := inverse[ASSOC] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],inverse[S]], composite[inverse[SECOND],inverse[S]]] := composite[inverse[CUP],inverse[S]] (* added 2003 May 5 based on IN-E-RCF.NB *) intersection[composite[inverse[FIRST],inverse[S]],inverse[CUP]] := inverse[CUP] (* added 2002 December 3 based on EQDFNORM.NB *) intersection[composite[inverse[FIRST],rotate[x_],cross[y_,FIRST]], composite[inverse[SECOND],SECOND,SECOND]] := composite[RIF,cross[composite[inverse[x],y],SWAP]] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],S], composite[inverse[SECOND],DISJOINT]] := composite[inverse[DIF],S] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[FIRST],S], composite[inverse[SECOND],S]] := composite[inverse[CAP],S] (* added 2001 April 22 based on CROSS-2.NB *) intersection[composite[inverse[FIRST],S,IMAGE[cross[FIRST,FIRST]]], composite[inverse[SECOND],S,IMAGE[cross[SECOND,SECOND]]]] := composite[inverse[CROSS],S,IMAGE[id[cart[cart[V,V],cart[V,V]]]]] (* added 2001 February 3 based on CAP.NB *) intersection[composite[inverse[FIRST],SECOND], composite[inverse[DIF],DISJOINT,FIRST]] := intersection[composite[inverse[FIRST],SECOND], composite[inverse[SECOND],S,CAP]] (* revised 2000 September 21 *) intersection[composite[inverse[FIRST],x___,SECOND], composite[inverse[SECOND],y___,FIRST]] := composite[cross[composite[x],composite[y]],SWAP] (* added 1999 December 23 based on INVAR.TXT *) intersection[composite[inverse[IMAGE[cross[FIRST,FIRST]]],inverse[S]], composite[inverse[IMAGE[cross[SECOND,SECOND]]],inverse[S]]] := composite[inverse[IMAGE[id[cart[cart[V,V],cart[V,V]]]]], inverse[S],CROSS,DUP] (* added 1999 December 23 *) intersection[composite[inverse[IMAGE[cross[FIRST,FIRST]]],inverse[S],FIRST], composite[inverse[IMAGE[cross[SECOND,SECOND]]],inverse[S],SECOND]] := composite[inverse[IMAGE[id[cart[cart[V,V],cart[V,V]]]]], inverse[S],CROSS] (* added 2001 December 22 based on DORA-1.NB *) intersection[composite[inverse[IMAGE[FIRST]],x___,FIRST], composite[inverse[IMAGE[SECOND]],y___,SECOND]] := composite[inverse[DORA],cross[composite[x],composite[y]]] (* derived 2005 January 6 in DJ-U-Q.NB *) intersection[composite[inverse[IMAGE[FIRST]],x_,IMAGE[FIRST]], composite[inverse[IMAGE[SECOND]],y_,IMAGE[SECOND]]] := composite[inverse[DORA],cross[x,y],DORA] (* added 1999 November 28 based on CART-DUP.NB *) intersection[composite[inverse[IMAGE[FIRST]],inverse[S]], composite[inverse[IMAGE[SECOND]],inverse[S]]] := composite[inverse[IMAGE[id[cart[V,V]]]],inverse[S],CART,DUP] (* derived 2004 November 16 in XS.NB *) intersection[composite[inverse[IMAGE[FIRST]],S,IMAGE[FIRST]],inverse[S]] := intersection[composite[inverse[IMAGE[FIRST]],IMAGE[FIRST]],inverse[S]] (* added 2003 May 30 based on FIX-ROT.NB *) intersection[composite[inverse[IMAGE[id[x_]]],inverse[S]],inverse[S]] := inverse[S] (* added 2003 June 24 based on INVERSE.NB *) intersection[composite[inverse[IMAGE[id[x_]]],S],inverse[S]] := id[P[x]] (* added 2000 November 7 based on IMAGE-3.NB *) intersection[composite[inverse[IMAGE[x_]],inverse[S]], UB[composite[E,inverse[x_]]]] := inverse[IMAGE[x]] (* added 2000 November 7 based on LB-2.NB *) intersection[composite[inverse[IMAGE[x_]],inverse[S]],LB[composite[x_,inverse[E]]]] := inverse[IMAGE[x]] (* added 2000 November 7 based on IMAGE-3.NB *) intersection[composite[inverse[IMAGE[inverse[x_]]],inverse[S]],UB[composite[E,x_]]] := inverse[IMAGE[inverse[x]]] (* derived 2004 November 16 in XS.NB *) intersection[composite[inverse[IMAGE[thinpart[x_]]],S,IMAGE[thinpart[x_]]],inverse[S]] := intersection[composite[inverse[IMAGE[thinpart[x]]],IMAGE[thinpart[x]]],inverse[S]] (* added 2003 July 5 based on PLUS-ISO.NB *) intersection[composite[INVERSE,inverse[UB[rotate[NATADD]]]],composite[S,PLUS]] := PLUS (* rule to make BIGCUP become normal added 1998 August 9 *) intersection[composite[inverse[POWER],S],composite[inverse[S],BIGCUP]] := BIGCUP (* added 2000 November 14 bases on GREATEST.NB *) intersection[composite[inverse[POWER],S],inverse[E]] := intersection[BIGCUP,inverse[E]] intersection[x_,composite[inverse[S],x_]] := composite[Id,x] intersection[x_,composite[x_,inverse[S]]] := composite[Id,x] (* added 2000 November 3 based on SUBVAR.LOG *) intersection[composite[inverse[S],BIGCAP],inverse[E]] := intersection[BIGCAP,inverse[E]] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],CAP],composite[inverse[S],CUP]] := composite[inverse[S],CAP] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],CAP],composite[inverse[S],DIF]] := cart[cart[V,V],set[0]] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],CAP],composite[inverse[S],FIRST]] := composite[inverse[S],CAP] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],CAP],composite[inverse[S],SECOND]] := composite[inverse[S],CAP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[inverse[S],CAP],composite[inverse[S],SYMDIF]] := cart[cart[V,V],set[0]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[inverse[S],CAP],composite[S,FIRST]] := composite[FIRST,id[S]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[inverse[S],CAP],composite[S,SECOND]] := composite[SECOND,id[inverse[S]]] (* added 2001 December 24 based on MAP.NB *) intersection[composite[inverse[S],CART], composite[inverse[IMAGE[FIRST]],x___,FIRST]] := composite[id[P[cart[V,V]]],inverse[DORA], cross[intersection[composite[x],inverse[S]],inverse[S]]] (* added 2001 December 24 based on MAP.NB *) intersection[composite[inverse[S],CART], composite[inverse[IMAGE[SECOND]],y___,SECOND]] := composite[id[P[cart[V,V]]],inverse[DORA], cross[inverse[S],intersection[composite[y],inverse[S]]]] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],CUP],composite[inverse[S],DIF]] := composite[inverse[S],DIF] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],CUP],composite[inverse[S],FIRST]] := composite[inverse[S],FIRST] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],CUP],composite[inverse[S],SECOND]] := composite[inverse[S],SECOND] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[inverse[S],CUP],composite[inverse[S],SYMDIF]] := composite[inverse[S],SYMDIF] (* added 2001 May 6 based on SUPERULE.NB *) intersection[composite[inverse[S],CUP,cross[FIRST,Id]], composite[inverse[S],CUP,cross[SECOND,Id]]] := composite[inverse[S],CUP,cross[CAP,Id]] (* added 1999 October 26 based on DIF-LOG.2 ad hoc rule *) intersection[composite[inverse[S],DIF], composite[E,inverse[E],SECOND]] := 0 (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],DIF],composite[inverse[S],DIF,SWAP]] := cart[cart[V,V],set[0]] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],DIF],composite[inverse[S],FIRST]] := composite[inverse[S],DIF] (* added 1999 December 5 based on IN-SR.NB *) intersection[composite[inverse[S],DIF],composite[inverse[S],SECOND]] := cart[cart[V,V],set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[inverse[S],DIF],composite[inverse[S],SYMDIF]] := composite[inverse[S],DIF] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[inverse[S],DIF],composite[S,FIRST]] := composite[FIRST,id[DISJOINT]] (* added 2001 March 8 based on IMAGEDIF.NB *) intersection[composite[inverse[S],x___,FIRST],composite[DISJOINT,y___,SECOND]] := composite[inverse[S],DIF,cross[composite[x],composite[y]]] (* added 2001 April 30 based on CLIQUES2.NB *) intersection[composite[inverse[S],x___,FIRST], composite[inverse[S],y___,SECOND]] := composite[inverse[S],CAP,cross[composite[x],composite[y]]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[inverse[S],FIRST],composite[inverse[S],SYMDIF]] := composite[inverse[S],DIF] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[inverse[S],FIRST],composite[S,CUP]] := composite[FIRST,id[inverse[S]]] (* added 2001 April 2 based on HF-X.NB *) intersection[composite[inverse[S],HC],inverse[E]] := composite[inverse[E],HC] (* derived 2004 December 6 in IDP.NB *) intersection[composite[inverse[S],IMAGE[inverse[DUP]]],composite[inverse[IMAGE[DUP]],S]] := inverse[IMAGE[DUP]] (* derived 2005 September 25 in VARIOUS.NB *) intersection[composite[inverse[S],IMAGE[id[x_]]],inverse[S]] := composite[inverse[S],IMAGE[id[x]]] (* added 2003 March 9 based on REFINE.NB *) intersection[composite[inverse[S],IMAGE[inverse[S]]], composite[inverse[IMAGE[inverse[S]]],S]] := composite[inverse[IMAGE[inverse[S]]],IMAGE[inverse[S]]] (* added 2001 March 4 based on INVERSE2.NB *) intersection[composite[inverse[S],IMAGE[SWAP]], composite[inverse[IMAGE[SWAP]],S]] := INVERSE (* added 2002 November 30 based on INVERSE.NB *) intersection[composite[inverse[S],INVERSE], composite[inverse[IMAGE[SWAP]],S]] := INVERSE (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[inverse[S],SECOND],composite[S,CUP]] := composite[SECOND,id[S]] (* added 1999 December 6 based on I-MIXED.NB *) intersection[composite[inverse[S],SECOND],composite[S,DIF]] := composite[inverse[S],SECOND,id[S]] (* derived 2004 September 25 in LAMB-WF.NB *) intersection[composite[inverse[SECOND],complement[inverse[E]],BIGCUP,SUBVAR],inverse[E]] := composite[inverse[E],WFPART] (* added 1999 October 31 based on INTINV.LOG *) intersection[composite[inverse[SECOND],complement[inverse[E]]],composite[inverse[E],CART,DUP]] := 0 (* derived 2004 January 7 in VSLAMBDA.NB *) intersection[composite[inverse[SECOND],x_],composite[LEFT[y_],z_]] := composite[LEFT[y],intersection[x,z]] (* added 2000 August 31 based on ROT.NB *) intersection[composite[inverse[SECOND],cross[Id,FIRST]], composite[inverse[FIRST],SECOND,SECOND]] := composite[SWAP,inverse[ASSOC]] (* added 2000 August 31 based on ROT.NB *) intersection[composite[inverse[SECOND],cross[Id,SECOND]], composite[inverse[FIRST],FIRST,SECOND]] := composite[SWAP,inverse[ASSOC],cross[Id,SWAP]] (* added 2000 August 31 based on ROT.NB *) intersection[composite[inverse[SECOND],cross[FIRST,Id]], composite[inverse[FIRST],SECOND,FIRST]] := composite[ASSOC,cross[SWAP,Id]] (* added 2003 May 5 based on IN-E-RCF.NB *) intersection[composite[inverse[SECOND],inverse[S]],inverse[CUP]] := inverse[CUP] (* added 2001 February 4 based on CLOSED.NB *) intersection[composite[inverse[SECOND],SECOND],composite[inverse[CUP],S,FIRST]] := intersection[composite[inverse[SECOND],SECOND],composite[inverse[FIRST],S,DIF]] (* added 2003 May 5 based on IN-E-RCF.NB *) intersection[composite[inverse[SECOND],SECOND],composite[inverse[FIRST],inverse[S],DIF]] := composite[id[DISJOINT],cross[inverse[S],Id]] (* derived 2004 November 16 in XS.NB *) intersection[composite[inverse[UB[IMAGE[FIRST]]],IMAGE[FIRST]],composite[inverse[S],IMAGE[id[FUNS]],POWER]] := composite[inverse[S],XS] (* added 2002 November 26 based on GREATEST.NB *) intersection[composite[LB[x_],IMAGE[id[y_]]],inverse[E]] := LEAST[union[x,cart[V,complement[y]]]] (* added 2003 January 14 based on SB-THM.NB *) intersection[composite[Q,S],composite[Q,inverse[S]]] := Q intersection[x_,composite[S,x_]] := composite[Id,x] intersection[x_,composite[x_,S]] := composite[Id,x] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CAP],composite[S,CUP]] := composite[S,CUP] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CAP],composite[S,DIF]] := composite[S,FIRST] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CAP],composite[S,FIRST]] := composite[S,FIRST] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CAP],composite[S,SECOND]] := composite[S,SECOND] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CAP],composite[S,SYMDIF]] := composite[S,CUP] (* added 2003 September 4 based on IDEMCORE.NB *) intersection[composite[S,CORE[x_]],composite[S,CORE[y_]]] := composite[S,CORE[union[x,y]]] (* added 1999 October 31 based on RC.NB *) intersection[composite[S,CUP],composite[complement[S],FIRST]] := 0 (* added 1999 October 14 based on NORMAL.1 *) intersection[composite[S,CUP],composite[complement[S],SECOND]] := 0 (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[S,CUP],composite[inverse[S],CAP]] := inverse[DUP] (* added 1999 December 7 based on RESTRICT.NB *) intersection[composite[S,CUP],composite[inverse[S],DIF]] := inverse[RIGHT[0]] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CUP],composite[S,DIF]] := composite[S,CUP] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CUP],composite[S,FIRST]] := composite[S,CUP] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CUP],composite[S,SECOND]] := composite[S,CUP] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,CUP],composite[S,SYMDIF]] := composite[S,CUP] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[composite[S,DIF],composite[inverse[S],CAP]] := composite[inverse[S],FIRST,id[S]] (* added 1999 December 2 based on SYMDIF-5.NB *) intersection[composite[S,DIF],composite[S,DIF,SWAP]] := composite[S,SYMDIF] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,DIF],composite[S,FIRST]] := composite[S,FIRST] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,DIF],composite[S,SECOND]] := composite[S,CUP] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,DIF],composite[S,SYMDIF]] := composite[S,SYMDIF] (* added 2000 September 5 based on CUP-S.NB *) intersection[composite[S,FIRST],composite[complement[S],DIF]] := 0 (* added 2001 May 6 based on SUPERULE.NB *) intersection[composite[S,x___,FIRST],composite[S,y___,SECOND]] := composite[S,CUP,cross[composite[x],composite[y]]] (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,FIRST],composite[S,SYMDIF]] := composite[S,CUP] (* added 2001 April 29 based on CLIQUES2.NB *) intersection[composite[S,IMAGE[composite[inverse[DUP],inverse[CART]]]], composite[inverse[IMAGE[DUP]],inverse[IMAGE[CART]],inverse[S]]] := IMAGE[composite[inverse[DUP],inverse[CART]]] intersection[composite[S,IMAGE[id[x_]]], composite[inverse[IMAGE[id[x_]]],inverse[S]]] := composite[inverse[IMAGE[id[x]]],IMAGE[id[x]]] (* added 2003 September 4 based on IDEMCORE.NB *) intersection[composite[S,IMAGE[id[x_]]],composite[S,IMAGE[id[y_]]]] := composite[S,IMAGE[id[union[x,y]]]] (* added 2000 November 7 based on LB-2.NB *) intersection[composite[S,IMAGE[x_]], inverse[LB[composite[x_,inverse[E]]]]] := IMAGE[x] (* added 2000 November 7 based on IMAGE.NB *) intersection[composite[S,IMAGE[x_]], inverse[UB[composite[E,inverse[x_]]]]] := IMAGE[x] (* added 2001 April 24 based on RFX.NB *) intersection[composite[S,IMAGE[FIRST]],composite[S,IMAGE[SECOND]]] := composite[inverse[DUP],inverse[CART],S,IMAGE[id[cart[V,V]]]] (* added 2000 November 7 based on IMAGE-3.NB *) intersection[composite[S,IMAGE[inverse[x_]]], inverse[UB[composite[E,x_]]]] := IMAGE[inverse[x]] (* added 1999 October 14 based on NORMAL.1 *) intersection[composite[S,PAIRSET],composite[complement[E],SECOND]] := 0 (* derived 2004 August 13 in DORAFUNS.NB *) intersection[composite[S,POWER],image[DORA,FUNS]] := 0 (* added 1999 December 5 based on 1999/DEC/04/INTSBOOL.NB *) intersection[composite[S,SECOND],composite[S,SYMDIF]] := composite[S,CUP] (* added 2002 June 2 based on S-SUCC.NB *) intersection[composite[S,SUCC],inverse[S]] := id[fix[E]] (* added 1999 December 7 based on RESTRICT.NB *) intersection[composite[S,SYMDIF],composite[inverse[S],CAP]] := composite[inverse[S],inverse[DUP]] (* derived 2004 April 22 in PSM-VS.NB *) intersection[composite[S,VERTSECT[x_]],composite[complement[E],x_]] := 0 (* added 2001 November 27 based on VS-X.NB *) intersection[composite[S,VERTSECT[x_]],inverse[LB[x_]]] := VERTSECT[x] (* derived 2004 December 31 in IN-RK.NB *) intersection[composite[S,VERTSECT[ZN]],composite[ZN,POWER]] := VERTSECT[ZN] (* derived 2004 September 25 in WFPART.NB *) intersection[composite[S,WFPART],composite[inverse[S],IMAGE[id[cart[V,V]]]], composite[inverse[IMAGE[SECOND]],DISJOINT,BIGCUP,SUBVAR]] := WFPART (* added 2000 September 3 based on ROT.NB *) intersection[composite[x_,SECOND],composite[y_,inverse[DUP]]] := composite[intersection[x,y],inverse[DUP]] (* added 2000 August 30 based on SESSION2.LOG *) intersection[composite[w_,SECOND],composite[x_,SWAP,cross[y_,z_]]] := composite[intersection[composite[w,FIRST],composite[x,cross[z,y]]],SWAP] (* added 2003 July 1 based on IN-DUP.NB *) intersection[composite[x_,SECOND],inverse[DUP]] := composite[id[fix[x]],inverse[DUP]] (* added 1999 September 14 based on SWAP-I.LOG *) intersection[composite[x_,SWAP],composite[y_,FIRST]] := composite[intersection[x,composite[y,SECOND]],SWAP] (* added 1999 September 14 based on SWAP-I.LOG *) intersection[composite[x_,SWAP],composite[y_,SECOND]] := composite[intersection[x,composite[y,FIRST]],SWAP] (* added 1999 September 14 based on SWAP-I.LOG *) intersection[composite[SWAP,x_],composite[inverse[FIRST],y_]] := composite[SWAP,intersection[x,composite[inverse[SECOND],y]]] (* added 1999 September 14 based on SWAP-I.LOG *) intersection[composite[SWAP,x_],composite[inverse[SECOND],y_]] := composite[SWAP,intersection[x,composite[inverse[FIRST],y]]] (* derived 2004 May 9 in OOPART.NB *) intersection[composite[SWAP,intersection[composite[LB[complement[cross[Id,Di]]],IMAGE[SWAP]], composite[inverse[E],IMAGE[SWAP],FUNPART]]],inverse[E]] := composite[inverse[E],CAP,intersection[composite[inverse[FIRST],FUNPART], composite[inverse[SECOND],IMAGE[SWAP],FUNPART,IMAGE[SWAP]]]] (* added 1999 December 7 based on FLIPRULE.NB *) intersection[composite[x_,SYMDIF],composite[y_,SWAP]] := composite[intersection[y,composite[x,SYMDIF]],SWAP] (* added 2002 November 26 based on GREATEST.NB *) intersection[composite[UB[x_],IMAGE[id[y_]]],inverse[E]] := GREATEST[union[x,cart[complement[y],V]]] (* added 2004 April 17 based on CORE.NB *) intersection[y_,core[x_,y_]] := core[x,y] (* added 2002 May 4 based on CORE.NB *) intersection[CORE[x_],inverse[S]] := CORE[x] (* Theorem X-I-1 in X1 *) intersection[cross[u_,v_],cross[x_,y_]] := cross[intersection[u,x],intersection[v,y]] intersection[cross[x_,y_],composite[z_,FIRST]] := intersection[ composite[intersection[composite[inverse[FIRST],x],z],FIRST], composite[inverse[SECOND],y,SECOND]] intersection[cross[x_,y_],composite[z_,SECOND]] := intersection[ composite[intersection[z,composite[inverse[SECOND],y]],SECOND], composite[inverse[FIRST],x,FIRST]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CUP,composite[DISJOINT,DIF]] := composite[SECOND,id[S]] (* added 1999 December 7 based on RESTRICT.NB *) intersection[CUP,composite[inverse[S],CAP]] := inverse[DUP] (* added 1999 December 7 based on RESTRICT.NB *) intersection[CUP,composite[inverse[S],DIF]] := inverse[RIGHT[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CUP,composite[inverse[S],FIRST]] := composite[FIRST,id[inverse[S]]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CUP,composite[inverse[S],SECOND]] := composite[SECOND,id[S]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CUP,composite[S,CAP]] := CUP (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CUP,composite[S,DIF]] := CUP (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CUP,composite[S,FIRST]] := CUP (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CUP,composite[S,SECOND]] := CUP (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[CUP,composite[S,SYMDIF]] := CUP (* added 1999 December 7 based on FLIPRULE.NB *) intersection[CUP,composite[x_,SWAP]] := composite[intersection[CUP,x],SWAP] (* added 1999 December 7 based on RESTRICT.NB *) intersection[CUP,DIF] := inverse[RIGHT[0]] (* added 2001 October 16 based on IM-IN-SG.NB *) intersection[DEDEKIND,range[SINGLETON]] := range[SINGLETON] (* derived 2004 April 28 in WF.NB *) intersection[DESCENDING,P[OMEGA]] := set[0] (* Theorem REG-19 in REG2 *) intersection[DESCENDING,REGULAR] := set[0] (* added 1999 October 31 based on INTINV.LOG *) intersection[Di,complement[E]] := composite[inverse[SUCC],complement[E]] (* added 1998 July 2 *) intersection[Di,complement[inverse[E]]] := composite[complement[inverse[E]],SUCC] (* added 1998 July 2 *) intersection[Di,complement[inverse[S]]] := composite[Id,complement[inverse[S]]] (* added 1998 July 2 *) intersection[Di,complement[S]] := composite[Id,complement[S]] (* added 1999 August 17 based on session X-ID-DI *) intersection[Di,composite[inverse[FIRST],FIRST]] := cross[Id,Di] (* added 1999 August 17 based on session X-ID-DI *) intersection[Di,composite[inverse[SECOND],SECOND]] := cross[Di,Id] (* added 1999 October 31 based on INTINV.LOG *) intersection[Di,inverse[PS]] := inverse[PS] (* added 1998 August 28 *) intersection[Di,inverse[S]] := inverse[PS] (* added 2000 May 16 based on K-SR.NB *) intersection[Di,K] := K (* Theorem DI-PS-3 in DI proved 1998 December 21 *) intersection[Di,PS] := PS (* Theorem DI-PS-2 in DI added 1998 July 2 *) intersection[Di,S] := PS (* derived 2005 February 3 in WF-DIV.NB *) intersection[Di,wf[x_]] := wf[x] (* added 1999 December 7 based on RESTRICT.NB *) intersection[DIF,composite[DIF,SWAP]] := cart[Id,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[DISJOINT,CAP]] := DIF (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[DISJOINT,CUP]] := cart[S,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[DISJOINT,DIF,SWAP]] := DIF (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[DISJOINT,FIRST]] := cart[S,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[DISJOINT,SECOND]] := DIF (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[inverse[S],CAP]] := cart[S,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[inverse[S],CUP]] := DIF (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[inverse[S],DIF,SWAP]] := cart[S,set[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[inverse[S],FIRST]] := DIF (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[inverse[S],SECOND]] := cart[S,set[0]] (* added 1999 December 7 based on RESTRICT.NB *) intersection[DIF,composite[inverse[S],SYMDIF]] := DIF (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[S,CAP]] := composite[FIRST,id[DISJOINT]] (* added 1999 December 7 based on RESTRICT.NB *) intersection[DIF,composite[S,CUP]] := inverse[RIGHT[0]] (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[DIF,composite[S,FIRST]] := composite[FIRST,id[DISJOINT]] (* added 1999 December 7 based on RESTRICT.NB *) intersection[DIF,composite[S,SECOND]] := inverse[RIGHT[0]] (* added 1999 October 17 based on NORMAL.2 *) intersection[DISJOINT,composite[E,inverse[E]]] := 0 (* added 2001 March 9 based on QUICKER.NB *) intersection[DISJOINT,composite[RC[x_],inverse[S]]] := composite[RC[x],IMAGE[id[x]]] (* discovered 1998 December 24 in session DISJOINT.LOG *) intersection[DISJOINT,IMAGE[id[x_]]] := cart[P[complement[x]],set[0]] (* added 2001 September 3 based in RC-DEF.NB *) intersection[DISJOINT,image[inverse[SYMDIF],set[x_]]] := RC[x] (* added 1999 October 31 based on INTINV.LOG *) intersection[DISJOINT,inverse[IMAGE[id[x_]]]] := cart[set[0],P[complement[x]]] (* inverse of DJT-I-2 *) intersection[DISJOINT,inverse[S]] := cart[V,set[0]] (* added 2001 February 27 based on DMORG.NB *) intersection[DISJOINT,RC[x_]] := RC[x] (* Theorem DJT-I-2 in DJT proved 1998 December 24 *) intersection[DISJOINT,S] := cart[set[0],V] (* added 2002 September 2 based on DIV-PO.NB *) intersection[DIV,complement[S]] := cart[intersection[omega,complement[set[0]]],set[0]] (* added 2002 September 2 based on DIV-PO.NB *) intersection[DIV,inverse[DIV]] := id[omega] (* derived 2005 May 26 in DIV-I.NB *) intersection[DIV,inverse[E]] := cart[intersection[omega,complement[set[0]]],set[0]] (* derived 2005 January 25 in THINPART.NB *) intersection[domain[x_],domain[VERTSECT[x_]]] := domain[thinpart[x]] (* derived 2005 January 26 in REMOVED.NB *) intersection[domain[x_],domain[VERTSECT[trv[x_]]]] := domain[thinpart[trv[x]]] (* derived 2004 December 11 in RESTRICT.NB *) intersection[domain[funpart[x_]],domain[oopart[x_]]] := domain[oopart[x]] (* added 2000 February 12 based on FUNPART.NB *) intersection[domain[funpart[x_]],domain[VERTSECT[x_]]] := domain[funpart[x]] (* added 2000 December 17 based on CLIQUES.NB *) intersection[domain[GREATEST[x_]],P[complement[domain[x_]]]] := 0 (* added 2000 December 17 based on MEMBER.NB *) intersection[domain[GREATEST[x_]],set[0]] := 0 (* added 2002 November 21 based on C-THIN.NB *) intersection[domain[VERTSECT[x_]],domain[VERTSECT[complement[x_]]]] := 0 (* derived 2004 February 20 in REPLACE1.NB *) intersection[domain[VERTSECT[x_]],lb[x_,V]] := 0 (* derived 2004 May 2 in ZN.NB *) intersection[domain[VERTSECT[ZN]],fix[IMAGE[ZN]]] := fix[IMAGE[ZN]] (* Theorem DI-SG in DI added 1998 July 2 *) intersection[E,complement[composite[E,Di]]] := SINGLETON (* added 2002 April 27 based on FULSUC-F.NB *) intersection[E,composite[complement[S],SUCC]] := intersection[E,complement[S]] intersection[E,composite[S,SUCC]] := composite[S,SUCC] (* added 2000 November 19 based on IM-SS.NB *) intersection[E,inverse[LB[x_]]] := inverse[LEAST[x]] (* added 2000 November 19 based on IM-SS.NB *) intersection[E,inverse[UB[x_]]] := inverse[GREATEST[x]] (* Theorem SUC-ES3 in SUC-RELATION *) intersection[E,S] := composite[S,SUCC] (* Theorem SUC-ES1 in SUC-REL *) intersection[E,SUCC] := SUCC (* added 2003 August 17 based on EQDF-SUB.NB *) intersection[EQUIDIFF,composite[inverse[FIRST],inverse[S],FIRST]] := composite[RIF,cross[inverse[NATADD],inverse[NATADD]]] (* added 2003 August 17 based on EQDF-SUB.NB *) intersection[EQUIDIFF,composite[inverse[FIRST],S,FIRST]] := composite[cross[NATADD,NATADD],inverse[RIF]] (* added 2003 August 17 based on EQDF-SUB.NB *) intersection[EQUIDIFF,composite[inverse[SECOND],inverse[S],SECOND]] := composite[RIF,cross[inverse[NATADD],inverse[NATADD]]] (* added 2003 August 17 based on EQDF-SUB.NB *) intersection[EQUIDIFF,composite[inverse[SECOND],S,SECOND]] := composite[cross[NATADD,NATADD],inverse[RIF]] (* added 2003 August 17 based on EQDF-SUB.NB *) intersection[EQUIDIFF,cross[inverse[S],inverse[S]]] := composite[RIF,cross[inverse[NATADD],inverse[NATADD]]] (* added 2003 August 17 based on EQDF-SUB.NB *) intersection[EQUIDIFF,cross[S,S]] := composite[cross[NATADD,NATADD],inverse[RIF]] (* derived 2004 April 1 in EQV-EQ.NB *) intersection[EQV,FUNS] := P[Id] (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[EQV,IDEM] := EQV (* added 2001 October 28 based on EQV-I.NB *) intersection[EQV,invar[SWAP]] := EQV (* added 2001 October 28 based on EQV.NB *) intersection[EQV,P[cart[V,V]]] := EQV (* added 2001 October 28 based on EQV-I.NB *) intersection[EQV,range[CART]] := union[image[CART,Id],set[0]] (* added 2001 October 28 based on EQV.NB *) intersection[EQV,RFX] := EQV (* added 2001 October 28 based on EQV-I.NB *) intersection[EQV,SYM] := EQV (* added 2001 October 28 based on EQV-I.NB *) intersection[EQV,TRV] := EQV (* derived 2005 April 23 in FACT-S.NB *) intersection[FACTORIAL,inverse[E]] := 0 (* derived 2005 April 23 in FACT-S.NB *) intersection[FACTORIAL,S] := FACTORIAL (* added 2002 May 28 based on FINITE.NB *) intersection[FINITE,fix[CARD]] := omega (* derived 2005 January 31 in X4210.NB *) intersection[FINITE,image[INVERSE,range[PLUS]]] := 0 (* added 2003 December 9 based on ITER-K.NB *) intersection[FINITE,image[Q,OMEGA]] := FINITE (* added 2002 May 28 based on CARD-OM.NB *) intersection[FINITE,omega] := omega (* Theorem FIN-ON2 in FINITE proved 2000 March 19 *) intersection[FINITE,OMEGA] := omega (* Theorem FIN-OM3 in FINITE proved 2000 March 19 *) intersection[FINITE,P[omega]] := image[inverse[S],omega] (* derived 2005 January 31 in X4210.NB *) intersection[FINITE,range[PLUS]] := 0 (* added 2001 October 16 based on IM-IN-SG.NB *) intersection[FINITE,range[SINGLETON]] := range[SINGLETON] (* Theorem FIN-PS2 in FINITE proved 2000 October 9 *) intersection[FINITE,subvar[PS]] := set[0] (* added 2003 January 19 based on IMS-OM.NB *) intersection[FINITE,succ[omega]] := omega (* derived 2005 January 31 in X4210.NB *) intersection[FINITE,Z] := 0 (* Corollary 1ST-I in 1ST proved 1999 January 26 *) intersection[FIRST,x_] := composite[FIRST, id[fix[composite[inverse[FIRST],x]]]] (* added 2001 October 15 based on ACL-UCL.NB *) intersection[fix[ACLOSURE],range[SINGLETON]] := range[SINGLETON] (* added 2002 May 25 based on OM-INVAR.NB *) intersection[fix[BIGCUP],set[0]] := set[0] (* added 2001 December 17 based on Q-HAT.NB *) intersection[fix[CARD],image[Q,OMEGA]] := fix[CARD] (* added 2003 May 3 based on SQUARE.NB *) intersection[fix[composite[CART,x_]],P[cart[V,V]]] := fix[composite[CART,x]] (* added 1998 February 8 *) intersection[fix[x_],complement[domain[x_]]] := 0 intersection[fix[x_],complement[range[x_]]] := 0 (* added 2002 January 15 based on EQV-2.NB *) intersection[fix[composite[COMPOSE,x_]],P[cart[V,V]]] := fix[composite[COMPOSE,x]] intersection[fix[composite[x_,y_]],domain[y_]] := fix[composite[x,y]] (* added 2000 September 28 based on APPLY.NB *) intersection[fix[composite[E,BIGCAP]],range[SINGLETON]] := range[SINGLETON] (* derived 2004 May 14 in SIMPLIFY.NB *) intersection[fix[composite[x_,IMAGE[id[composite[Id,y_]]]]],P[y_]] := intersection[fix[composite[x,IMAGE[id[cart[V,V]]]]],P[y]] (* added 2000 September 19 based on SUBST.NB *) intersection[fix[composite[x_,IMAGE[id[y_]]]],P[y_]] := intersection[fix[x],P[y]] (* added 1999 November 13 based on FIX-INV.LOG *) intersection[fix[composite[x_,IMAGE[SWAP]]],P[cart[V,V]]] := fix[composite[x,INVERSE]] (* derived 2004 December 14 in DORA-PID.NB *) intersection[fix[composite[inverse[DUP],inverse[COMPOSE],S]],image[inverse[IMAGE[id[cart[V,V]]]],TRV]] := IDEM (* added 2002 June 2 based on COREHULL.NB *) intersection[fix[composite[inverse[E],HULL[x_]]],image[inverse[S],x_]] := fix[composite[inverse[E],HULL[x]]] (* added 2002 January 21 based on RA-POW.NB *) intersection[fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]],fix[IMAGE[inverse[S]]]] := range[POWER] (* added 2002 January 21 based on RA-POW.NB *) intersection[fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]], range[POWER]] := range[POWER] (* added 2002 January 21 based on VS-IN-BC.TXT *) intersection[fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]], range[SINGLETON]] := range[SINGLETON] (* added 2002 June 2 based on FP-E-HC.NB *) intersection[fix[composite[inverse[E],IMAGE[inverse[S]]]],OMEGA] := 0 (* added 2002 January 22 based on FIXRULES.NB *) intersection[fix[composite[inverse[E],IMAGE[x_]]],set[0]] := 0 (* derived 2004 August 3 in WF-REC-1.NB *) intersection[fix[composite[inverse[IMAGE[composite[id[inverse[FIRST]],inverse[SECOND]]]], UB[composite[FIRST,intersection[composite[inverse[IMG],SECOND],composite[inverse[SECOND],VERTSECT[y_],FIRST]], intersection[composite[inverse[FIRST],FIRST],composite[inverse[x_],SECOND]]]]]], image[inverse[IMAGE[FIRST]],invar[y_]]] := partrec[x,y] (* added 2000 November 16 based on WO.NB *) intersection[fix[composite[inverse[IMAGE[id[x_]]],y_]],P[x_]] := intersection[fix[y],P[x]] (* added 2001 April 24 based on RFX2.NB *) intersection[fix[composite[inverse[S],CART,DUP,IMAGE[inverse[DUP]]]], P[cart[V,V]]] := fix[composite[inverse[S],CART,DUP,IMAGE[inverse[DUP]]]] intersection[fix[composite[x_,y_]],range[x_]] := fix[composite[x,y]] (* added 2001 December 19 based on INV-DORA.NB *) intersection[fix[composite[S,CART,DORA]],P[cart[V,V]]] := range[CART] (* added 2003 May 4 based on SQUARE.NB *) intersection[fix[composite[S,CART,DUP,IMAGE[FIRST]]], image[inverse[DORA],inverse[S]],P[cart[V,V]]] := image[CART,Id] (* added 2003 May 4 based on SQUARE.NB *) intersection[fix[composite[S,CART,DUP,IMAGE[SECOND]]], image[inverse[DORA],S],P[cart[V,V]]] := image[CART,Id] (* derived 2004 August 7 in RS-1.NB *) intersection[fix[composite[S,IMAGE[composite[id[x_],inverse[FIRST]]],S,IMAGE[FIRST]]],P[composite[Id,x_]]] := RS[x] (* added 2001 March 8 based on IMIMG.NB *) intersection[fix[composite[S,IMAGE[id[x_]],id[y_],S]],P[x_]] := image[IMAGE[id[x]],y] (* added 2003 May 21 based on INF-CLOS.NB *) intersection[fix[composite[S,IMAGE[x_],POWER]], image[S,complement[domain[VERTSECT[x_]]]]] := 0 intersection[fix[x_],domain[x_]] := fix[x] (* added 2001 October 28 based on EQV-I.NB *) intersection[fix[x_],fix[composite[inverse[S],x_]]] := fix[x] (* added 2001 October 28 based on EQV-I.NB *) intersection[fix[x_],fix[composite[S,x_]]] := fix[x] (* added 1998 February 7 *) intersection[fix[E],omega] := 0 intersection[fix[E],OMEGA] := 0 intersection[fix[E],P[RUSSELL]] := 0 intersection[fix[E],RUSSELL] := 0 (* derived 2004 October 7 in HULL-I.NB *) intersection[fix[HULL[x_]],fix[HULL[intersection[x_,y_]]]] := fix[HULL[intersection[x,y]]] (* added 2001 May 15 based on HULL-1.NB *) intersection[fix[HULL[x_]],image[inverse[S],x_]] := fix[HULL[x]] (* Theorem SBV-IVR4 in SUBVAR proved 1999 February 15 *) intersection[fix[IMAGE[x_]],invar[x_]] := fix[IMAGE[x]] (* added 2003 July 2 based on ASS-RELN.NB *) intersection[fix[image[inverse[CART],fix[composite[inverse[ IMAGE[composite[SWAP,RIF,cross[Id,composite[cross[SWAP,Id],inverse[RIF]]]]]], IMAGE[composite[SWAP,RIF,cross[Id,composite[cross[inverse[ASSOC],SWAP], inverse[RIF]]]]]]]]],P[cart[cart[V,V],V]]] := ASSOCIATIVE (* added 2002 January 21 based on VS-IN-BC.TXT *) intersection[fix[IMAGE[inverse[S]]],range[POWER]] := range[POWER] (* Theorem SBV-IVR4 in SUBVAR proved 1999 February 15 *) intersection[fix[IMAGE[x_]],subvar[x_]] := fix[IMAGE[x]] intersection[fix[x_],range[x_]] := fix[x] (* added 1998 February 8 *) intersection[fix[SINGLETON],RUSSELL] := 0 (* added 2001 October 23 based on TOPS.NB *) intersection[fix[UCLOSURE],complement[P[complement[set[0]]]]] := fix[UCLOSURE] (* derived 2003 December 24 in UCL-ON.NB *) intersection[fix[UCLOSURE],fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := fix[UCLOSURE] (* added 2001 October 23 based on CAPCLOS.NB *) intersection[fix[UCLOSURE],image[ADJOIN[set[0]],range[SINGLETON]]] := image[ADJOIN[set[0]],range[SINGLETON]] (* derived 2005 January 15 in HILBERT.NB *) intersection[fix[UCLOSURE],invar[POWER]] := 0 (* added 2001 October 23 based on TOPS.NB *) intersection[fix[UCLOSURE],P[complement[set[0]]]] := 0 (* added 2001 October 15 based on ACL-UCL.NB *) intersection[fix[UCLOSURE],range[SINGLETON]] := set[set[0]] (* added 2002 April 26 based on FULSUC-A.NB *) intersection[FULL,fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := fix[composite[S,SUCC,BIGCUP]] (* added 2003 January 18 based on HC-TC-OM.NB *) intersection[FULL,image[inverse[S],omega]] := omega (* added 1998 February 7 *) intersection[FULL,omega] := omega (* added 2001 March 17 based on TC-I-FUL.NB *) intersection[FULL,P[FULL]] := H[FULL] (* added 2003 June 22 based on FP-HC.NB *) intersection[FULL,P[H[x_]]] := intersection[FULL,P[x]] (* derived 2005 February 17 in NAT-ACL.NB *) intersection[FULL,P[nat[x_]]] := succ[nat[x]] intersection[FULL,P[omega]] := succ[omega] (* Theorem ON-FUL-E in ON2 added 1998 February 7 *) intersection[FULL,OMEGA] := OMEGA (* derived 2004 December 29 in FUL-REG3.NB *) intersection[FULL,P[intersection[REGULAR,complement[set[0]]]]] := set[0] (* Theorem ISB5-DEM in ON4 added 1998 February 7 *) intersection[FULL,P[OMEGA]] := OMEGA (* added 2001 September 30 based on ACL-2.NB *) intersection[FULL,set[0]] := set[0] (* Theorem SBV-FUL in SUBVAR proved 1999 February 16 *) intersection[FULL,subvar[inverse[E]]] := fix[BIGCUP] (* derived 2004 June 19 in X14--.NB *) intersection[y_,funpart[x_]] := composite[funpart[x],id[fix[composite[inverse[y],funpart[x]]]]] (* added 2000 September 8 based on FUNPART.LOG *) intersection[FUNPART,complement[inverse[S]]] := 0 (* added 2001 November 20 based on FIX-FUNP.NB *) intersection[FUNPART,inverse[S]] := FUNPART (* added 2001 November 20 based on FIX-FUNP.NB *) intersection[FUNPART,S] := id[FUNS] (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[FUNS,IDEM] := PROJ (* definition DEF-BIJ in BIJ added 2000 April 26 *) intersection[FUNS,image[IMAGE[SWAP],FUNS]] := BIJ (* added 2003 May 7 based on UNOPS.NB *) intersection[FUNS,image[inverse[DORA],composite[inverse[S],x_]]] := U[image[MAP,x]] (* added 2003 May 7 based on UNOPS.NB *) intersection[FUNS,image[inverse[DORA],inverse[S]]] := U[image[MAP,Id]] (* added 2000 June 14 based on IMAGE-Q.NB *) intersection[FUNS,image[INVERSE,FUNS]] := BIJ (* added 2003 May 14 based on LIST-DEF.NB *) intersection[FUNS,image[inverse[IMAGE[FIRST]],omega]] := LISTS (* added 2001 April 25 based on MAP1.NB *) intersection[FUNS,image[inverse[IMAGE[FIRST]],set[x_]]] := map[x,V] (* added 2000 June 14 based on IMAGE-Q.NB *) intersection[FUNS,image[inverse[IMAGE[SWAP]],FUNS]] := BIJ (* derived 2004 January 4 in VS-IMIN.NB *) intersection[FUNS,image[VS,x_]] := image[VS,x] (* added 2002 February 9 based on IDX.NB *) intersection[FUNS,invar[composite[DUP,FIRST]]] := P[Id] (* added 2002 February 9 based on MOREIDEM.NB *) intersection[FUNS,invar[composite[DUP,SECOND]]] := PROJ (* added 2001 April 25 based on MAP2.NB *) intersection[FUNS,map[x_,y_]] := map[x,y] (* added 1999 August 19 *) intersection[FUNS,P[cart[V,V]]] := FUNS intersection[FUNS,P[complement[cart[V,V]]]] := set[0] (* added 2001 November 25 based on FUNP-1.NB *) intersection[FUNS,P[Id]] := P[Id] (* added 2002 February 5 based on DORA.NB *) intersection[FUNS,range[CART]] := image[CART,cart[V,range[SINGLETON]]] (* added 2001 October 16 based on IM-IN-SG.NB *) intersection[FUNS,range[SINGLETON]] := image[SINGLETON,cart[V,V]] (* added 2002 February 9 based on RFX-FUNS.NB *) intersection[FUNS,RFX] := P[Id] intersection[FUNS,set[0]] := set[0] (* derived 2004 October 28 in X.NB *) intersection[FUNS,set[funpart[x_]]] := set[funpart[x]] (* derived 2004 October 31 in U-X.NB *) intersection[FUNS,X[x_]] := X[x] (* added 2000 November 25 based on LT-GLB.NB *) intersection[GLB[x_],inverse[E]] := LEAST[x] (* added 2000 November 26 based on GLB-LUB.NB *) intersection[GLB[x_],LB[x_]] := GLB[x] (* added 2000 November 26 based on GLB-LUB.NB *) intersection[GLB[x_],LEAST[x_]] := LEAST[x] (* added 2000 December 17 based on CLIQUES.NB *) intersection[GREATEST[x_],GREATEST[complement[x_]]] := 0 (* added 2000 November 18 based on GREATEST.NB *) intersection[GREATEST[x_],inverse[E]] := GREATEST[x] (* added 2000 November 25 based on LT-GLB.NB *) intersection[GREATEST[x_],LUB[x_]] := GREATEST[x] (* added 2000 November 18 based on GREATEST.NB *) intersection[GREATEST[x_],UB[y_]] := intersection[GREATEST[x],GREATEST[y]] (* added 2001 March 27 based on HF-SS.NB *) intersection[x_,H[x_]] := H[x] (* added 2001 April 1 based on HF-CONT.NB *) intersection[HC,inverse[S]] := HC (* added 2002 May 7 based on FIX-HULL.NB *) intersection[HULL[x_],inverse[S]] := id[fix[HULL[x]]] (* IDX-FP-1 in IDX2 *) intersection[Id,x_] := id[fix[x]] intersection[id[x_],y_] := id[intersection[x,fix[y]]] (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[IDEM,invar[SWAP]] := EQV (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[IDEM,P[cart[V,V]]] := IDEM (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[IDEM,range[CART]] := union[image[CART,composite[E,inverse[E]]],set[0]] (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[IDEM,SYM] := EQV (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[IDEM,TRV] := IDEM (* added 2003 October 7 based on WF-IND.NB *) intersection[image[CART,DISJOINT],range[SINGLETON]] := image[SINGLETON,Di] (* added 2001 October 20 based in CART-SQ.NB *) intersection[image[CART,Id],image[inverse[IMAGE[inverse[DUP]]],x_]] := image[CART,id[x]] (* added 2001 February 8 based on REPEAT-4.NB *) intersection[image[CART,x_],P[cart[V,V]]] := image[CART,x] (* derived 2004 February 7 in COMPACT.NB *) intersection[image[COARSER,FINITE],P[FINITE]] := intersection[FINITE,P[FINITE]] (* added 2003 October 7 based on WF-IND.NB *) intersection[image[HULL[TRV],x_],P[cart[V,V]]] := image[HULL[TRV],x] (* Theorem CUT-I-3 in CUT2 proved 1998 December 25 *) intersection[IMAGE[id[x_]],inverse[IMAGE[id[y_]]]] := id[P[intersection[x,y]]] intersection[IMAGE[id[x_]],inverse[S]] := IMAGE[id[x]] (* added 2001 March 8 based on IMIMG.NB *) intersection[image[IMAGE[id[x_]],y_],P[x_]] := image[IMAGE[id[x]],y] intersection[image[z_,x_],image[z_,intersection[x_,y_]]] := image[z,intersection[x,y]] (* derived 2004 October 9 in IM-COA.NB *) intersection[image[inverse[BIGCUP],image[S,set[U[x_]]]],P[x_]] := image[inverse[COARSER],set[x]] (* added 2003 January 19 based on IMS-OM.NB *) intersection[image[inverse[BIGCUP],omega],P[omega]] := image[inverse[S],omega] (* added 2001 March 5 based on K-SS.NB *) intersection[image[inverse[DIF],range[SINGLETON]],inverse[S]] := inverse[K] intersection[image[inverse[z_],x_],domain[z_]] := image[inverse[z],x] (* added 2003 April 30 based on CARTSQ.NB *) intersection[image[inverse[DORA],Id],range[CART]] := image[CART,Id] (* added 2000 September 22 based on EXPT *) intersection[image[INVERSE,FUNS],P[cart[V,V]]] := image[INVERSE,FUNS] (* added 2003 October 15 based on ACYCLIC.NB *) intersection[image[inverse[HULL[TRV]],x_],P[cart[V,V]]] := image[inverse[HULL[TRV]],x] (* added 2001 April 28 based on FNSP6.NB *) intersection[image[inverse[IMAGE[FIRST]],image[S,set[x_]]],P[cart[x_,y_]]] := intersection[image[inverse[IMAGE[FIRST]],set[x]],P[cart[x,y]]] (* added 2001 April 24 based on MAP6.NB *) intersection[image[inverse[IMAGE[FIRST]],image[S,set[x_]]], P[complement[cart[complement[x_],V]]]] := image[inverse[IMAGE[FIRST]],set[x]] (* added 1999 August 19 *) intersection[image[inverse[IMAGE[id[x_]]],y_],P[x_]] := intersection[y,P[x]] (* added 2001 April 24 based on MAP.NB *) intersection[image[inverse[IMAGE[id[cart[V,V]]]],FUNS],P[cart[x_,y_]]] := intersection[FUNS,P[cart[x,y]]] (* added 2002 December 16 based on REPLACE.NB *) intersection[image[inverse[IMAGE[x_]],y_],P[domain[VERTSECT[x_]]]] := image[inverse[IMAGE[x]],y] (* added 2002 based on Q-MEMBER.NB *) intersection[image[inverse[IMAGE[SECOND]],image[S,set[x_]]], P[complement[cart[V,complement[x_]]]]] := image[inverse[IMAGE[SECOND]],set[x]] (* added 2002 November 30 based on INVERSE.NB *) intersection[image[inverse[IMAGE[SWAP]],x_],P[cart[V,V]]] := image[INVERSE,x] (* derived 2004 December 21 in COMUTANT.NB *) intersection[image[inverse[IMAGE[SWAP]],subcommutant[inverse[x_]]],subcommutant[x_]] := commutant[x] (* derived 2004 December 21 in SBCOMMUT.NB *) intersection[image[inverse[IMAGE[SWAP]],subcommutant[x_]],P[complement[cart[V,V]]]] := P[complement[cart[V,V]]] (* added 2002 November 30 based on INVERSE.NB *) intersection[image[INVERSE,x_],P[cart[V,V]]] := image[INVERSE,x] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[image[INVERSE,range[PLUS]],P[Id]] := set[id[omega]] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[image[INVERSE,range[PLUS]],P[inverse[S]]] := image[INVERSE,range[PLUS]] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[image[INVERSE,range[PLUS]],P[S]] := set[id[omega]] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[image[INVERSE,range[PLUS]],range[PLUS]] := set[id[omega]] (* derived 2004 December 21 in COMUTANT.NB *) intersection[image[INVERSE,subcommutant[inverse[x_]]],subcommutant[x_]] := intersection[commutant[x],P[cart[V,V]]] intersection[image[inverse[S],x_],x_] := x (* added 2003 January 19 based on SBV-INE.NB *) intersection[image[inverse[S],omega],subvar[inverse[E]]] := set[0] (* added 2001 October 16 based on RA-SG.NB *) intersection[image[inverse[S],x_],range[SINGLETON]] := image[SINGLETON,U[x]] (* added 2002 December 21 based on DIV.NB *) intersection[image[NATMUL,cart[set[x_],y_]], image[V,intersection[omega,set[x_]]]] := image[NATMUL,cart[set[x],y]] (* derived 2005 January 11 in SET-SUCC.NB *) intersection[image[PAIRSET,Di],P[succ[set[0]]]] := set[succ[set[0]]] (* derived 2005 January 9 in PC-CARD2.NB *) intersection[image[PAIRSET,Di],range[POWER]] := image[POWER,range[SINGLETON]] (* derived 2005 January 11 in SET-SUCC.NB *) intersection[image[PAIRSET,Di],succ[set[set[0]]]] := 0 (* derived 2004 September 18 in SSIM-PRS.NB *) intersection[image[PAIRSET,x_],range[SINGLETON]] := image[SINGLETON,fix[x]] (* added 2001 December 17 based on Q-HAT.NB *) intersection[x_,image[Q,x_]] := x intersection[image[z_,x_],range[z_]] := image[z,x] (* added 2001 August 30 based on RC.NB *) intersection[image[RC[x_],y_],P[x_]] := image[RC[x],y] intersection[image[S,x_],x_] := x (* added 2000 November 3 based on SUBVAR.LOG *) intersection[image[S,set[A[x_]]],x_] := x (* Theorem RP-SR-U2 in RP1 proved 1998 October 22 Rule flipped on 1999 October 4 *) intersection[image[S,set[x_]],image[S,set[y_]]] := image[S,set[union[x,y]]] (* added 2000 November 14 based on GREATEST.NB *) intersection[x_,image[S,set[U[x_]]]] := intersection[x,set[U[x]]] (* Theorem SG-IM-I1 in SG2 proved 1998 September 2 *) intersection[image[SINGLETON,x_],P[y_]] := image[SINGLETON,intersection[x,y]] (* added 1998 September 7 *) intersection[image[SINGLETON,x_],set[0]] := 0 intersection[image[x_,set[u_]],set[u_]] := intersection[fix[x],set[u]] intersection[image[V,x_],x_] := x intersection[image[V,x_],image[z_,x_]] := image[z,x] intersection[image[V,z_],image[z_,x_]] := image[z,x] (* derived 2005 February 13 in NAT.NB *) intersection[x_,image[V,intersection[omega,set[x_]]]] := nat[x] (* derived 2005 February 17 in X3741-49.NB *) intersection[image[V,intersection[omega,set[x_]]],U[x_]] := U[nat[x]] (* Discovered 1998 October 3 *) intersection[image[V,intersection[x_,set[y_]]],complement[image[V,x_]]] := 0 (* added 2002 June 29 based on IDX-IMV.NB *) intersection[image[V,intersection[x_,set[y_]]],set[y_]] := intersection[x,set[y]] intersection[image[V,z_],range[z_]] := range[z] (* derived 2004 March 14 in WO-TRV.NB intersection[x_,image[V,set[x_]]] := setpart[x] *) (* derived 2004 September 25 in LAMB-WF.NB *) intersection[image[V,x_],set[composite[id[image[V,x_]],y_]]] := intersection[image[V,x],set[composite[Id,y]]] (* added 2001 November 13 based on REPLACE.NB *) intersection[image[V,set[first[x_]]],set[second[x_]]] := set[second[x]] intersection[image[V,set[x_]],image[V,complement[x_]]] := image[V,set[x]] (* Rule related to Quaife's Theorem RE7 *) intersection[image[V,set[x_]],image[V,set[complement[x_]]]] := 0 (* added 1999 November 9 based on IMV.NB *) intersection[image[V,set[x_]],image[V,set[domain[x_]]]] := image[V,set[x]] (* derived 2004 August 17 in AP-PAIR.NB *) intersection[image[V,set[y_]],image[V,set[intersection[x_,complement[y_]]]]] := intersection[image[V,set[x]],image[V,set[y]]] (* added 1999 November 9 based on IMV.NB *) intersection[image[V,set[x_]],image[V,set[range[x_]]]] := image[V,set[x]] (* added 2002 September 16 based on SUB-SUCC.NB *) intersection[image[V,set[y_]], set[natsub[x_,y_]]] := set[natsub[x,y]] (* added 2002 January 1 based on ROTATE.NB *) intersection[image[V,set[x_]],image[V,set[y_]], set[pair[x_,y_]]] := cart[set[x],set[y]] (* added 2002 October 15 based on MEMBER.NB *) intersection[image[V,y_],set[intersection[x_,image[V,y_]]]] := intersection[image[V,y],set[x]] (* added 2001 November 13 based on REPLACE.NB *) intersection[image[V,set[x_]],set[first[x_]]] := set[first[x]] intersection[image[V,set[x_]],set[id[x_]]] := set[id[x]] intersection[image[V,set[x_]],set[P[x_]]] := set[P[x]] intersection[image[V,set[x_]],set[U[x_]]] := set[U[x]] (* derived 2004 January 4 in VS-IMIN.NB *) intersection[image[VS,x_],P[cart[V,V]]] := image[VS,x] (* revised 2002 April 18 based on REPLACE.NB *) intersection[invar[BIGCUP],P[omega]] := succ[omega] (* added 2001 October 8 based on RFX.NB *) intersection[invar[composite[DUP,FIRST]],invar[composite[DUP,SECOND]]] := image[inverse[IMAGE[id[cart[V,V]]]],RFX] (* added 2002 February 9 based on RFX-FUNS.NB *) intersection[invar[composite[DUP,FIRST]],P[Id]] := P[Id] (* derived 2004 August 7 in RS-1.NB *) intersection[invar[composite[id[x_],inverse[FIRST],FIRST]],P[composite[Id,x_]]] := RS[x] (* derived 2004 August 7 in RS-1.NB *) intersection[invar[composite[id[x_],inverse[FIRST],FIRST]],P[thinpart[x_]]] := RS[x] (* added 2002 May 14 based on IVR-RS.NB *) intersection[invar[composite[x_,id[y_]]],P[y_]] := intersection[invar[x],P[y]] (* derived 2004 August 9 in RS-2.NB *) intersection[invar[composite[id[thinpart[x_]],inverse[FIRST],FIRST]],P[thinpart[x_]]] := RS[thinpart[x]] (* derived 2004 August 6 in CONSTANT.NB *) intersection[invar[composite[RIGHT[x_],FIRST]],P[cart[y_,set[x_]]]] := P[cart[y,set[x]]] (* added 2003 January 9 based on SBV-EQDF.NB *) intersection[invar[EQUIDIFF],P[cart[omega,omega]]] := Uclosure[Z] (* added 2002 June 12 based on ABSORB.NB *) intersection[invar[x_],invar[intersection[x_,y_]]] := invar[x] (* added 2002 May 14 based on OM-BC.NB *) intersection[invar[inverse[SUCC]],P[omega]] := succ[omega] (* corollary of Corollary of IVR-3 *) intersection[invar[x_],P[domain[VERTSECT[x_]]]] := invar[x] (* see: IVR-IMV.LOG session 1999 January 10 *) intersection[invar[x_],set[0]] := set[0] (* Theorem SBV-IVR4 in SUBVAR proved 1999 February 15 *) intersection[invar[x_],subvar[x_]] := fix[IMAGE[x]] (* added 2002 May 14 based on IND-C.NB *) intersection[invar[SUCC],P[omega]] := union[image[RC[omega],omega],set[0]] (* added 2001 October 10 based on REPLACE.NB *) intersection[invar[SWAP],P[cart[V,V]]] := SYM (* added 1999 October 31 based on INTINV.LOG *) intersection[inverse[CAP],inverse[CUP]] := DUP (* added 1999 October 31 based on INTINV.LOG *) intersection[inverse[CAP],inverse[DIF]] := cart[set[0],cart[set[0],V]] (* added 1998 February 8 *) intersection[inverse[DUP],complement[FIRST]] := 0 intersection[inverse[DUP],complement[SECOND]] := 0 intersection[inverse[E],inverse[S]] := composite[inverse[SUCC],inverse[S]] (* Theorem SUC-ES1 in SUC-REL *) intersection[inverse[E],inverse[SUCC]] := inverse[SUCC] (* added 2000 November 13 based on MAX.NB *) intersection[inverse[E],LB[x_]] := LEAST[x] (* added 2000 November 16 based on ASSINT.NB *) intersection[inverse[E],LEAST[x_]] := LEAST[x] (* added 2000 November 25 based on LT-GLB.NB *) intersection[inverse[E],LUB[x_]] := GREATEST[x] (* added 2000 November 16 based on ASSINT.NB *) intersection[inverse[E],MAXIMAL[x_]] := MAXIMAL[x] (* added 2002 October 27 based on GREATEST.NB *) intersection[inverse[E],MINIMAL[x_]] := MINIMAL[x] (* added 2000 November 13 based on MAX.NB *) intersection[inverse[E],UB[x_]] := GREATEST[x] intersection[x_,inverse[FIRST]] := composite[id[fix[composite[x,FIRST]]], inverse[FIRST]] intersection[inverse[IMAGE[id[x_]]],S] := inverse[IMAGE[id[x]]] (* added 2000 September 29 based on VS-K-IN.NB *) intersection[inverse[PS],complement[composite[inverse[PS],inverse[PS]]]] := inverse[K] (* added 2000 May 16 based on K-SR.NB *) intersection[inverse[PS],inverse[S]] := inverse[PS] (* added 1999 October 26 based on DIF-LOG.2 ad hoc rule *) intersection[inverse[S],composite[inverse[S],id[x_],inverse[S]]] := composite[inverse[S],id[x],inverse[S]] (* added 1999 October 31 based on INTINV.LOG *) intersection[inverse[S],inverse[IMAGE[id[x_]]]] := id[P[x]] (* Theorem SUC-ES1 in SUC-REL *) intersection[inverse[S],inverse[SUCC]] := inverse[SUCC] intersection[x_,inverse[SECOND]] := composite[id[fix[composite[x,SECOND]]],inverse[SECOND]] (* added 1998 September 15 *) intersection[inverse[SINGLETON],x_] := composite[id[fix[composite[x,SINGLETON]]],inverse[SINGLETON]] (* derived 2004 May 11 in EQV-GEN.NB *) intersection[inverse[trv[x_]],trv[x_]] := eqv[x] (* added 2000 May 16 based on K-SR.NB *) intersection[K,complement[inverse[S]]] := K (* added 2000 May 16 based on K-SR.NB *) intersection[K,complement[S]] := 0 (* added 2000 May 14 based on K-2.NB *) intersection[K,composite[PS,PS]] := 0 (* added 2000 May 16 based on K-SR.NB *) intersection[K,inverse[PS]] := 0 (* added 2000 May 16 based on K-SR.NB *) intersection[K,inverse[S]] := 0 (* added 2000 May 14 based on K-2.NB *) intersection[K,PS] := K (* added 2000 May 14 based on K-2.NB *) intersection[K,S] := K (* derived 2004 March 6 in LT-C.NB *) intersection[LB[x_],LB[complement[x_]]] := cart[set[0],V] (* derived 2004 March 9 in IDEMLTGT.NB *) intersection[lb[x_,y_],lb[x_,intersection[y_,z_]]] := lb[x,y] (* added 2000 November 16 based on ASSINT.NB *) intersection[LB[x_],LEAST[y_]] := intersection[LEAST[x],LEAST[y]] (* derived 2004 March 14 in WO-TRV.NB *) intersection[lb[x_,set[y_]],set[y_]] := intersection[fix[x],set[y]] (* added 2000 November 16 based on ASSINT.NB *) intersection[LB[union[Id,complement[x_]]],MAXIMAL[y_]] := intersection[MAXIMAL[x],MAXIMAL[y]] (* derived 2004 March 6 in LT-C.NB *) intersection[LEAST[x_],LEAST[complement[x_]]] := 0 (* added 2000 November 25 based on LT-GLB.NB *) intersection[LUB[x_],UB[x_]] := LUB[x] (* derived 2004 November 26 in XS-CP.NB *) intersection[map[domain[x_],range[x_]],P[x_]] := X[x] (* derived 2004 October 28 in X.NB *) intersection[map[domain[x_],V],P[x_]] := X[x] (* derived 2004 October 28 in X.NB *) intersection[map[domain[x_],V],P[composite[Id,x_]]] := X[x] (* derived 2004 October 28 in AC2.NB *) intersection[map[intersection[x_,complement[set[0]]],V],P[inverse[E]]] := X[composite[inverse[E],id[x]]] (* derived 2004 November 28 in SKOLEM.NB *) intersection[map[intersection[x_,image[inverse[z_],y_]],y_],P[z_]] := X[composite[id[y],z,id[x]]] (* derived 2004 October 28 in AC2.NB *) intersection[map[intersection[x_,y_],V],P[cart[y_,V]]] := map[intersection[x,y],V] (* derived 2004 October 28 in AC2.NB *) intersection[map[intersection[x_,y_],V],P[composite[z_,id[y_]]]] := intersection[map[intersection[x,y],V],P[z]] (* added 2001 April 25 based on MAP1.NB *) intersection[map[x_,y_],map[x_,z_]] := map[x,intersection[y,z]] (* added 2001 April 28 based on FNSP6.NB *) intersection[map[x_,y_],P[cart[x_,z_]]] := map[x,intersection[y,z]] (* added 2001 April 25 based on MAP1.NB *) intersection[map[x_,y_],P[cart[V,z_]]] := map[x,intersection[y,z]] (* added 2001 April 25 based on MAP2.NB *) intersection[map[x_,y_],P[complement[cart[V,complement[z_]]]]] := map[x,intersection[y,z]] (* derived 2004 October 28 in AC2.NB *) intersection[map[x_,y_],P[composite[Id,z_]]] := intersection[map[x,y],P[z]] (* derived 2004 November 28 in SKOLEM.NB *) intersection[map[x_,y_],P[composite[id[z_],w_]]] := intersection[map[x,intersection[y,z]],P[w]] (* derived 2005 June 17 in DF.NB *) intersection[x_,natadd[x_,y_]] := x (* derived 2005 May 27 in ADD-SU.NB *) intersection[NATADD,composite[complement[inverse[E]],FIRST]] := NATADD (* derived 2005 May 27 in ADD-SU.NB *) intersection[NATADD,composite[complement[inverse[E]],SECOND]] := NATADD (* added 2002 October 29 based on NATSUB.NB *) intersection[NATADD,composite[inverse[E],SECOND]] := 0 (* added 2002 September 15 based on NATADDEZ.NB *) intersection[NATADD,composite[S,FIRST]] := NATADD (* added 2002 September 15 based on NATADDEZ.NB *) intersection[NATADD,composite[S,SECOND]] := NATADD (* derived 2003 December 25 in TOPSDEFN.NB *) intersection[OMEGA,binclosed[CAP]] := OMEGA (* added 1998 August 18 *) intersection[omega,complement[FULL]] := 0 (* added 1998 February 7 *) intersection[OMEGA,complement[FULL]] := 0 (* derived 2004 September 29 in WF-REC-7.NB *) intersection[omega,complement[image[SUCC,complement[omega]]]] := omega (* revised 2003 June 1 based on REPLACE.NB *) intersection[OMEGA,complement[invar[SUCC]]] := intersection[OMEGA,complement[fix[BIGCUP]]] (* added 1998 February 7 *) intersection[omega,complement[OMEGA]] := 0 (* derived 2005 February 19 in ITR-OM-E.NB *) intersection[omega,complement[P[complement[omega]]]] := intersection[omega,complement[set[0]]] (* added 2002 June 16 based on ADD-1ST.NB *) intersection[omega,complement[P[complement[set[0]]]]] := intersection[omega,complement[set[0]]] (* derived 2005 February 19 in ITR-OM-E.NB *) intersection[omega,complement[P[union[complement[omega],nat[x_]]]]] := intersection[omega,complement[succ[nat[x]]]] (* Theorem OM-SUC-8 in OM3 *) intersection[omega,complement[range[SUCC]]] := set[0] (* added 2002 May 24 based on OMEGA.NB *) intersection[OMEGA,complement[range[SUCC]]] := intersection[OMEGA,fix[BIGCUP]] (* added 2002 April 16 based on ITER-0.NB *) intersection[omega,domain[iterate[x_,y_]]] := domain[iterate[x,y]] (* derived 2005 January 4 in IMINRANK.NB *) intersection[OMEGA,domain[VERTSECT[ZN]]] := OMEGA (* added 2002 May 25 based on OM-INVAR.NB *) intersection[omega,fix[BIGCUP]] := set[0] (* added 2002 May 28 based on CARD-OM.NB *) intersection[omega,fix[CARD]] := omega (* added 2001 December 14 based on CARD-Q.NB *) intersection[OMEGA,fix[CARD]] := fix[CARD] (* added 2002 June 2 based on FP-E-HC.NB *) intersection[OMEGA,fix[composite[E,HC]]] := 0 (* Corollary of Corollary ONORD-2A in ON3 proved 2000 December 12 *) intersection[OMEGA,fix[composite[inverse[BIGCUP],E]]] := 0 (* derived 2003 December 24 based on ON-SC.NB *) intersection[OMEGA,fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := intersection[OMEGA,complement[fix[BIGCUP]]] (* Corollary of Corollary ONORD-2A in ON3 proved 2000 December 12 *) intersection[OMEGA,fix[composite[inverse[E],BIGCUP]]] := 0 (* added 2002 May 25 based on INVAR.NB *) intersection[omega,fix[IMAGE[inverse[SUCC]]]] := set[0] (* derived 2003 December 24 in UCL-ON.NB *) intersection[OMEGA,fix[UCLOSURE]] := intersection[OMEGA,complement[fix[BIGCUP]]] (* derived 2005 January 5 in CORE-ON.NB *) intersection[OMEGA,H[x_]] := core[OMEGA,x] (* added 2003 May 7 based on UNOPS.NB *) intersection[omega,image[DIV,x_]] := image[DIV,x] (* derived 2005 January 27 in BA-OM.NB *) intersection[omega,image[inverse[BIGCAP],set[0]]] := intersection[omega,complement[set[0]]] (* derived 2005 January 27 in BA-ON.NB *) intersection[OMEGA,image[inverse[BIGCAP],set[0]]] := intersection[OMEGA,complement[set[0]]] (* derived 2005 February 16 in BC-OM.NB *) intersection[omega,image[inverse[BIGCUP],omega]] := omega (* derived 2003 December 24 in UCL-ON.NB *) intersection[OMEGA,image[inverse[BIGCUP],OMEGA]] := OMEGA (* derived 2005 February 22 in DIVRULES.NB *) intersection[omega,image[inverse[DIV],x_]] := image[inverse[DIV],x] (* derived 2005 April 16 in FACTRL.NB *) intersection[omega,image[inverse[FACTORIAL],x_]] := image[inverse[FACTORIAL],x] (* derived 2005 May 22 in DIV-ADD.NB *) intersection[omega,image[inverse[plus[x_]],y_]] := image[inverse[plus[x]],y] (* derived 2005 January 19 in ON-OM.NB *) intersection[OMEGA,image[inverse[S],omega]] := omega (* derived 2003 December 24 in UCL-ON.NB *) intersection[OMEGA,image[inverse[UCLOSURE],OMEGA]] := OMEGA (* added 2002 July 4 based on NATADD.NB *) intersection[omega,image[iterate[SUCC,y_],x_]] := image[NATADD,cart[x,y]] (* added 2003 July 23 based on NATADD.NB *) intersection[omega,image[NATADD,x_]] := image[NATADD,x] (* added 2002 June 11 based on TRV.NB *) intersection[omega,image[S,intersection[omega,complement[set[0]]]]] := intersection[omega,complement[set[0]]] (* derived 2005 February 19 in ITR-OM-E.NB *) intersection[omega,image[S,set[succ[set[0]]]]] := intersection[omega,complement[succ[set[0]]]] (* derived 2004 September 29 in WF-REC-7.NB *) intersection[omega,image[SUCC,complement[omega]]] := 0 (* added 2002 September 12 based on LEFT-SUB.NB *) intersection[omega,image[V,intersection[omega,set[x_]]],P[x_]] := intersection[image[V,intersection[omega,set[x]]],succ[x]] (* added 2002 May 26 based on ON-SUC-1.NB *) intersection[OMEGA,invar[inverse[SUCC]]] := OMEGA (* added 2002 May 25 based on OM-INVAR.NB *) intersection[omega,invar[SUCC]] := set[0] (* Theorem IVR-ON3A in INVAR proved 1999 November 11 *) intersection[OMEGA,invar[SUCC]] := intersection[OMEGA,fix[BIGCUP]] (* derived 2005 February 13 in NAT.NB *) intersection[omega,nat[x_]] := nat[x] (* added 1998 February 7 *) intersection[omega,OMEGA] := omega (* added 2002 April 20 based on ON-7-A.NB *) intersection[omega,P[complement[set[0]]]] := set[0] (* added 2003 January 20 based on ONSUC7OT.NB *) (* variable-free formulation of Corollary ON-1-B *) intersection[OMEGA,P[complement[set[0]]]] := set[0] (* added 2002 May 13 based on OM-SC-3.NB *) intersection[omega,P[complement[set[set[0]]]]] := succ[set[0]] (* added 1998 May 13. Follows from ISB5-COR and ONISB-1B *) intersection[OMEGA,P[FULL]] := OMEGA (* derived 2005 April 16 in 2ND-IND.NB *) intersection[omega,P[intersection[omega,x_]]] := intersection[omega,P[x]] (* derived 2005 April 16 in 2ND-IND.NB *) intersection[OMEGA,P[intersection[OMEGA,x_]]] := intersection[OMEGA,P[x]] intersection[omega,P[omega]] := omega (* derived 2005 January 19 in ON-OM.NB *) intersection[omega,P[OMEGA]] := omega (* added 2002 May 7 based on EXAMPLES.NB *) intersection[OMEGA,P[omega]] := succ[omega] (* added 1998 February 7 follows from ISB5-COR in ON4 *) intersection[OMEGA,P[OMEGA]] := OMEGA (* Theorem ON-FUL-G in ON2 added 1998 February 7 *) intersection[OMEGA,P[RUSSELL]] := OMEGA (* derived 2005 April 16 in 2ND-IND.NB *) intersection[omega,P[union[x_,complement[omega]]]] := intersection[omega,P[x]] (* derived 2005 April 16 in 2ND-IND.NB *) intersection[OMEGA,P[union[x_,complement[OMEGA]]]] := intersection[OMEGA,P[x]] (* derived 2005 February 22 in PRIMEDIV.NB *) intersection[omega,PRIMES] := PRIMES (* added 2002 May 13 based on OM-PC.NB *) intersection[omega,range[POWER]] := set[set[0],succ[set[0]]] (* added 2002 May 12 based on OM-SS.NB *) intersection[omega,range[SINGLETON]] := set[set[0]] (* added 2001 October 16 based on IM-IN-SG.NB *) intersection[OMEGA,range[SINGLETON]] := set[set[0]] (* Theorem OM-SUC-9 in OM3 added 1998 February 7 *) intersection[omega,range[SUCC]] := intersection[omega,complement[set[0]]] (* revised 2003 June 1 based on ONRASUCC.NB *) intersection[OMEGA,range[SUCC]] := intersection[OMEGA,complement[fix[BIGCUP]]] (* added 2000 February 12 based on ON-SUC16.NB *) intersection[omega,REGULAR] := omega (* added 2000 February 12 based on ON-SUC16.NB *) intersection[OMEGA,REGULAR] := OMEGA (* added 2003 July 25 based on HULL-Z.NB *) intersection[omega,RUSSELL] := omega (* Theorem ON-FUL-F in ON2 added 1998 February 7 *) intersection[OMEGA,RUSSELL] := OMEGA (* added 1998 April 2 *) intersection[omega,set[0]] := set[0] (* added 1998 April 2 *) intersection[OMEGA,set[0]] := set[0] (* added 2002 July 28 based on ADD-NAT.NB *) intersection[omega,set[natadd[x_,y_]]] := set[natadd[x,y]] (* added 2002 August 27 based on DISTRIB.NB *) intersection[omega,set[natmul[x_,y_]]] := set[natmul[x,y]] (* added 2000 January 6 based on FOREST.NB *) intersection[omega,set[set[0]]] := set[set[0]] (* added 2002 June 12 based on NATADD.NB *) intersection[omega,set[succ[set[0]]]] := set[succ[set[0]]] (* added 2002 May 25 based on INVAR.NB *) intersection[omega,subvar[inverse[E]]] := set[0] (* added 2002 May 25 based on INVAR.NB *) intersection[OMEGA,subvar[inverse[E]]] := intersection[OMEGA,fix[BIGCUP]] (* derived 2003 December 25 in TOPSDEFN.NB *) intersection[OMEGA,TOPS] := intersection[OMEGA,complement[fix[BIGCUP]]] (* derived 2004 June 19 in REPLACE.NB *) intersection[y_,oopart[x_]] := composite[oopart[x],id[fix[composite[inverse[y],oopart[x]]]]] (* derived 2004 May 9 in OOPART.NB *) intersection[OOPART,inverse[S]] := OOPART (* added 2000 November 3 based on SUBVAR.LOG *) intersection[x_,P[A[x_]]] := intersection[x,set[A[x]]] (* added 2001 April 22 based on CROSS-2.NB *) intersection[P[cart[cart[V,V],cart[V,V]]],range[CROSS]] := range[CROSS] (* added 2002 November 30 based on Z-PLUS.NB *) intersection[P[cart[omega,omega]],range[PLUS]] := range[PLUS] (* added 2002 November 28 based on SBV-SUCC.NB *) intersection[P[cart[omega,V]],subvar[cross[SUCC,x_]]] := set[0] (* added 2002 November 29 based on PLUS.NB *) intersection[P[cart[V,V]],range[PLUS]] := range[PLUS] (* derived 2004 May 9 in OOPART.NB *) intersection[P[cart[V,V]],set[oopart[x_]]] := set[oopart[x]] (* derived 2004 September 21 in WF-X.NB *) intersection[P[cart[V,V]],subvar[cross[x_,y_]]] := subvar[cross[x,y]] (* derived 2004 December 6 in U-MAP.NB *) intersection[P[cart[V,V]],U[image[MAP,x_]]] := U[image[MAP,x]] (* derived 2004 November 2 in SELECT.NB *) intersection[P[cart[x_,V]],X[composite[y_,id[x_]]]] := X[composite[y,id[x]]] (* derived 2004 December 21 in SBCOMMUT.NB *) intersection[P[complement[cart[V,V]]],subcommutant[x_]] := P[complement[cart[V,V]]] (* derived 2004 September 18 in WF-WRAP.NB *) intersection[x_,P[complement[U[x_]]]] := intersection[x,set[0]] (* derived 2004 October 28 in X.NB *) intersection[P[composite[Id,x_]],X[x_]] := X[x] (* added 2004 April 17 based on CORE.NB *) intersection[x_,P[core[x_,y_]]] := intersection[x,P[y]] (* added 2003 July 16 based on FINITE.NB *) intersection[P[FINITE],subvar[PS]] := set[0] (* added 2001 April 27 based on MAP2.NB *) intersection[P[FUNS],range[MAP]] := range[MAP] (* added 2001 March 17 based on REMOVED.NB *) intersection[x_,P[H[x_]]] := H[x] (* added 2002 December 1 based on ZERO-INT.NB *) intersection[P[Id],range[PLUS]] := set[id[omega]] (* Theorem SR-PC-IM in SR3 proved 1998 October 6 *) intersection[P[x_],image[S,set[x_]]] := set[x] (* derived 2004 October 28 in X.NB *) intersection[P[intersection[x_,y_]],X[x_]] := intersection[P[y],X[x]] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[P[inverse[S]],range[PLUS]] := set[id[omega]] (* derived 2004 September 29 in WF-REC-7.NB *) intersection[P[omega],subvar[SUCC]] := set[0] (* derived 2004 October 12 in CMPCT-OM.NB *) intersection[P[omega],succ[omega]] := succ[omega] (* derived 2004 October 12 in CMPCT-OM.NB *) intersection[P[omega],Uclosure[image[RC[omega],omega]]] := Uclosure[image[RC[omega],omega]] (* Theorem PC-8 in PC1 *) intersection[P[x_],P[y_]] := P[intersection[x,y]] (* added 2001 November 22 based on PC-I-SS.NB *) intersection[P[x_],set[0,set[y_]]] := P[intersection[x,set[y]]] (* added 2001 November 11 based on PAIRSET.NB *) intersection[P[x_],range[PAIRSET]] := image[PAIRSET,cart[x,x]] (* added 2002 November 12 based on VS-RULES.NB *) intersection[P[range[x_]],range[VERTSECT[x_]]] := range[VERTSECT[x]] (* Theorem SG-IM-5 in SG2 proved 1998 September 1 *) intersection[P[x_],range[SINGLETON]] := image[SINGLETON,x] (* added 2002 November 26 based on IVR-SBV.NB *) intersection[P[range[x_]],subvar[x_]] := subvar[x] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[P[S],range[PLUS]] := range[PLUS] intersection[P[x_],set[x_]] := set[x] (* added 2001 November 22 based on PC-I-SS.NB *) intersection[P[x_],succ[set[0]]] := P[intersection[x,set[0]]] intersection[x_,P[U[x_]]] := x (* derived 2004 October 28 in X.NB *) intersection[P[x_],X[x_]] := X[x] (* derived 2004 February 10 in TO.NB *) intersection[PO,fix[composite[inverse[HULL[SYM]],CART,DUP,IMAGE[inverse[DUP]]]]] := TO (* derived 2004 February 10 in TO.NB *) intersection[PO,fix[composite[inverse[IMAGE[inverse[DUP]]],inverse[E],CLIQUES,HULL[SYM]]]] := TO (* added 2002 January 19 based on PO.NB *) intersection[PO,P[cart[V,V]]] := PO (* derived 2005 January 17 in CP-PO.NB *) intersection[PO,range[CART]] := union[image[SINGLETON,Id],set[0]] (* derived 2004 December 19 in QO-IDEM.NB *) intersection[PO,RFX] := PO (* derived 2004 December 19 in QO-IDEM.NB *) intersection[PO,TRV] := PO (* derived 2003 December 30 in PTCLOSED.NB *) intersection[PointClosed,fix[UCLOSURE]] := intersection[T1,fix[UCLOSURE]] (* derived 2003 December 30 in PTCLOSED.NB *) intersection[PointClosed,TOPS] := intersection[T1,TOPS] (* added 2000 October 1 based on CANTOR.NB *) intersection[POWER,composite[inverse[S],Q]] := 0 (* Theorem POW-SR in POW3 *) intersection[POWER,inverse[S]] := 0 (* added 2000 December 16 based on Q-CA.NB *) intersection[POWER,Q] := 0 (* Discovered 1998 September 26 *) intersection[POWER,S] := composite[POWER,id[FULL]] (* derived 2004 August 10 in RS-3.NB *) intersection[POWER,VERTSECT[RESTRICT]] := composite[POWER,id[FUNS]] (* derived 2005 April 21 in U-PRIMES.NB *) intersection[PRIMES,complement[set[set[0]]]] := PRIMES (* derived 2005 February 22 in PRIMES.NB *) intersection[PRIMES,succ[set[0]]] := 0 (* derived 2004 December 14 in IDEMPROJ.NB *) intersection[PROJ,P[cart[V,V]]] := PROJ (* added 2002 February 9 based on IDEM.NB *) intersection[PROJ,P[Id]] := P[Id] (* added 2002 February 9 based on IDEM-SYM.NB *) intersection[PROJ,SYM] := P[Id] (* added 2000 May 14 based on K-2.NB *) intersection[PS,complement[composite[PS,PS]]] := K (* added 2000 May 16 based on K-SR.NB *) intersection[PS,complement[inverse[S]]] := PS (* Theorem PS-I2 in PS1 proved 1998 December 21 *) intersection[PS,complement[S]] := 0 (* derived 2005 January 7 in K-SUCC.NB *) intersection[PS,composite[inverse[PS],SUCC]] := 0 (* added 2002 November 22 based on K.NB *) intersection[PS,composite[inverse[VERTSECT[inverse[PS]]], inverse[IMAGE[inverse[PS]]],complement[E]]] := K (* derived 2004 June 28 in X1913-14.NB *) intersection[PS,composite[K,inverse[K]]] := 0 (* derived 2005 January 7 in UP-K.NB *) intersection[PS,inverse[image[inverse[DIF],range[SINGLETON]]]] := K (* based on 1998/DEC/21/SESSION4.LOG *) intersection[PS,inverse[PS]] := 0 (* Theorem PS-I3 in PS1 proved 1998 December 21 *) intersection[PS,inverse[S]] := 0 (* Theorem PS-I1 in PS1 proved 1998 December 21 *) intersection[PS,S] := PS (* derived 2004 March 23 in TRV-K.NB *) intersection[PS,trv[K]] := trv[K] (* Theorem Q-SR-POW in Q proved 2000 October 1 *) intersection[Q,composite[S,POWER]] := 0 (* derived 2004 April 6 in SMALLER.NB *) intersection[Q,inverse[SMALLER]] := 0 (* derived 2004 April 6 in SMALLER.NB *) intersection[Q,SMALLER] := 0 (* added 2001 February 8 based on REPEAT-4.NB *) intersection[range[CART],P[cart[V,V]]] := range[CART] (* added 1999 November 11 based on 1999/NOV/09/SESSION4.NB *) intersection[range[CART],set[0]] := set[0] (* added 2000 September 28 based on CROSS.NB *) intersection[range[CROSS],set[0]] := set[0] (* added 1998 January 22 *) intersection[range[LeftPairV],range[RightPairV]] := 0 (* derived 2005 January 9 in PC-CARD2.NB *) intersection[range[PAIRSET],range[POWER]] := union[image[POWER,range[SINGLETON]],set[set[0]]] (* Theorem POW-BC12 in POW5 proved 1999 January 28 *) intersection[range[POWER],image[inverse[BIGCUP],x_]] := image[POWER,x] (* derived 2004 January 17 in SBV-PSSG.NB *) intersection[range[POWER],subvar[PS]] := 0 intersection[range[SINGLETON],complement[set[0]]] := range[SINGLETON] (* Session BC-SG.LOG *) intersection[range[SINGLETON],image[inverse[BIGCUP],x_]] := image[SINGLETON,x] intersection[range[SINGLETON],set[0]] := 0 intersection[range[SINGLETON],set[set[0]]] := set[set[0]] (* derived 2004 January 17 in SBV-PSSG.NB *) intersection[range[SINGLETON],subvar[PS]] := 0 (* added 2002 May 25 based on OM-INVAR.NB *) intersection[range[SUCC],set[0]] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) intersection[range[x_],U[subvar[x_]]] := U[subvar[x]] (* added 2001 July 27 based on RANK.NB *) intersection[RANK,inverse[E]] := 0 (* derived 2004 May 2 in ZN.NB *) intersection[REGULAR,domain[VERTSECT[ZN]]] := REGULAR (* added 2002 April 18 based on DESCEND.NB *) intersection[REGULAR,fix[composite[x_,IMAGE[id[REGULAR]]]]] := intersection[REGULAR,fix[x]] (* added 2002 April 18 based on DESCEND.NB *) intersection[REGULAR,fix[composite[inverse[E],BIGCUP]]] := 0 (* added 2002 April 18 based on DESCEND.NB *) intersection[REGULAR,fix[E]] := 0 (* derived 2004 December 29 in FUL-REG3.NB *) intersection[REGULAR,H[complement[set[0]]]] := 0 (* Theorem H-ON-3 in H proved 2001 March 24 *) intersection[REGULAR,H[FULL]] := OMEGA (* added 2002 March 5 based on HF.NB *) intersection[REGULAR,image[inverse[RANK],x_]] := image[inverse[RANK],x] (* reversed 2000 February 12 *) intersection[REGULAR,P[x_]] := P[intersection[REGULAR,x]] (* the empty set is regular *) intersection[REGULAR,set[0]] := set[0] (* Theorem SBV-SUC2 in SUBVAR proved 2000 February 12 *) intersection[REGULAR,subvar[SUCC]] := set[0] (* added 2003 May 31 based on RS-I.NB *) intersection[RESTRICT,inverse[RESTRICT]] := id[P[cart[V,V]]] (* derived 2004 February 10 in TO.NB *) intersection[RFX,fix[composite[inverse[IMAGE[inverse[DUP]]],inverse[E],CLIQUES,HULL[SYM]]]] := fix[composite[inverse[HULL[SYM]],CART,DUP,IMAGE[inverse[DUP]]]] (* added 2001 October 20 based in CART-SQ.NB *) intersection[RFX,fix[composite[S,CART,DUP,IMAGE[inverse[DUP]]]]] := image[CART,Id] (* added 2002 January 17 based on ANTISYM2.NB *) intersection[RFX,image[inverse[IMAGE[id[cart[V,V]]]],x_]] := intersection[RFX,x] (* added 2001 October 28 based on IVR-RFX.NB *) intersection[RFX,invar[SWAP]] := intersection[RFX,SYM] (* added 2001 October 8 based on RFX.NB *) intersection[RFX,P[cart[V,V]]] := RFX (* added 2002 January 19 based on PO.NB *) intersection[RFX,P[Di]] := set[0] (* added 2001 October 8 based on RFX-ID.NB *) intersection[RFX,P[Id]] := P[Id] (* added 2001 October 8 based on RFX.NB *) intersection[RFX,range[CART]] := union[image[CART,Id],set[0]] (* added 2001 October 16 based on IM-IN-SG.NB *) intersection[RFX,range[SINGLETON]] := image[SINGLETON,Id] (* added 2001 October 8 based on RFX.NB *) intersection[RFX,set[0]] := set[0] (* derived 2004 February 10 in TO.NB *) intersection[RFX,TO] := TO (* derived 2004 July 20 in X2081.NB *) intersection[RFX,WO] := WO (* derived 2004 June 27 in X1712-20.NB *) intersection[RUSSELL,x_,A[x_]] := 0 (* Theorem IVR-SUC in INVAR proved 2000 February 4 *) intersection[RUSSELL,invar[SUCC],range[SUCC]] := 0 (* added 1998 February 7 *) intersection[RUSSELL,P[RUSSELL]] := P[RUSSELL] (* added 1999 November 23 based on ADJ-B1.NB *) intersection[S,ADJOIN[x_]] := ADJOIN[x] (* derived 2004 January 16 in ADJ-UIDK.NB *) intersection[S,complement[composite[PS,PS]]] := union[Id,K] (* from PS.LOG 1999 April 16 *) intersection[S,complement[inverse[S]]] := PS (* derived 2003 December 31 in COARSER.NB *) intersection[S,composite[inverse[BIGCUP],BIGCUP]] := COARSER (* added 2002 April 10 based on INVAR-S.NB *) intersection[S,composite[inverse[INVAR],complement[INVAR]]] := 0 (* added 2003 June 24 based on INVERSE.NB *) intersection[S,composite[inverse[S],IMAGE[id[x_]]]] := id[P[x]] (* added 2003 July 4 based on COARSER.NB *) intersection[S,composite[inverse[S],POWER,BIGCUP]] := COARSER (* added 2002 May 25 based on ON-SUC-1.NB *) intersection[S,composite[inverse[SUCC],complement[E]]] := intersection[PS,complement[E]] (* added 2001 March 8 based on IMIMG.NB *) intersection[S,composite[S,IMAGE[id[x_]]]] := S intersection[S,composite[S,SUCC]] := composite[S,SUCC] (* added 2002 May 4 based on CORE.NB *) intersection[S,CORE[x_]] := id[Uclosure[x]] (* added 2002 May 5 based on HULL.NB *) intersection[S,HULL[x_]] := HULL[x] (* Theorem CUT-I-1 in CUT2 proved 1998 December 25 *) intersection[S,IMAGE[id[x_]]] := id[P[x]] (* Theorem INV-FP4 in INV1 *) intersection[S,IMAGE[SWAP]] := id[fix[IMAGE[SWAP]]] (* added 1999 October 31 based on INTINV.LOG *) intersection[S,inverse[ADJOIN[x_]]] := id[image[S,set[x]]] (* derived 2004 May 11 in CAP-CORE.NB *) intersection[S,inverse[CORE[x_]]] := inverse[CORE[x]] (* derived 2004 March 23 in TRV-K.NB *) intersection[S,inverse[fix[composite[inverse[DIF],inverse[S],id[x_],inverse[S],FIRST]]]] := composite[CUP,id[cart[V,x]],inverse[FIRST]] (* added 2001 March 5 based on K-SS.NB *) intersection[S,inverse[image[inverse[DIF],range[SINGLETON]]]] := K (* added 1999 October 31 based on INTINV.LOG *) intersection[S,inverse[POWER]] := 0 (* added 1999 October 31 based on INTINV.LOG *) intersection[S,inverse[PS]] := 0 (* DF-ID in AX-C *) intersection[S,inverse[S]] := Id (* Theorem SUC-ES1 in SUC-REL *) intersection[S,SUCC] := SUCC (* added 2000 January 8 based on SU-RS.NB *) intersection[S,TC] := TC (* derived 2004 September 25 in LAMB-WF.NB *) intersection[S,WFPART] := id[WF] (* Corollary 2ND-I in 2ND proved 1999 January 26 *) intersection[SECOND,x_] := composite[SECOND,id[fix[composite[inverse[SECOND],x]]]] (* derived 2004 November 26 in XSCP-MAP.NB *) intersection[SELECT,range[CART]] := range[CART] intersection[set[0],fix[composite[E,x_]]] := 0 intersection[set[0],fix[E]] := 0 intersection[set[0],P[x_]] := set[0] intersection[set[x_],complement[P[complement[x_]]]] := intersection[set[x],image[V,x]] intersection[set[x_],set[y_]] := intersection[set[x], complement[image[V,intersection[x,complement[y]]]], complement[image[V,intersection[y,complement[x]]]]] (* Corollary FP-SG-I in FP2 proved 1999 January 26 *) intersection[SINGLETON,x_] := composite[SINGLETON,id[fix[composite[inverse[SINGLETON],x]]]] (* derived 2004 April 6 in SMALLER.NB *) intersection[SMALLER,composite[Q,inverse[S]]] := 0 (* derived 2004 April 6 in SMALLER.NB *) intersection[SMALLER,inverse[SMALLER]] := 0 (* added 2002 December 27 based on SBCOMMUT.NB *) intersection[SUBCOMMUTE,inverse[SUBCOMMUTE]] := COMMUTE (* added 2002 October 27 based on SUBVAR.NB *) intersection[subvar[x_],subvar[union[x_,y_]]] := subvar[x] (* added 2002 April 15 based on ITERATE.NB *) intersection[subvar[union[x_,id[y_]]], subvar[union[x_,id[z_]]]] := subvar[union[x,id[intersection[y,z]]]] (* added 2003 January 18 based on HC-TC-OM.NB *) intersection[x_,succ[x_]] := x (* derived 2005 January 7 in K-SUCC.NB *) intersection[SUCC,composite[PS,PS]] := 0 (* added 1998 September 15 *) intersection[SWAP,x_] := composite[id[fix[composite[x,SWAP]]],SWAP] (* added 2001 October 28 based on EQV.NB *) intersection[SYM,image[inverse[IMAGE[id[cart[V,V]]]],x_]] := intersection[SYM,x] (* added 2001 October 10 based on SYM-1.NB *) intersection[SYM,invar[SWAP]] := SYM (* added 2001 October 10 based on SYM-1.NB *) intersection[SYM,P[cart[V,V]]] := SYM (* added 2001 October 10 based on SYM-1.NB *) intersection[SYM,P[Id]] := P[Id] (* added 2001 October 10 based on SYM-1.NB *) intersection[SYM,range[CART]] := union[image[CART,Id],set[0]] (* added 2001 October 16 based on IM-IN-SG.NB *) intersection[SYM,range[SINGLETON]] := image[SINGLETON,Id] (* added 2001 October 28 based on SHORTCUT.NB *) intersection[SYM,TRV] := EQV (* added 1999 December 7 based on RESTRICT.NB *) intersection[SYMDIF,composite[inverse[S],CAP]] := cart[Id,set[0]] (* added 1999 December 7 based on RESTRICT.NB *) intersection[SYMDIF,composite[inverse[S],CUP]] := SYMDIF (* based on 1999 December 6 notebook MANYMORE.NB *) intersection[SYMDIF,composite[S,DIF]] := SYMDIF (* added 1999 December 7 based on FLIPRULE.NB *) intersection[SYMDIF,composite[x_,SWAP]] := composite[intersection[SYMDIF,x],SWAP] (* added 2000 January 8 based on SU-RS.NB *) intersection[TC,complement[S]] := 0 (* derived 2005 April 7 in WF-TO.NB *) intersection[TO,image[inverse[IMAGE[id[Di]]],WF]] := WO (* derived 2004 February 10 in TO.NB *) intersection[TO,P[cart[V,V]]] := TO (* derived 2005 January 15 in TO-ID.NB *) intersection[TO,P[Id]] := union[image[SINGLETON,Id],set[0]] (* revised 2003 May23 based on DEF-CLOS.NB *) intersection[TOPS,binclosed[CAP]] := TOPS (* added 2001 October 23 based on TOPS.NB *) intersection[TOPS,complement[P[complement[set[0]]]]] := TOPS (* added 2001 October 23 based on TOPS.NB *) intersection[TOPS,fix[UCLOSURE]] := TOPS (* added 2001 October 23 based on TOPS.NB *) intersection[TOPS,P[complement[set[0]]]] := 0 (* derived 2003 December 25 in TOPSDEFN.NB *) intersection[TOPS,range[PAIRSET]] := image[ADJOIN[set[0]],range[SINGLETON]] (* added 2001 October 23 based on TOPS.NB *) intersection[TOPS,range[POWER]] := range[POWER] (* added 2001 October 23 based on CHAINS.NB *) intersection[TOPS,range[SINGLETON]] := set[set[0]] (* derived 2004 April 4 in IRR-TRV.NB *) intersection[TRV,fix[composite[DISJOINT,INVERSE]]] := intersection[TRV,P[Di]] (* added 2001 October 27 based on IMS.NB *) intersection[TRV,image[CART,Id]] := image[CART,Id] (* added 2002 January 17 based on ANTISYM2.NB *) intersection[TRV,image[inverse[IMAGE[id[cart[V,V]]]],x_]] := intersection[TRV,x] (* added 2001 October 28 based on EQV-I.NB *) intersection[TRV,invar[SWAP]] := EQV (* added 2001 October 9 based on TRV-1.NB *) intersection[TRV,P[cart[V,V]]] := TRV (* added 2001 October 9 based on TRV-1.NB *) intersection[TRV,P[Id]] := P[Id] (* added 2001 October 9 based on TRV-1.NB *) intersection[TRV,range[CART]] := range[CART] (* added 2001 October 16 based on IM-IN-SG.NB *) intersection[TRV,range[SINGLETON]] := image[SINGLETON,cart[V,V]] (* derived 2004 March 6 in GT-C.NB *) intersection[UB[x_],UB[complement[x_]]] := cart[set[0],V] (* derived 2004 March 9 in IDEMLTGT.NB *) intersection[ub[x_,y_],ub[x_,intersection[y_,z_]]] := ub[x,y] (* derived 2004 May 4 in CRHL-FIX.NB *) intersection[x_,Uclosure[x_]] := x (* added 2001 May 10 based on UCLOS-1.NB *) intersection[UCLOSURE,complement[S]] := 0 (* Theorem D-1B in D *) intersection[union[x_,y_],z_] := union[intersection[x,z],intersection[y,z]] (* Theorem I-5 in I *) intersection[V,x_] := x (* derived 2004 March 14 in WF-WO.NB *) intersection[WF,P[cart[V,V]]] := WF (* derived 2004 May 4 in ACY-WF.NB *) intersection[WF,P[Di]] := WF (* added 2003 October 7 based on WF-IND.NB *) intersection[WF,range[CART]] := image[CART,DISJOINT] (* added 2003 October 7 based on WF-IND.NB *) intersection[WF,range[SINGLETON]] := image[SINGLETON,Di] (* derived 2004 September 25 in LAMB-WF.NB *) intersection[WFPART,inverse[S]] := WFPART (* derived 2004 March 14 in WF-WO.NB *) intersection[WO,P[cart[V,V]]] := WO (* derived 2005 January 5 in WO-ID.NB *) intersection[WO,P[Id]] := union[image[SINGLETON,Id],set[0]] (* added 2002 November 17 based on HER-Z.NB *) intersection[Z,complement[set[0]]] := Z (* added 2002 December 1 based on Z-PC-S.NB *) intersection[Z,image[INVERSE,range[PLUS]]] := image[INVERSE,range[PLUS]] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[Z,P[cart[V,V]]] := Z (* added 2002 December 1 based on ZERO-INT.NB *) intersection[Z,P[Id]] := set[id[omega]] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[Z,P[inverse[S]]] := image[INVERSE,range[PLUS]] (* added 2002 December 1 based on Z-PC-S.NB *) intersection[Z,P[S]] := range[PLUS] (* added 2002 December 1 based on ZERO-INT.NB *) intersection[Z,range[PLUS]] := range[PLUS] (* added 2001 July 17 based on ZN-IMG1.TXT *) intersection[ZN,composite[S,IMAGE[ZN]]] := IMAGE[ZN] (* Theorem IVR-0 in INVAR proved 1998 December 26 *) invar[0] := V (* see: INVAR.LOG session 1999 January 10 *) invar[cart[x_,y_]] := union[image[S,set[y]],P[complement[x]]] (* see: INVAR.LOG session 1999 January 10 *) invar[complement[cart[x_,y_]]] := union[intersection[ image[S,set[complement[y]]],P[x]],set[0]] (* see: IVR-E-C session 1999 January 10 *) invar[complement[E]] := set[0] (* added 2000 April 23 based on FINITE.NB *) invar[complement[FINITE]] := V (* see: INVAR.LOG session 1999 January 10 *) invar[complement[inverse[E]]] := set[0] (* see: IVR-IMV session 1999 January 10 *) invar[complement[image[V,x_]]] := union[image[V,x],set[0]] (* see: INVAR.LOG session 1999 January 10 *) invar[complement[inverse[S]]] := set[0] (* revised 2002 April 18 based on REPLACE.NB *) invar[complement[S]] := succ[set[0]] (* added 1999 February 11 on basis of session SUBVAR-1.LOG *) invar[composite[E,x_]] := P[complement[domain[x]]] (* see: INVAR.LOG session 1999 January 10 *) invar[composite[Id,x_]] := invar[x] (* added 2001 October 28 based on IVR-RFX.NB *) invar[composite[inverse[E],IMAGE[DUP],PAIRSET]] := image[inverse[IMAGE[id[cart[V,V]]]],RFX] (* see: IVR-DI.LOG session 1999 January 10 *) invar[Di] := set[0] (* added 2002 April 18 based on REPLACE.NB *) invar[DISJOINT] := set[0] (* Theorem IVR-E in INVAR proved 1999 January 10 *) invar[E] := set[0] (* added 2000 April 23 based on FINITE.NB *) invar[FINITE] := set[0] (* Theorem IVR-ID in INVAR proved 1998 December 26 *) invar[Id] := V (* Theorem IVR-IDX in INVAR proved 1998 December 26 *) invar[id[x_]] := V (* see: IVR-IMV session 1999 January 10 *) invar[image[V,x_]] := union[complement[image[V,x]],set[0]] (* added 2000 November 30 based on INVAR-U.NB *) invar[intersection[Di,x_]] := invar[x] (* derived 2004 January 22 in INVAR.NB *) invar[INVAR] := set[0] (* Theorem IVR-FUL in INVAR proved 1998 December 26 *) invar[inverse[E]] := FULL (* see: IVR-MORE session 1999 January 10 *) invar[inverse[FIRST]] := set[0] (* added 2000 November 30 based on INVAR-U.NB *) invar[inverse[PS]] := fix[IMAGE[inverse[S]]] (* Theorem IVR-HER in INVAR proved 1999 January 9 *) invar[inverse[S]] := fix[IMAGE[inverse[S]]] (* see: IVR-MORE session 1999 January 10 *) invar[inverse[SECOND]] := set[0] (* added 2002 April 18 based on REPLACE.NB *) invar[K] := set[0] (* added 1999 December 29 based on INVAR.NB *) invar[PS] := set[0] (* revised 2002 April 18 based on REPLACE.NB *) invar[Q] := succ[set[0]] invar[REGULAR] := P[complement[REGULAR]] (* Theorem IVR-SR in INVAR proved 1998 December 26 *) invar[S] := set[0] (* added 2002 June 23 based on INVARTRV.NB *) invar[trv[x_]] := invar[x] (* Theorem IVR-U in INVAR proved 1999 January 9 *) invar[union[x_,y_]] := intersection[invar[x],invar[y]] (* See: INVAR.LOG session 1999 January 10 *) invar[V] := set[0] (* derived 2004 May 2 in ZN.NB *) invar[ZN] := fix[IMAGE[ZN]] (* definition added 2002 October 17 *) invariant[x_,y_] := subclass[image[x,y],y] (* Theorem IN-4A in IN1 *) inverse[0] := 0 (* Theorem IN-8 in IN2 *) inverse[cart[x_,y_]] := cart[y,x] (* added 2001 May 18 based on COMMUTE2.NB *) inverse[COMMUTE] := COMMUTE (* Theorem ID-IN-C in ID-CO proved 1998 August 17 *) inverse[complement[x_]] := composite[Id,complement[inverse[x]]] (* Theorem CO-IN2 in CO1 *) inverse[composite[x_,y_]] := composite[inverse[y],inverse[x]] (* Theorem X-IN-2 in X3 *) inverse[cross[x_,y_]] := cross[inverse[x],inverse[y]] (* Theorem DI-IN in DI added 1998 July 2 *) inverse[Di] := Di (* Theorem DJT-IN in DJT *) inverse[DISJOINT] := DISJOINT (* added 2002 November 3 based on EQUIDIFF.NB *) inverse[EQUIDIFF] := EQUIDIFF (* derived 2004 May 11 in EQV-GEN.NB *) inverse[eqv[x_]] := eqv[x] (* Theorem FIN-IN2 proved 2000 April 22 *) inverse[FINITE] := cart[V,V] inverse[fix[composite[x_,SWAP]]] := fix[composite[SWAP,x]] inverse[fix[composite[SWAP,x_]]] := fix[composite[x,SWAP]] (* Theorem ID-8 in ID1 *) inverse[Id] := Id (* Theorem IDX-5 in IDX1 *) inverse[id[x_]] := id[x] (* added 1999 October 8 based on CAP-LOG.2 *) inverse[image[inverse[CAP],x_]] := image[inverse[CAP],x] (* added 1999 October 29 based on 1999 October 28 session RC-LOG.1 *) inverse[image[inverse[CUP],x_]] := image[inverse[CUP],x] (* added 2003 August 12 based on RO-ZADD.NB *) inverse[image[inverse[INTADD],x_]] := image[inverse[INTADD],x] (* added 2002 June 18 based on NATSUB.NB *) inverse[image[inverse[NATADD],x_]] := image[inverse[NATADD],x] (* added 2002 September 3 based on DIV-ZERO.NB *) inverse[image[inverse[NATMUL],x_]] := image[inverse[NATMUL],x] (* added 2001 March 31 based on BIN-FU.NB *) inverse[image[inverse[PAIRSET],x_]] := image[inverse[PAIRSET],x] (* added 1999 December 23 based on SYMDIF.NB *) inverse[image[inverse[SYMDIF],x_]] := image[inverse[SYMDIF],x] (* Theorem ID-IN-IM in ID3 *) inverse[image[V,x_]] := composite[Id,image[V,x]] (* Theorem IN-5B in IN1 *) inverse[intersection[x_,y_]] := intersection[inverse[x],inverse[y]] (* added 1999 October 12 based on INVERSE.4 *) inverse[INVERSE] := INVERSE (* Theorem ID-IN-IN in ID/ID-CO *) inverse[inverse[x_]] := composite[Id,x] (* added 2000 December 23 based on LB-LB.NB *) inverse[LB[LB[x_]]] := LB[UB[x]] (* added 2000 December 23 based on LB-LB.NB *) inverse[LB[UB[x_]]] := LB[LB[x]] (* added 1998 May 24 *) inverse[omega] := 0 (* Theorem ON-1-IN in ON1 added 1998 May 24 *) inverse[OMEGA] := 0 (* derived 2004 June 15 in X1235.NB *) inverse[set[x_,y_]] := union[cart[set[second[x]],set[first[x]]], cart[set[second[y]],set[first[y]]]] (* Theorem Q-5 in Q proved 2000 April 25 *) inverse[Q] := Q (* Theorem RC-IN in RC proved 2001 September 3 *) inverse[RC[x_]] := RC[x] (* Theorem REG-34 in REG2 *) inverse[REGULAR] := cart[REGULAR,REGULAR] (* added 2001 November 27 based on IN-SS.NB *) inverse[set[x_]] := cart[set[second[x]],set[first[x]]] (* Theorem SW-IN in SW3 *) inverse[SWAP] := SWAP (* derived 2004 September 30 in EQV-THNP.NB *) inverse[thinpart[eqv[x_]]] := thinpart[eqv[x]] (* Theorem TW-IN in TWIST proved 2000 August 5 *) inverse[TWIST] := TWIST (* revised 2003 May 30 based on TWIST.NB *) inverse[twist[composite[x_,SWAP]]] := twist[composite[SWAP,x]] (* added 2003 May 30 based on TWIST.NB *) inverse[twist[composite[SWAP,x_]]] := twist[composite[x,SWAP]] (* Theorem IN-5A in IN1 *) inverse[union[x_,y_]] := union[inverse[x],inverse[y]] (* Theorem IN-4B in IN1 *) inverse[V] := cart[V,V] (* revised 2001 June 28 *) INVFUN[g_] := and[FUNCTION[inverse[g]],equal[composite[Id,g],g]] (* added 2002 April 16 based on ITER-0.NB *) iterate[x_,0] := 0 (* added 2002 April 19 based on ITER-0.NB *) iterate[0,x_] := cart[set[0],x] (* derived 2005 January 1 in ITER-FUN.NB *) iterate[BIGCUP,set[setpart[x_]]] := composite[VERTSECT[iterate[inverse[E],setpart[x]]],id[omega]] (* added 2002 May 20 based on ITERCART.NB *) iterate[cart[x_,y_],z_] := union[ cart[intersection[omega,complement[succ[set[0]]]], intersection[y,image[V,intersection[x,y]],image[V,intersection[x,z]]]], cart[set[0],z], cart[set[set[0]],intersection[y,image[V,intersection[x,z]]]]] (* added 2002 May 20 based on ITERCOID.NB *) iterate[composite[Id,x_],y_] := iterate[x,y] (* added 2002 July 2 based on ITER-IMV.NB *) iterate[composite[id[image[V,w_]],x_],y_] := union[cart[set[0],y],composite[id[image[V,w]],iterate[x,y]]] (* derived 2005 February 19 in ITR-OM-E.NB *) iterate[composite[id[omega],E],omega] := composite[id[omega],S,id[omega]] (* added 2002 June 30 based on ITER-RS.NB *) iterate[composite[id[omega],iterate[SUCC,x_]],set[0]] := composite[id[omega],iterate[iterate[SUCC,x],set[0]]] (* added 2002 June 25 based on ITERSUCC.NB *) iterate[composite[id[omega],SUCC],x_] := union[cart[set[0],x],composite[id[omega],iterate[SUCC,x]]] (* added 2002 May 16 based on TC.NB *) iterate[composite[inverse[E],SUCC],tc[x_]] := cart[omega,tc[x]] (* added 2003 May 16 based on CROSS-IT.NB *) iterate[cross[u_,v_],cart[x_,y_]] := intersection[composite[inverse[FIRST],iterate[u,x]], composite[inverse[SECOND],iterate[v,y]]] (* derived 2004 March 21 in TRV-WRAP.NB *) iterate[cross[Id,x_],composite[Id,y_]] := composite[cross[inverse[y],Id],power[x]] (* derived 2005 April 17 in XVR-ITER.NB *) iterate[cross[x_,Id],composite[Id,y_]] := composite[SWAP,cross[y,Id],power[x]] (* added 2002 May 21 based on POWER.NB *) iterate[cross[Id,x_],Id] := power[x] (* added 2002 May 22 based on INVERSE.NB *) iterate[cross[x_,Id],Id] := composite[SWAP,power[x]] (* added 2002 June 5 based on ITER-ID.NB *) iterate[Id,x_] := cart[omega,x] (* added 2002 May 21 based on POWER.NB *) iterate[id[x_],y_] := union[cart[omega,intersection[x,y]],cart[set[0],y]] (* added 2002 May 15 based on ITER-CO.NB *) iterate[x_,image[x_,y_]] := composite[x,iterate[x,y]] (* reoriented 2002 June 13 based on LOOPING.NB *) iterate[x_,image[iterate[x_,y_],z_]] := composite[iterate[x,y],image[power[SUCC],z]] (* added 2002 August 24 based on SUCCITER.NB *) iterate[image[power[SUCC],x_],set[0]] := iterate[composite[NATADD,id[cart[V,x]],inverse[FIRST]],set[0]] (* derived 2005 January 1 in ITER-FUN.NB *) iterate[IMAGE[thinpart[x_]],set[setpart[y_]]] := composite[VERTSECT[iterate[thinpart[x],setpart[y]]],id[omega]] (* added 2002 November 28 based on ITER-ADD.NB *) iterate[x_,intersection[y_,complement[image[V,z_]]]] := composite[id[complement[image[V,z]]],iterate[x,y]] (* added 2003 August 27 based on NATDIV.NB *) iterate[intersection[composite[inverse[FIRST],NATADD], composite[inverse[SECOND],SECOND]],cart[set[0],omega]] := inverse[rotate[NATMUL]] (* added 2003 August 27 based on NATDIV.NB *) iterate[intersection[composite[inverse[FIRST],FIRST], composite[inverse[SECOND],NATADD]],cart[omega,set[0]]] := composite[SWAP,inverse[rotate[NATMUL]]] (* derived 2005 April 16 in FACTRL.NB *) iterate[intersection[composite[inverse[SECOND],NATMUL], composite[inverse[FIRST],SUCC,FIRST]],cart[set[set[0]],set[set[0]]]] := composite[id[cart[omega,V]],intersection[composite[inverse[FIRST],SUCC], composite[inverse[SECOND],FACTORIAL]]] (* added 2002 July 2 based on ITER-IMV.NB *) iterate[x_,intersection[y_,image[V,z_]]] := composite[id[image[V,z]],iterate[x,y]] (* added 2002 July 5 based on NATADD-1.NB *) iterate[inverse[SUCC],intersection[omega,x_]] := image[inverse[NATADD],x] (* added 2002 June 12 based on ITINSUCC.NB *) iterate[inverse[SUCC],omega] := cart[omega,omega] (* added 2002 June 13 based on NATIMIN0.NB *) iterate[inverse[SUCC],set[0]] := cart[set[0],set[0]] (* added 2002 July 30 based on REVERSAL.NB *) iterate[inverse[SUCC],set[set[0]]] := union[cart[set[0],set[set[0]]], cart[set[set[0]],set[0]]] (* added 2002 July 30 based on REVERSAL.NB *) iterate[inverse[SUCC],set[succ[set[0]]]] := union[cart[set[0],set[succ[set[0]]]], cart[set[set[0]],set[set[0]]], cart[set[succ[set[0]]],set[0]]] (* added 2003 December 9 based on ITER-K.NB *) iterate[K,set[0]] := composite[inverse[CARD],id[omega]] (* added 2003 August 8 based on REPLACE.NB *) iterate[plus[x_],set[0]] := union[cart[set[0], intersection[complement[image[V,intersection[omega,set[x]]]],set[0]]],composite[NATMUL,LEFT[x]]] (* added 2002 May 17 based on ZN.NB *) iterate[POWER,set[0]] := composite[IMAGE[ZN],id[omega]] (* added 2002 June 13 based on ITOMSUCC.NB *) iterate[SUCC,intersection[omega,x_]] := composite[id[omega],iterate[SUCC,x]] (* added 2002 June 3 based on S-ON.TXT *) iterate[SUCC,omega] := composite[id[omega],S,id[omega]] (* added 2002 April 18 based on PLUS-0.NB *) iterate[SUCC,set[0]] := id[omega] (* added 2002 May 24 based on LEFT.NB *) iterate[SUCC,set[set[0]]] := composite[id[omega],SUCC] (* added 2002 May 24 based on LEFT.NB *) iterate[SUCC,set[succ[y_]]] := composite[SUCC,iterate[SUCC,set[y]]] (* added 2002 May 16 based on ITER-U.NB *) iterate[x_,union[y_,z_]] := union[iterate[x,y],iterate[x,z]] (* added 2002 June 10 based on POWERUID.NB *) iterate[union[Id,x_],y_] := composite[iterate[x,y],inverse[S],id[omega]] (* used to create functions in the lambda calculus *) lambda[x_,e_] := Module[{y=Unique[]},composite[VERTSECT[class[pair[x,y],member[y,e]]], id[class[x,True]]]] (* added 2000 November 7 based on LB-2.NB *) LB[0] := cart[set[0],V] (* derived 2004 February 19 in REPLACE.NB *) lb[0,x_] := complement[image[V,x]] (* derived 2004 February 19 in REPLACE3.NB *) lb[x_,0] := V (* added 2000 November 17 based on CO-ID.NB *) LB[cart[x_,y_]] := union[cart[P[y],x],cart[set[0],V]] (* derived 2004 February 19 in REPLACE.NB *) lb[cart[x_,y_],z_] := union[complement[image[V,z]], intersection[x,complement[image[V,intersection[z,complement[y]]]]]] (* derived 2004 December 21 in COMUTANT.NB *) lb[COMMUTE,lb[COMMUTE,lb[COMMUTE,x_]]] := lb[COMMUTE,x] (* derived 2004 February 19 in REPLACE.NB *) lb[complement[x_],y_] := complement[image[inverse[x],y]] (* added 2001 July 12 based on UB-LB-2.NB *) LB[complement[cart[x_,y_]]] := union[cart[V,complement[x]],cart[P[complement[y]],V]] (* added 2001 July 4 based on VS-1.NB *) LB[complement[composite[complement[inverse[E]],x_]]] := composite[Id,complement[composite[inverse[x],complement[S]]]] (* added 2002 January 3 based on REPLACE.NB *) LB[complement[composite[x_,inverse[E]]]] := LB[UB[complement[x]]] (* added 2001 July 8 based on ZN-2.NB *) LB[complement[cross[inverse[x_],Id]]] := UB[complement[cross[x,Id]]] (* added 2000 November 14 based on MAX.NB *) LB[complement[E]] := composite[complement[inverse[E]],BIGCUP] (* added 2000 November 7 based on LB-1.NB *) LB[complement[inverse[x_]]] := UB[complement[x]] (* added 2000 November 14 based on MAX.NB *) LB[complement[S]] := composite[complement[inverse[E]],IMAGE[inverse[S]]] (* derived 2004 July 23 in X23--.NB *) lb[composite[complement[E],x_],y_] := complement[image[inverse[VERTSECT[x]],image[inverse[S],y]]] (* added 2000 November 14 based on MAX.NB *) LB[composite[complement[inverse[x_]],inverse[y_]]] := UB[composite[y,complement[x]]] (* derived 2004 February 20 in REPLACE1.NB *) lb[composite[E,x_],V] := 0 (* derived 2004 February 22 in IMG9BFIX.NB *) lb[composite[FIRST,intersection[composite[x_,FIRST],composite[inverse[E],SECOND]]],V] := 0 (* derived 2004 February 19 in REPLACE3.NB *) lb[composite[Id,x_],y_] := lb[x,y] (* derived 2004 December 15 in LB-UB-RS.NB *) lb[composite[id[x_],y_],z_] := intersection[complement[image[V,intersection[z,complement[x]]]],lb[y,z]] (* derived 2004 December 15 in LB-UB-RS.NB *) lb[composite[x_,id[y_]],z_] := union[complement[image[V,z]],intersection[y,lb[x,z]]] (* derived 2005 January 5 in TC-HC.NB *) lb[composite[x_,TC],y_] := image[inverse[TC],lb[x,y]] (* added 2001 July 14 based on ZN-IMG.NB *) LB[composite[ZN,inverse[E]]] := inverse[ZN] (* added 2000 November 14 based on MAX.NB *) LB[Di] := composite[Id,complement[inverse[E]]] (* derived 2004 February 20 in LB-UB-ID.NB *) lb[Di,x_] := complement[x] (* added 2000 December 3 based on DO-LT.NB *) LB[DISJOINT] := composite[DISJOINT,BIGCUP] (* derived 2005 April 19 in LBUB-DIV.NB *) lb[DIV,omega] := set[set[0]] (* added 2000 November 16 based on FUNPART.NB *) LB[E] := union[cart[set[0],V],composite[inverse[E],BIGCAP]] (* derived 2004 February 19 in REPLACE.NB *) lb[E,x_] := A[x] (* added 2002 November 16 based on FACTEQDF.NB *) LB[EQUIDIFF] := UB[EQUIDIFF] (* derived 2004 February 20 in REPLACE1.NB *) lb[FINITE,V] := V (* derived 2004 February 20 in REPLACE1.NB *) lb[funpart[x_],V] := 0 (* added 2000 November 14 based on MAX.NB *) LB[Id] := union[cart[set[0],V],inverse[SINGLETON]] (* derived 2004 February 20 in LB-UB-ID.NB *) lb[Id,x_] := complement[image[Di,x]] (* added 2000 December 26 based on UB-ID.NB *) LB[id[x_]] := union[cart[set[0],V],composite[id[x],inverse[SINGLETON]]] (* derived 2004 July 26 in DORAFUNS.NB *) lb[image[DORA,FUNS],range[SINGLETON]] := complement[set[0]] (* derived 2004 February 19 in REPLACE.NB *) lb[image[V,x_],y_] := union[complement[image[V,y]],image[V,x]] (* added 2000 November 7 based on LB-2.NB *) LB[intersection[x_,y_]] := intersection[LB[x],LB[y]] (* derived 2004 February 19 in REPLACE3.NB *) lb[intersection[x_,y_],z_] := intersection[lb[x,z],lb[y,z]] (* derived 2004 February 20 in REPLACE1.NB *) lb[INVAR,V] := P[union[Id,complement[cart[V,V]]]] (* added 2000 November 7 based on LB-1.NB *) LB[inverse[x_]] := UB[x] (* added 2004 February 17 *) lb[inverse[x_],y_] := ub[x,y] (* derived 2004 February 22 in UB-UB.NB *) lb[LB[x_],y_] := P[ub[x,y]] (* added 2002 January 3 based on COMPOSE.NB *) LB[LB[complement[cross[Id,intersection[complement[cart[V,complement[x_]]],complement[cart[y_,V]]]]]]] := composite[inverse[IMAGE[id[cart[V,x]]]],inverse[IMAGE[FIRST]], DISJOINT,IMAGE[FIRST],IMAGE[id[cart[V,complement[y]]]]] (* added 2002 January 2 based on CRSRULES.NB *) LB[LB[cross[x_,y_]]] := union[cart[V,set[0]],cart[set[0],V], composite[id[P[cart[V,V]]],intersection[ composite[inverse[IMAGE[FIRST]],LB[LB[x]],IMAGE[FIRST]], composite[inverse[IMAGE[SECOND]],LB[LB[y]],IMAGE[SECOND]]], id[P[cart[V,V]]]]] (* derived 2004 December 10 in AP-IMG.NB *) lb[lb[rotate[x_],y_],z_] := ub[x,cart[z,y]] (* derived 2004 May 15 in VARIOUS.NB *) lb[PAIRSET,set[0]] := 0 (* added 2000 December 18 based on LB-LB-C.NB *) LB[Q] := UB[Q] (* derived 2004 February 20 in REPLACE1.NB *) lb[Q,V] := 0 (* derived 2004 May 2 in REGULAR.NB *) LB[REGULAR] := union[cart[REGULAR,REGULAR],cart[set[0],V]] (* derived 2004 February 20 in REPLACE1.NB *) lb[REGULAR,V] := complement[image[V,complement[REGULAR]]] (* derived 2004 February 20 in REPLACE1.NB *) lb[rotate[x_],V] := composite[Id,complement[composite[FIRST,complement[inverse[x]]]]] (* added 2000 November 10 based on UB-LB-2.LOG *) LB[S] := union[cart[set[0],V],composite[inverse[S],BIGCAP]] (* derived 2004 February 19 in REPLACE.NB *) lb[S,x_] := P[A[x]] (* derived 2004 December 10 in LB-SS.NB *) lb[x_,set[y_]] := union[complement[image[V,set[y]]],image[inverse[x],set[y]]] (* derived 2004 February 20 in REPLACE1.NB *) lb[set[x_],V] := 0 (* derived 2004 February 22 in UB-UB.NB *) lb[UB[x_],y_] := P[lb[x,y]] (* derived 2004 February 19 in REPLACE.NB *) lb[x_,ub[x_,lb[x_,y_]]] := lb[x,y] (* derived 2004 February 19 in REPLACE3.NB *) lb[x_,union[y_,z_]] := intersection[lb[x,y],lb[x,z]] (* added 2002 January 3 based on REPLACE.NB *) LB[union[cart[x_,y_],composite[id[y_],z_]]] := union[cart[P[y],x],composite[LB[z],id[P[y]]]] (* restored 2001 November 7 based on LB-UB.NB *) LB[union[z_,cart[x_,V]]] := union[cart[V,x],LB[z]] (* added 2001 December 31 based on LB-UB.NB *) LB[union[x_,cart[V,y_]]] := composite[LB[x],IMAGE[id[complement[y]]]] (* added 2000 November 7 based on LB-2.NB *) LB[union[x_,complement[cart[y_,z_]]]] := union[cart[V,complement[y]],composite[id[y],LB[x],IMAGE[id[z]]]] (* added 2002 January 10 based on PAIRSET.NB *) LB[union[FIRST,SECOND]] := union[cart[set[0],V],composite[inverse[PAIRSET],S]] (* added 2000 November 14 based on MAX.NB *) LB[union[Id,complement[S]]] := composite[complement[inverse[E]],IMAGE[inverse[PS]]] (* added 2000 November 7 based on LB-2.NB *) LB[V] := cart[V,V] (* derived 2004 February 19 in REPLACE.NB *) lb[V,x_] := V (* added 2001 July 21 based on LB-ZN.NB *) LB[ZN] := composite[inverse[ZN],BIGCUP] (* added 2004 March 6 based on UB-LEAST.NB *) least[x_,y_] := intersection[y,lb[x,y]] (* added 2000 November 13 based on MAX.NB *) LEAST[0] := 0 (* added 2000 November 13 based on MAX.NB *) LEAST[cart[x_,y_]] := composite[inverse[E],IMAGE[id[x]],id[P[y]]] (* derived 2004 May 8 in GT-C-X.NB *) LEAST[complement[cross[Di,Id]]] := union[composite[inverse[E],IMAGE[id[complement[cart[V,V]]]]], composite[inverse[E],IMAGE[SWAP],FUNPART,IMAGE[SWAP]]] (* added 2002 April 6 based on SUBST.NB *) LEAST[complement[cross[Id,Di]]] := union[composite[inverse[E],FUNPART], composite[inverse[E],IMAGE[id[complement[cart[V,V]]]]]] (* added 2000 December 7 based on MOREBACK.NB *) LEAST[complement[inverse[x_]]] := GREATEST[complement[x]] (* added 2000 December 3 based on DO-LT.NB *) LEAST[complement[S]] := 0 (* added 2002 November 26 based on LT-GT-DI.NB *) LEAST[composite[Di,inverse[x_]]] := GREATEST[composite[x,Di]] (* added 2000 November 17 based on CO-ID.NB *) LEAST[composite[Id,x_]] := LEAST[x] (* added 2000 November 16 based on LEAST.NB *) LEAST[composite[x_,id[y_]]] := composite[id[y],LEAST[x]] (* added 2000 November 16 based on LEAST.NB *) LEAST[composite[id[x_],y_]] := composite[LEAST[y],id[P[x]]] (* added 2002 November 26 based on LT-GT-DI.NB *) LEAST[composite[inverse[x_],Di]] := GREATEST[composite[Di,x]] (* added 2000 November 14 based on MAX.NB *) LEAST[Di] := 0 (* added 2002 November 16 based on FACTEQDF.NB *) LEAST[EQUIDIFF] := GREATEST[EQUIDIFF] (* added 2000 December 5 based on DO-GT.NB *) LEAST[FINITE] := inverse[E] (* added 2000 November 13 based on MAX.NB *) LEAST[Id] := inverse[SINGLETON] (* added 2000 December 26 based on LT-IDX.NB *) LEAST[id[x_]] := composite[id[x],inverse[SINGLETON]] (* added 2000 November 16 based on ASSINT.NB *) LEAST[intersection[x_,y_]] := intersection[LEAST[x],LEAST[y]] (* added 2000 November 13 based on MAX.NB *) LEAST[inverse[x_]] := GREATEST[x] (* added 2000 December 18 based on LB-LB-C.NB *) LEAST[Q] := GREATEST[Q] (* derived 2004 May 2 in REGULAR.NB *) LEAST[REGULAR] := composite[inverse[E],id[REGULAR]] (* added 2000 November 13 based on MAX.NB *) LEAST[S] := intersection[BIGCAP,inverse[E]] (* added 2002 November 26 based on LT-GT-CP.NB *) LEAST[union[cart[x_,y_],composite[Di,inverse[z_]]]] := GREATEST[union[cart[y,x],composite[z,Di]]] (* added 2002 November 26 based on LT-GT-CP.NB *) LEAST[union[cart[x_,y_],composite[inverse[z_],Di]]] := GREATEST[union[cart[y,x],composite[Di,z]]] (* added 2002 November 26 based on GREATEST.NB *) LEAST[union[x_,complement[cart[y_,z_]]]] := union[composite[inverse[E],IMAGE[id[complement[y]]]], LEAST[union[x,cart[V,complement[z]]]]] (* added 2000 November 13 based on MAX.NB *) LEAST[union[Id,complement[x_]]] := MAXIMAL[x] (* derived 2004 July 21 in TOMINMAX.NB *) LEAST[union[composite[id[y_],complement[x_],id[y_]],id[y_]]] := composite[id[y],MAXIMAL[x],id[P[y]]] (* added 2000 November 13 based on MAX.NB *) LEAST[V] := inverse[E] (* added 2002 August 28 based on RIGHT.NB *) LEFT[union[x_,complement[image[V,y_]]]] := composite[LEFT[x],id[image[V,y]]] (* added 2002 August 28 based on RIGHT.NB *) LEFT[union[x_,image[V,y_]]] := composite[LEFT[x],id[complement[image[V,y]]]] (* added 1999 August 16 based on session NORMAL.4 *) LEFT[V] := 0 (* added 2000 November 13 based on MAX.NB *) LUB[0] := 0 (* added 2000 November 17 based on CO-ID.NB *) LUB[composite[Id,x_]] := LUB[x] (* added 2000 November 16 based on RESTRICT.NB*) LUB[composite[x_,id[y_]]] := composite[id[y],LUB[x],id[P[y]]] (* derived 2004 December 15 in LB-UB-RS.NB *) LUB[composite[id[P[x_]],S]] := composite[BIGCUP,id[union[complement[image[V,complement[x]]],intersection[complement[set[0]],P[P[x]]]]]] (* added 2000 November 14 based on MAX.NB *) LUB[Di] := 0 (* added 2000 December 3 based on DO-LT.NB *) LUB[DISJOINT] := cart[V,set[0]] (* added 2000 November 13 based on MAX.NB *) LUB[E] := intersection[S,inverse[E]] (* added 2000 November 13 based on MAX.NB *) LUB[Id] := inverse[SINGLETON] (* added 2000 December 26 based on UB-ID.NB *) LUB[id[x_]] := composite[id[x],inverse[SINGLETON]] (* added 2000 November 26 based on GLB-LUB.NB *) LUB[intersection[Di,x_]] := 0 (* added 2000 November 13 based on MAX.NB *) LUB[inverse[x_]] := GLB[x] (* added 2000 November 26 based on GLB-LUB.NB *) LUB[PS] := 0 (* added 2000 November 13 based on MAX.NB *) LUB[S] := BIGCUP (* added 2000 November 13 based on MAX.NB *) LUB[V] := cart[V,V] (* added 2001 April 25 based on MAP1.NB *) map[0,x_] := set[0] (* added 2001 April 27 based on MAP6.NB *) map[x_,0] := intersection[set[0],complement[image[V,x]]] (* derived 2004 November 26 in XS-CP.NB *) map[intersection[x_,image[V,y_]],y_] := X[cart[x,y]] (* derived 2004 November 26 in XS-CP.NB *) map[x_,set[setpart[y_]]] := set[cart[x,set[setpart[y]]]] (* added 2000 November 13 based on MAX.NB *) MAXIMAL[0] := inverse[E] (* added 2000 November 17 based on CO-ID.NB *) MAXIMAL[complement[S]] := intersection[BIGCAP,inverse[E]] (* added 2000 November 16 based on RESTRICT.NB*) MAXIMAL[composite[Id,x_]] := MAXIMAL[x] (* added 2000 November 16 based on RESTRICT.NB*) MAXIMAL[composite[x_,id[y_]]] := union[composite[id[y],MAXIMAL[x]], composite[inverse[E],IMAGE[id[complement[y]]]]] (* added 2000 November 14 based on MAX.NB *) MAXIMAL[Di] := inverse[SINGLETON] (* added 2000 November 13 based on MAX.NB *) MAXIMAL[Id] := inverse[E] (* added 2000 December 26 based on UB-ID.NB *) MAXIMAL[id[x_]] := inverse[E] (* added 2000 November 14 based on MAX.NB *) MAXIMAL[intersection[Di,x_]] := MAXIMAL[x] (* added 2000 November 13 based on MAX.NB *) MAXIMAL[inverse[x_]] := MINIMAL[x] (* added 2000 November 14 based on MAX.NB *) MAXIMAL[PS] := MAXIMAL[S] (* added 2000 November 16 based on ASSINT.NB *) MAXIMAL[union[x_,y_]] := intersection[MAXIMAL[x],MAXIMAL[y]] (* added 2000 November 14 based on MAX.NB *) MAXIMAL[V] := inverse[SINGLETON] (* axiom of pairing and unions,proper classes, and other membership facts *) (* Theorem SP-2 in SP1 *) member[u_,0] := False (* derived 2004 October 12 in CMPCT-OM.NB *) member[0,A[intersection[omega,x_]]] := not[member[0,x]] (* derived 2003 December 22 in EMPTY.NB *) member[0,card[x_]] := not[equal[0,x]] (* derived 2005 March 26 in U-CMPCT.NB *) member[0,COMPACT] := True (* added 1999 July 21 *) member[0,composite[x_,y_]] := False (* derived 2004 September 24 in COREDESC.NB *) member[0,core[DESCENDING,x_]] := False (* added 2004 April 17 based on CORE.NB *) member[0,core[invar[SUCC],complement[set[x_]]]] := not[member[x,omega]] (* added 1999 July 21 *) member[0,cross[x_,y_]] := False (* Theorem DK-0 proved 2000 May 26 *) member[0,DEDEKIND] := True (* derived 2005 February 8 in X1731.NB *) member[0,DESCENDING] := True (* derived 2004 November 18 in XS-IN-AC.NB *) member[0,domain[funpart[composite[id[P[cart[V,V]]],inverse[XS]]]]] := False (* derived 2005 January 1 in ITER-FUN.NB *) member[0,domain[funpart[iterate[x_,y_]]]] := member[y,range[SINGLETON]] (* derived 2004 February 20 in REPLACE1.NB *) member[0,domain[GLB[x_]]] := not[equal[0,ub[x,V]]] (* added 2002 May 14 based on ITER-DO.NB *) member[0,domain[iterate[x_,y_]]] := not[equal[0,y]] (* derived 2004 February 20 in REPLACE1.NB *) member[0,domain[LUB[x_]]] := not[equal[0,lb[x,V]]] (* added 2002 May 21 based on NILPOT.NB *) member[0,domain[power[x_]]] := True (* Theorem FIN-0 in FINITE added 2000 April 1 *) member[0,FINITE] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) member[0,fix[composite[x_,BIGCAP]]] := False (* derived 2003 December 21 in INTADD.NB *) member[0,funpart[x_]] := False (* added 1999 July 21 based on session MEM-0.LOG *) member[0,id[x_]] := False (* added 1999 July 21 based on session MEM-0.LOG *) member[0,image[BIGCUP,x_]] := or[member[0,x],member[set[0],x]] (* derived 2004 August 18 in X2812-61.NB *) member[0,image[CART,x_]] := or[member[0,domain[x]],member[0,range[x]]] (* added 2003 July 25 based on CPS-ZXZ.NB *) member[0,image[COMPOSE,cart[Z,Z]]] := False (* added 2001 December 31 based on DORA-DJ.NB *) member[0,image[COMPOSE,Id]] := True (* added 1999 July 21 based on session MEM-0.LOG *) member[0,image[Di,x_]] := not[subclass[x,set[0]]] (* added 2003 May 24 based on DIFCLOS.NB *) member[0,image[DIF,cart[x_,y_]]] := not[equal[0,intersection[y,image[S,x]]]] (* added 1999 July 21 based on session MEM-0.LOG *) member[0,image[DISJOINT,x_]] := not[equal[0,x]] (* derived 2005 April 23 in FACT-S.NB *) member[0,image[FACTORIAL,x_]] := False (* added 2002 November 17 based on HER-Z.NB *) member[0,image[inverse[S],x_]] := not[equal[0,x]] (* derived 2005 February 4 in DK-K.NB *) member[0,image[K,x_]] := False (* derived 2004 November 25 in MAP-DUP.NB *) member[0,image[MAP,Id]] := False (* derived 2005 April 16 in FACTRL.NB *) member[0,image[NATMUL,cart[x_,y_]]] := or[and[member[0,x],not[equal[0,intersection[omega,y]]]], and[member[0,y],not[equal[0,intersection[omega,x]]]]] (* derived 2005 January 7 in CARD-UP.NB *) member[0,image[PAIRSET,x_]] := False (* added 1999 July 21 based on session MEM-0.LOG *) member[0,image[POWER,x_]] := False (* derived 2005 January 6 in IM-Q-ON.NB *) member[0,image[Q,OMEGA]] := True (* derived 2004 January 13 in RA-RCF.NB *) member[0,image[RCF,x_]] := False (* added 1999 July 21 based on session MEM-0.LOG *) member[0,image[SUCC,x_]] := False (* added 1999 October 16 based on 1999\OCT\15\VERTSECT.2 *) member[0,image[VERTSECT[x_],y_]] := not[subclass[y,domain[x]]] (* derived 2004 November 18 in XS-IN-AC.NB *) member[0,image[XS,P[cart[V,V]]]] := not[axch] (* derived 2003 December 21 in INTADD.NB *) member[0,intadd[x_,y_]] := or[not[member[x,Z]],not[member[y,Z]]] (* added 1999 July 21 based on session MEM-0.LOG *) member[0,inverse[x_]] := False (* derived 2005 February 13 in NAT.NB *) member[0,nat[x_]] := not[equal[0,nat[x]]] (* derived 2003 December 22 in POSITIVE.NB *) member[0,natadd[x_,y_]] := or[not[equal[0,x]],not[equal[0,y]]] (* derived 2003 December 22 in POSITIVE.NB *) member[0,natsub[x_,y_]] := or[not[equal[x,y]],not[member[x,omega]]] (* derived 2003 December 22 in POSITIVE.NB *) member[0,natmul[x_,y_]] := or[and[not[equal[0,x]],not[equal[0,y]]], and[not[equal[0,x]],not[member[x,omega]]], and[not[equal[0,y]],not[member[y,omega]]], and[not[member[x,omega]],not[member[y,omega]]]] (* proposed 1998 September 13 *) member[0,omega] := True (* proposed 1998 September 13 *) member[0,OMEGA] := True (* derived 2003 December 28 in PTCLOSED.NB *) member[0,PointClosed] := True (* derived 2005 February 22 in PRIMES.NB *) member[0,PRIMES] := False (* added 1999 November 6 based on CART-DI.NB *) member[0,range[CART]] := True (* added 2000 September 28 based on CROSS.NB *) member[0,range[CROSS]] := True (* derived 2005 April 16 in FACTRL.NB *) member[0,range[FACTORIAL]] := False (* added 2003 January 17 based on MEM0RAVS.NB *) member[0,range[IMAGE[x_]]] := True (* derived 2005 January 18 in RA-KURA.NB *) member[0,range[PAIRSET]] := False (* added 2002 November 30 based on POS-NEG.NB *) member[0,range[PLUS]] := False member[0,range[POWER]] := False (* derived 2004 January 13 in RA-RCF.NB *) member[0,range[RCF]] := False member[0,range[SINGLETON]] := False (* added 2002 January 28 based on SUBVAR.NB *) member[0,range[SUBVAR]] := False member[0,range[SUCC]] := False (* added 2003 January 17 based on MEM0RAVS.NB *) member[0,range[VERTSECT[x_]]] := not[equal[V,domain[x]]] (* derived 2004 November 16 in XS.NB *) member[0,range[XS]] := not[axch] (* derived 2003 December 21 in LOW-RANK.NB *) member[0,rank[x_]] := not[equal[0,x]] (* Theorem REG-9 in REG2 *) member[0,REGULAR] := True (* derived 2003 December 22 in EMPTY.NB *) member[0,RUSSELL] := True (* Theorem SBV-MEM0 in SUBVAR proved 1999 February 13 *) member[0,subvar[x_]] := True (* derived 2003 December 27 in T1.NB *) member[0,T1] := True (* derived 2003 December 30 in T2.NB *) member[0,T2] := True (* derived 2003 December 25 in TOPSDEFN.NB *) member[0,TOPS] := False (* derived 2005 January 27 in BA-OM.NB *) member[0,U[complement[image[inverse[BIGCAP],set[0]]]]] := False (* Theorem SP-5 in SP1 *) member[0,V] := True (* added 2002 November 16 based on INTEGER.NB *) member[0,Z] := False (* derived 2005 February 12 in X3713.NB *) member[A[intersection[omega,x_]],x_] := not[equal[0,intersection[omega,x]]] (* derived 2005 February 12 in X3713.NB *) member[A[intersection[OMEGA,x_]],x_] := not[equal[0,intersection[OMEGA,x]]] (* derived 2005 February 12 in X3713.NB *) member[A[intersection[omega,x_]],omega] := not[equal[0,intersection[omega,x]]] (* derived 2005 February 12 in X3713.NB *) member[A[intersection[OMEGA,x_]],OMEGA] := not[equal[0,intersection[OMEGA,x]]] (* added 98/02/27 *) member[A[x_],V] := not[equal[0,x]] (* added 2001 November 17 based on UNWRAP.NB *) member[x_,ACLOSURE] := and[equal[Aclosure[first[x]],second[x]],member[first[x],V]] (* added 2001 June 29 based on MEMBER.NB *) member[ACLOSURE,x_] := False (* derived 2004 January 8 in FIN-FU.NB *) member[Aclosure[x_],FINITE] := member[x,FINITE] (* Theorems ACL-V-1 and ACL-V-2 in ACL1 proved 2001 September 29 *) member[Aclosure[x_],V] := member[x,V] (* added 2003 October 15 based on ACYCLIC.NB *) member[x_,ACYCLIC] := and[member[x,V],subclass[x,cart[V,V]],equal[0,fix[trv[x]]]] (* added 2003 October 15 based on ACYCLIC.NB *) member[ACYCLIC,x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,ADJOIN[y_]] := and[equal[union[y,first[x]],second[x]],member[first[x],V]] (* added 2001 June 28 based on SETHOOD.NB *) member[ADJOIN[x_],V] := not[member[x,V]] (* added 2002 January 17 based on ANTISYM1.NB *) member[x_,ANTISYM] := and[member[x,V],ANTISYMMETRIC[x]] (* added 2003 June 4 based on SETHOOD.NB *) member[ANTISYM,x_] := False (* added 2003 October 28 based on APPLY.NB *) member[w_,APPLY[x_,y_]] := and[member[w,V], not[member[y,image[inverse[x],P[complement[set[w]]]]]]] (* derived 2005 April 23 in FACT-S.NB *) member[APPLY[FACTORIAL,x_],x_] := False (* derived 2005 April 21 in AP-FACT.NB *) member[APPLY[FACTORIAL,x_],omega] := member[x,omega] (* derived 2004 July 17 in FU-IM-IN.NB *) member[APPLY[funpart[x_],y_],z_] := member[y,image[inverse[funpart[x]],z]] (* added 2003 October 28 based on APPLY.NB *) member[APPLY[x_,y_],V] := member[y,domain[x]] (* added 2001 June 29 based on MEMBER.NB *) member[ASSOC,x_] := False (* derived 2004 December 7 in ASV-DIV.NB *) member[x_,ASSOCIATIVE] := and[associative[x],member[x,V]] (* added 2003 July 2 based on ASS-SC.NB *) member[ASSOCIATIVE,x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,BIGCAP] := and[equal[A[first[x]],second[x]],not[equal[0,first[x]]]] member[BIGCAP,x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,BIGCUP] := and[equal[U[first[x]],second[x]],member[first[x],V]] member[BIGCUP,x_] := False (* replaced 2001 November 23 based on FUN-3.NB *) member[x_,BIJ] := and[FUNCTION[x],FUNCTION[inverse[x]],member[x,V]] (* added 2001 June 29 based on MEMBER.NB *) member[BIJ,x_] := False (* added 2003 May 21 based on BINCLOSE.NB *) member[y_,binclosed[x_]] := and[member[y,V],subclass[image[x,cart[y,y]],y]] (* revised 2003 May23 based on DEF-CLOS.NB *) member[binclosed[CAP],x_] := False (* derived 2004 May 4 in BIN-CPS.NB *) member[binclosed[COMPOSE],x_] := False (* revised 2003 May23 based on DEF-CLOS.NB *) member[binclosed[CUP],x_] := False (* revised 2003 May23 based on DEF-CLOS.NB *) member[binclosed[DIF],x_] := False (* added 2001 June 29 based on MEMBER.NB *) member[CAP,x_] := False (* added 2001 November 16 *) member[x_,CAP] := and[member[first[first[x]],V], equal[intersection[first[first[x]],second[first[x]]],second[x]]] (* added 2001 December 1 based on CARD-X.NB *) member[x_,CARD] := and[equal[card[first[x]],second[x]],member[first[x],V]] (* added 2001 December 19 based on SETHOOD2.NB *) member[CARD,x_] := False (* derived 2005 January 7 in CARD-FIN,NB *) member[card[x_],omega] := member[x,FINITE] (* added 2002 May 28 based on CARD-OM.NB *) member[card[x_],OMEGA] := member[x,image[Q,OMEGA]] (* added 2001 December 1 based on CARD-X.NB *) member[card[x_],V] := member[x,image[Q,OMEGA]] (* added 2001 June 29 based on MEMBER.NB *) member[CART,x_] := False (* added 2001 November 13 based on 1ST-2ND.NB *) member[x_,cart[y_,z_]] := and[member[first[x],y],member[second[x],z]] (* derived 2004 December 6 in FIN-CP.NB *) member[cart[x_,y_],FINITE] := or[and[member[x,FINITE],member[y,FINITE]],equal[0,x],equal[0,y]] (* derived 2004 August 9 in RS-2.NB *) member[cart[x_,y_],range[SINGLETON]] := and[member[x,range[SINGLETON]],member[y,range[SINGLETON]]] (* derived 2004 June 28 in X1773-1800.NB *) member[cart[REGULAR,REGULAR],x_] := False (* restored 2002 January 6 based on CART-SG.NB *) member[cart[x_,y_],V] := or[and[member[x,V],member[y,V]], equal[0,x],equal[0,y]] (* derived 2005 June 28 in X1819.NB *) member[cart[V,V],x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,CLIQUES] := and[equal[cliques[first[x]],second[x]],member[cliques[first[x]],V]] (* added 2001 June 29 based on MEMBER.NB *) member[CLIQUES,x_] := False member[w_,cliques[z_]] := and[member[w,V],subclass[cart[w,w],z]] (* added 2002 May 2 based on CLIQUES.NB *) member[cliques[x_],V] := member[fix[x],V] (* derived 2004 December 21 in COMUTANT.NB *) member[w_,commutant[x_]] := and[equal[composite[w,x],composite[x,w]],member[w,V]] (* derived 2004 December 21 in COMUTANT.NB *) member[commutant[x_],V] := False (* added 2001 November 18 based on CO-IDX.NB *) member[x_,COMMUTE] := and[member[first[x],V], equal[composite[first[x],second[x]],composite[second[x],first[x]]]] (* added 2001 June 29 based on MEMBER.NB *) member[COMMUTE,x_] := False (* derived 2004 October 9 in CMPCT-V.NB *) member[COMPACT,x_] := False (* Axioms AX-C-1 and AX-C-2 in AX-B *) member[u_,complement[x_]] := and[member[u,V],not[member[u,x]]] (* added 2001 March 17 based on H-FULL.NB *) member[complement[A[x_]],V] := equal[0,x] (* Theorem SP-CP-C2 in SP3 proved 1999 February 28 *) member[complement[cart[x_,y_]],z_] := False (* derived 2004 October 9 in CMPCT-V.NB *) member[complement[COMPACT],x_] := False member[complement[composite[x_,y_]],z_] := False member[complement[cross[x_,y_]],z_] := False member[complement[E],x_] := False (* derived 2004 June 21 in X18--.NB *) member[complement[DESCENDING],x_] := False (* Theorem FINC-MEM in FINITE proved 2000 March 14 *) member[complement[FINITE],x_] := False (* Theorem FULC-MEM in FUL2 proved 1999 March 27 *) member[complement[FULL],x_] := False (* derived 2004 September 18 in SSIM-PRS.NB *) member[complement[image[PAIRSET,Di]],x_] := False (* added 2002 November 30 based on Z-PLUS.NB *) member[complement[image[V,x_]],y_] := and[member[0,y],not[equal[0,x]]] member[complement[inverse[x_]],y_] := False (* Theorem ON-C-SP in ON1 proved 1999 March 2 *) member[complement[OMEGA],x_] := False member[complement[P[x_]],y_] := and[equal[V,x],member[0,y]] (* Theorem POW-RA-C in POW5 proved 1999 March 2 *) member[complement[range[POWER]],x_] := False (* derived 2004 September 18 in SSIM-PRS.NB *) member[complement[range[SINGLETON]],x_] := False (* derived 2004 December 30 in REPLACE.NB *) member[complement[REGULAR],V] := AxReg member[complement[S],x_] := False (* derived 2004 November 17 in AC-SEL-C.NB *) member[complement[SELECT],V] := axch (* added 2001 November 18 based on BIN-FNS.NB *) member[x_,COMPOSE] := and[member[first[first[x]],V],equal[composite[first[first[x]],second[first[x]]],second[x]]] (* added 2001 June 29 based on MEMBER.NB *) member[COMPOSE,x_] := False (* added 2002 January 10 based on MORE-PRS.NB *) member[x_,composite[y_,DUP]] := and[member[first[x],V],member[pair[pair[first[x],first[x]],second[x]],y]] member[composite[E,x_],V] := equal[0,domain[x]] (* added 2002 January 10 based on MORE-PRS.NB *) member[x_,composite[y_,FIRST]] := and[member[first[first[x]],V], member[pair[first[first[x]],second[x]],y]] (* derived 2004 November 19 in SETHOOD.NB *) member[composite[funpart[x_],setpart[y_]],V] := True (* derived 2004 March 29 based on HULL.NB *) member[x_,composite[y_,HULL[z_]]] := and[member[first[x],image[inverse[S],z]], member[pair[hull[z,first[x]],second[x]],y]] (* derived 2004 June 11 in x713-x744-x793-x801.NB *) member[x_,composite[Id,y_]] := and[member[x,y],member[first[x],V]] (* derived 2004 June 11 in x713-x744-x793-x801.NB *) member[x_,composite[y_,id[z_]]] := and[member[x,y],member[first[x],z]] (* derived 2004 June 11 in x713-x744-x793-x801.NB *) member[x_,composite[id[y_],z_]] := and[member[x,z],member[second[x],y]] (* added 2002 November 30 based on Z-PLUS.NB *) member[composite[id[omega],SUCC],range[PLUS]] := True (* added 2002 October 6 based on OMEGA-1.NB *) member[composite[id[omega],SUCC],V] := True (* added 2002 November 16 based on INTEGER.NB *) member[composite[id[omega],SUCC],Z] := True member[composite[Id,x_],V] := and[member[domain[x],V],member[range[x],V]] (* added 2003 May 14 based on CO-V.NB *) member[composite[x_,id[y_]],V] := and[member[image[x,y],V],member[intersection[y,domain[x]],V]] (* added 2003 May 14 based on CO-V.NB *) member[composite[id[x_],y_],V] := and[member[image[inverse[y],x],V],member[intersection[x,range[y]],V]] (* derived 2004 December 6 in FIN-CP.NB *) member[composite[inverse[E],id[x_]],FINITE] := and[member[x,FINITE],subclass[x,FINITE]] (* added 2002 January 10 based on MORE-PRS.NB *) member[x_,composite[inverse[FIRST],y_]] := and[member[first[x],V], member[first[second[x]],V], member[pair[first[x],first[second[x]]],y]] (* derived 2004 March 29 based on HULL.NB *) member[x_,composite[inverse[HULL[y_]],z_]] := and[member[pair[first[x],hull[y,second[x]]],z], member[second[x],image[inverse[S],y]]] (* added 2003 August 8 based on REPLACE.NB *) member[composite[inverse[plus[x_]],plus[y_]],V] := True (* added 2003 August 8 based on REPLACE.NB *) member[composite[inverse[plus[x_]],plus[y_]],Z] := and[member[x,omega],member[y,omega]] member[composite[inverse[S],x_],V] := and[member[domain[x],V],member[range[x],V]] (* added 2002 January 10 based on MORE-PRS.NB *) member[x_,composite[inverse[SECOND],y_]] := and[member[first[x],V], member[first[second[x]],V],member[pair[first[x],second[second[x]]],y]] (* derived 2005 January 16 in FUN-RFX.NB *) member[composite[inverse[setpart[x_]],y_,setpart[x_]],V] := True (* added 2003 May 7 based on UNOPS.NB *) member[composite[NATMUL,LEFT[x_]],V] := True (* added 2002 February 3 based on RCF.NB *) member[composite[x_,RC[y_]],V] := or[member[image[x,P[y]],V],not[member[y,V]]] (* added 2002 February 4 based on RCF-NORM.NB *) member[x_,composite[y_,RCF]] := and[member[first[x],V], member[pair[RC[first[x]],second[x]],y]] (* added 2001 December 21 based on Q-RT-2.NB *) member[composite[RIGHT[x_],id[y_]],V] := or[member[y,V],not[member[x,V]]] member[composite[S,x_],V] := equal[0,domain[x]] member[composite[x_,S],V] := and[member[domain[x],V],member[range[x],V]] (* added 2002 January 10 based on MORE-PRS.NB *) member[x_,composite[y_,SECOND]] := and[member[first[first[x]],V], member[pair[second[first[x]],second[x]],y]] (* derived 2004 November 19 in SETHOOD.NB *) member[composite[setpart[x_],inverse[funpart[y_]]],V] := True (* derived 2004 December 26 in SETPART.NB *) member[composite[setpart[x_],oopart[y_]],V] := True (* derived 2004 November 19 in SETHOOD.NB *) member[composite[setpart[x_],setpart[y_]],V] := True (* added 2002 November 3 based on FLIP.NB *) member[x_,composite[y_,SWAP]] := and[member[first[first[x]],V], member[pair[pair[second[first[x]],first[first[x]]],second[x]],y]] (* added 2002 November 3 based on FLIP.NB *) member[x_,composite[SWAP,y_]] := and[member[first[second[x]],V], member[pair[first[x],pair[second[second[x]],first[second[x]]]],y]] (* derived 2004 December 26 in SETPART.NB *) member[composite[setpart[x_],SWAP],V] := True (* derived 2004 November 9 in AC2-AC3.NB *) member[composite[thinpart[x_],setpart[y_]],V] := True (* added 2002 February 3 based on RCF.NB *) member[x_,composite[y_,VERTSECT[z_]]] := and[member[first[x],V],member[image[z,set[first[x]]],V], member[pair[image[z,set[first[x]]],second[x]],y]] (* derived 2004 April 17 in REPLACE.NB *) member[x_,CORE[y_]] := and[equal[core[y,first[x]],second[x]],member[first[x],V]] (* added 2001 June 29 based on MEMBER.NB *) member[CORE[x_],y_] := False (* added 2004 April 17 based on CORE.NB *) member[core[x_,y_],V] := member[intersection[x,P[y]],V] (* added 2001 November 18 based on BIN-FNS.NB *) member[x_,CROSS] := and[member[first[first[x]],V], equal[cross[first[first[x]],second[first[x]]],second[x]]] (* added 2001 June 29 based on MEMBER.NB *) member[CROSS,x_] := False (* removed 2001 December 26 based on SETHOOD.NB member[cross[x_,y_],V] := or[and[member[domain[x],V],member[domain[y],V], member[range[x],V],member[range[y],V]],equal[0,domain[x]],equal[0,domain[y]]] *) (* added 2001 June 29 based on MEMBER.NB *) member[CUP,x_] := False (* added 2001 November 17 based on CUP.NB *) member[x_,CUP] := and[member[first[first[x]],V], equal[union[first[first[x]],second[first[x]]],second[x]]] (* added 2001 June 29 based on MEMBER.NB *) member[DEDEKIND,x_] := False (* derived 2004 December 30 in REPLACE.NB *) member[DESCENDING,V] := AxReg (* added 2001 November 14 based on DI.NB *) member[x_,Di] := and[member[first[x],V],not[equal[first[x],second[x]]]] (* Theorem SP-DI in SP4 *) member[Di,x_] := False (* added 2001 November 18 based on BIN-FNS.NB *) member[x_,DIF] := and[member[first[first[x]],V], equal[intersection[complement[second[first[x]]],first[first[x]]],second[x]]] (* added 2000 October 4 based on PROPER.NB *) member[DIF,x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,DISJOINT] := and[member[first[x],V],subclass[first[x],complement[second[x]]]] (* Theorem SP-DJT3 in SP4 proved 1999 March 19 *) member[DISJOINT,x_] := False (* added 2002 August 30 based on DIVIDES.NB *) member[DIV,V] := True (* derived 2005 January 31 in X4210.NB *) member[domain[funpart[x_]],FINITE] := member[funpart[x],FINITE] (* derived 2004 February 19 in REPLACE2.NB *) member[x_,domain[GREATEST[y_]]] := and[member[x,V],not[equal[0,intersection[x,ub[y,x]]]]] (* added 2002 April 16 based on ITER-0.NB *) member[domain[iterate[x_,y_]],V] := True (* derived 2004 February 19 in REPLACE2.NB *) member[x_,domain[LB[y_]]] := and[member[x,V],not[equal[0,lb[y,x]]]] (* derived 2004 August 1 in SETHOOD.NB *) member[domain[LB[x_]],V] := member[range[x],V] (* derived 2004 February 19 in REPLACE2.NB *) member[x_,domain[LEAST[y_]]] := and[member[x,V],not[equal[0,intersection[x,lb[y,x]]]]] (* added 2002 May 21 based on POWER.NB *) member[domain[power[x_]],V] := True (* derived 2004 February 19 in REPLACE2.NB *) member[x_,domain[UB[y_]]] := and[member[x,V],not[equal[0,ub[y,x]]]] (* derived 2004 August 1 in SETHOOD.NB *) member[domain[UB[x_]],V] := member[domain[x],V] (* added 1999 July 14 *) member[x_,domain[VERTSECT[y_]]] := and[member[x,V],member[image[y,set[x]],V]] (* derived 2005 January 30 in IVR-V.NB *) member[domain[VERTSECT[trv[x_]]],V] := member[invar[x],V] (* derived 2004 May 2 in ZN.NB *) member[domain[VERTSECT[ZN]],x_] := False (* added 2001 December 19 based on SETHOOD2.NB *) member[DORA,x_] := False member[DUP,x_] := False (* added 2001 November 15 based on UNWRAP-1.NB *) member[x_,E] := member[first[x],second[x]] (* Theorem SP-E in SP4 *) member[E,x_] := False (* added 2002 November 3 based on EQUIDIFF.NB *) member[x_,EQUIDIFF] := and[member[first[first[x]],omega],member[first[second[x]],omega], member[second[first[x]],omega],member[second[second[x]],omega], equal[natadd[first[first[x]],second[second[x]]], natadd[first[second[x]],second[first[x]]]]] (* added 2002 November 5 based on EQDF-TRV.NB *) member[EQUIDIFF,V] := True (* derived 2004 May 12 in EQUIV.NB *) member[x_,EQUIV] := and[equal[eqv[first[x]],second[x]],member[first[x],V]] (* introduced 2004 March 20 in EQV-WRAP.NB *) member[x_,EQV] := and[member[x,V],EQUIVALENCE[x]] (* added 2003 June 4 based on SETHOOD.NB *) member[EQV,x_] := False (* derived 2004 May 12 in EQUIV.NB *) member[eqv[setpart[x_]],V] := True (* derived 2005 April 23 in FACT-S.NB *) member[FACTORIAL,V] := True (* Theorem FIN-MEM in FINITE proved 2000 March 10 *) member[FINITE,x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,FIRST] := and[equal[first[first[x]],second[x]],member[first[first[x]],V]] member[FIRST,x_] := False (* replaced 2003 June 17 with a wrapped rule member[x_,fix[y_]] := and[member[x,V],member[pair[x,x],y]] *) (* added 2003 June 29 based on FIX-E.NB *) member[x_,fix[ACLOSURE]] := and[equal[x,Aclosure[x]],member[x,V]] (* added 2001 September 30 based on FP-ACL.NB *) member[fix[ACLOSURE],x_] := False (* added 2003 June 25 based on FP-E.NB *) member[x_,fix[BIGCUP]] := and[equal[x,U[x]],member[x,V]] (* added 2003 June 25 based on FP-E.NB *) member[x_,fix[CARD]] := and[equal[x,card[x]],member[x,V]] (* added 2003 June 15 based on FP-ADJ.NB *) member[x_,fix[composite[ADJOIN[y_],BIGCUP]]] := and[equal[x,union[y,U[x]]],member[x,V]] (* added 2003 June 15 based on FP-ADJ.NB *) member[x_,fix[composite[ADJOIN[y_],IMAGE[z_]]]] := and[equal[x,union[y,image[z,x]]],member[x,V]] (* derived 2004 August 1 in SETHOOD.NB *) member[fix[composite[E,BIGCAP]],x_] := False (* derived 2004 March 7 in FP-LB-UB.NB *) member[x_,fix[composite[E,y_,LB[z_]]]] := and[member[x,V],not[equal[0,intersection[x,image[y,lb[z,x]]]]]] (* derived 2004 March 7 in FP-LB-UB.NB *) member[x_,fix[composite[E,y_,UB[z_]]]] := and[member[x,V],not[equal[0,intersection[x,image[y,ub[z,x]]]]]] (* added 2003 June 25 based on CART-DUP.NB *) member[x_,fix[composite[IMAGE[y_],CART,DUP]]] := and[equal[x,image[y,cart[x,x]]],member[x,V]] (* derived 2004 June 17 in X21--.NB *) member[x_,fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := member[U[x],x] (* added 2003 June 25 based on FP-MEMBER.NB *) member[x_,fix[composite[y_,inverse[S]]]] := member[x,image[y,P[x]]] (* added 2003 June 25 based on FP-MEMBER.NB *) member[x_,fix[composite[S,y_]]] := member[x,image[inverse[y],P[x]]] (* derived 2004 May 4 in CRHL-FIX.NB *) member[x_,fix[HULL[y_]]] := and[equal[x,hull[y,x]],member[x,V]] (* added 2003 May 10 based on LAMBHULL.NB *) member[fix[HULL[x_]],V] := member[x,V] (* added 2003 June 25 based on FP-E.NB *) member[x_,fix[IMAGE[y_]]] := and[equal[x,image[y,x]],member[x,V]] (* derived 2004 June 18 in NON-FUNS.NB *) member[x_,fix[SINGLETON]] := equal[x,set[x]] (* added 2004 July 14 based on X2530-41.NB *) member[x_,fix[set[y_]]] := and[equal[y,pair[x,x]],member[x,V]] (* added 2003 June 29 based on FIX-E.NB *) member[x_,fix[UCLOSURE]] := and[equal[x,Uclosure[x]],member[x,V]] (* added 2001 September 30 based on FP-ACL.NB *) member[fix[UCLOSURE],x_] := False (* Definition DF-FUL-1 and DF-FUL-2 in FUL1 and Theorems FUL-DF-11 and FUL-DF12 in FUL2 *) member[x_,FULL] := and[member[x,V],subclass[U[x],x]] (* added 98/02/07 *) member[FULL,x_] := False (* added 2001 November 18 based on CO-IDX.NB *) member[x_,FUNPART] := and[equal[funpart[first[x]],second[x]], member[first[x],V]] (* added 2000 September 9 based on FNP-4.NB *) member[FUNPART,x_] := False (* derived 2004 May 9 in OOPART.NB *) member[funpart[setpart[x_]],V] := True (* replacement rule added 2001 November 23 based on FUN-2.M *) member[x_,FUNS] := and[FUNCTION[x],member[x,V]] (* Theorem FS-RP-1 in FS *) member[FUNS,x_] := False (* added 2001 March 15 *) member[x_,H[y_]] := and[member[x,y],subclass[tc[x],y]] (* added 2001 November 17 based on UNWRAP.NB *) member[x_,HC] := and[equal[H[first[x]],second[x]],member[first[x],V]] (* added 2001 June 29 based on MEMBER.NB *) member[HC,x_] := False (* derived 2004 March 29 based on HULL.NB *) member[x_,HULL[y_]] := and[equal[hull[y,first[x]],second[x]], member[first[x],image[inverse[S],y]]] (* derived 2005 January 31 in X4210.NB *) member[HULL[x_],FINITE] := and[member[x,FINITE],subclass[x,FINITE]] (* added 2001 June 28 based on SETHOOD.NB *) member[HULL[x_],V] := member[x,V] (* derived 2004 March 29 based on HULL.NB *) member[hull[x_,y_],V] := member[y,image[inverse[S],x]] (* added 2001 December 7 based on ID-RULES.NB *) member[x_,Id] := and[equal[first[x],second[x]],member[first[x],V]] (* Theorem SP-ID in SP4 *) member[Id,x_] := False (* added 2001 December 7 based on ID-RULES.NB *) member[x_,id[y_]] := and[equal[first[x],second[x]],member[first[x],y]] (* derived 2004 January 10 in FIN-IDX.NB *) member[id[x_],FINITE] := member[x,FINITE] (* added 2003 June 4 based on IMAGE.NB *) member[id[x_],image[IMAGE[DUP],y_]] := member[x,y] (* derived 2004 January 13 in RA-RCF.NB *) member[id[x_],image[RCF,y_]] := and[equal[x,set[0]],member[0,y]] (* added 2002 December 1 based on ZERO-INT.NB *) member[id[x_],range[PLUS]] := equal[omega,x] (* derived 2004 January 13 in RA-RCF.NB *) member[id[x_],range[RCF]] := equal[x,set[0]] (* derived 2004 June 18 in NON-FUNS.NB *) member[id[x_],range[SINGLETON]] := member[x,range[SINGLETON]] (* added 2003 June 5 based on REG.NB *) member[id[x_],REGULAR] := member[x,REGULAR] (* Theorems RP-IDX1 and RP-IDX2 in RP2 *) member[id[x_],V] := member[x,V] (* added 2002 December 1 based on ZERO-INT.NB *) member[id[x_],Z] := equal[omega,x] (* derived 2004 December 14 in IDEMPROJ.NB *) member[x_,IDEM] := and[member[x,V],equal[composite[x,x],x]] (* derived 2004 August 1 in SETHOOD.NB *) member[image[ACLOSURE,x_],V] := member[x,V] (* added 2003 September 13 based on UCL-TOPS.NB *) member[image[ADJOIN[x_],y_],V] := or[member[y,V],not[member[x,V]]] member[image[BIGCUP,x_],V] := member[x,V] (* added 2002 January 1 based on ROTATE.NB *) member[z_,image[w_,cart[set[x_],set[y_]]]] := and[member[x,V],member[y,V],member[z,V],member[pair[pair[x,y],z],w]] (* derived 2004 October 9 in IM-COA.NB *) member[image[COARSER,x_],V] := member[x,V] (* added 2001 March 17 based on H-FULL.NB *) member[image[CUP,x_],V] := and[member[domain[x],V],member[range[x],V]] (* added 2001 November 15 *) member[x_,image[Di,y_]] := and[member[x,V],not[subclass[y,set[x]]]] member[image[Di,x_],y_] := and[equal[0,x],member[0,y]] (* added 2001 October 20 based on SQUARE.NB *) member[x_,image[CART,Id]] := and[equal[x,cart[fix[x],fix[x]]],member[x,V]] (* added 2001 October 20 based in CART-SQ.NB *) member[w_,image[CART,id[x_]]] := and[equal[w,cart[fix[w],fix[w]]],member[w,V],member[fix[w],x]] (* derived 2004 October 28 in AC2.NB *) member[x_,image[IMAGE[FIRST],intersection[FUNS,y_]]] := not[equal[0,intersection[y,map[x,V]]]] (* derived 2005 May 21 in NATSUB.NB *) member[y_,image[image[inverse[NATADD],set[x_]],z_]] := member[natsub[x,y],z] (* added 2002 October 15 based on MEMBER.NB *) member[v_,image[x_,image[y_,set[u_]]]] := member[pair[u,v],composite[x,y]] (* added 1999 December 12 based on FLIP.NB *) member[v_,image[image[x_,set[w_]],set[u_]]] := member[w,image[inverse[x],cart[set[u],set[v]]]] (* added 2001 June 28 based on INVFUN.NB *) member[x_,image[INVERSE,y_]] := and[member[x,V],member[inverse[x],y],subclass[x,cart[V,V]]] (* revised 2001 October 14 based on ACL-2.NB *) member[x_,image[inverse[ACLOSURE],y_]] := member[Aclosure[x],y] (* added 2001 May 4 based on PAIRSET.NB *) member[x_,image[inverse[ADJOIN[y_]],z_]] := member[union[x,y],z] (* added 2001 March 11 based on IMIN.NB *) member[x_,image[inverse[BIGCAP],y_]] := and[member[x,V],member[A[x],y]] (* added 2001 March 11 based on IMIN.NB *) member[x_,image[inverse[BIGCUP],y_]] := member[U[x],y] (* added 2001 March 17 based on H-FULL.NB *) member[image[inverse[BIGCUP],x_],V] := member[x,V] (* added 2002 March 16 based on IM-IN.NB *) member[x_,image[inverse[CAP],y_]] := and[member[first[x],V], member[intersection[first[x],second[x]],y]] (* added 2001 December 2 based on CARD-FUN.NB *) member[x_,image[inverse[CARD],y_]] := member[card[x],y] (* added 2001 April 30 based on CLIQUES5.NB *) member[x_,image[inverse[CLIQUES],y_]] := and[member[x,V],member[cliques[x],y]] (* derived 2004 October 9 in IM-COA.NB *) member[image[inverse[COARSER],x_],V] := member[x,V] (* derived 2004 September 12 in WF-REC-5.NB *) member[z_,image[inverse[y_],complement[x_]]] := not[subclass[image[y,set[z]],x]] (* derived 2004 April 18 in REPLACE.NB *) member[x_,image[inverse[CORE[y_]],z_]] := and[member[x,V],member[core[y,x],z]] (* added 2002 March 16 based on IM-IN.NB *) member[x_,image[inverse[CUP],y_]] := member[union[first[x],second[x]],y] (* derived 2005 February 22 in PRIMES.NB *) member[image[inverse[DIV],set[x_]],image[PAIRSET,Di]] := member[x,PRIMES] (* added 2001 December 19 based on INV-DORA.NB *) member[x_,image[inverse[DORA],y_]] := and[member[x,V],member[pair[domain[x],range[x]],y]] (* derived 2004 December 11 in MEM-IMIN.NB *) member[x_,image[inverse[EQUIV],y_]] := and[member[x,V],member[eqv[x],y]] (* added 2001 March 11 based on IMIN.NB *) member[x_,image[inverse[FUNPART],y_]] := and[member[x,V],member[funpart[x],y]] (* added 2001 April 10 based on HC-IMIN.NB *) member[x_,image[inverse[HC],y_]] := and[member[x,V],member[H[x],y]] (* derived 2004 March 29 based on HULL.NB *) member[x_,image[inverse[HULL[y_]],z_]] := member[hull[y,x],z] (* added 2001 March 11 based on IMIN.NB *) member[x_,image[inverse[IMAGE[z_]],y_]] := and[member[x,V],member[image[z,x],y]] (* derived 2004 December 11 in MEM-IMIN.NB *) member[x_,image[inverse[IMG],y_]] := and[member[first[x],V],member[image[first[x],second[x]],y]] (* added 2003 May 12 based on LAMBHULL.NB *) member[x_,image[inverse[LAMBHULL],y_]] := member[HULL[x],y] (* derived 2004 March 7 in IMINLBUB.NB *) member[x_,image[inverse[LB[y_]],z_]] := and[member[x,V],not[equal[0,intersection[z,lb[y,x]]]]] (* derived 2004 December 11 in MEM-IMIN.NB *) member[x_,image[inverse[MAP],y_]] := and[member[first[x],V],member[map[first[x],second[x]],y]] (* derived 2005 January 31 in X4210.NB *) member[image[inverse[NATADD],set[x_]],FINITE] := True (* derived 2004 December 11 in MEM-IMIN.NB *) member[y_,image[inverse[OOPART],z_]] := and[member[y,V],member[oopart[y],z]] (* revised 2002 April 18 based on REPLACE.NB *) member[x_,image[inverse[PAIRSET],y_]] := and[member[first[x],V],member[set[first[x],second[x]],y]] (* added 2003 August 8 based on REPLACE.NB *) member[x_,image[inverse[PLUS],y_]] := and[member[x,omega],member[plus[x],y]] (* derived 2004 December 11 in MEM-IMIN.NB *) member[x_,image[inverse[plus[y_]],z_]] := member[natadd[x,y],z] (* added 2001 March 11 based on IMIN.NB *) member[x_,image[inverse[POWER],y_]] := member[P[x],y] (* added 2001 August 20 based based on BOTTOM.NB *) member[x_,image[inverse[RANK],y_]] := and[member[x,V],member[rank[x],y]] (* added 2002 February 4 based on RCF-NORM.NB *) member[x_,image[inverse[RCF],y_]] := and[member[x,V],member[RC[x],y]] (* derived 2004 January 23 in P-FINITE.NB *) member[image[inverse[S],x_],FINITE] := and[member[x,FINITE],subclass[x,FINITE]] (* Theorem RP-1-HER in RP1 and RP-8-COR in RP2 *) member[image[inverse[S],x_],V] := member[x,V] (* added 2001 October 10 based IM-IN-SG.NB *) member[x_,image[inverse[SINGLETON],y_]] := and[member[x,V],member[set[x],y]] (* added 2001 March 11 based on IMIN.NB *) member[x_,image[inverse[SUBVAR],y_]] := and[member[x,V],member[subvar[x],y]] (* revised 2002 April 18 based on REPLACE.NB *) member[x_,image[inverse[SUCC],y_]] := member[succ[x],y] (* added 2001 March 11 based on IMIN.NB *) member[x_,image[inverse[TC],y_]] := member[tc[x],y] (* added 2001 March 17 based on H-FULL.NB *) member[image[inverse[TC],x_],V] := member[intersection[FULL,x],V] (* derived 2004 March 7 in IMINLBUB.NB *) member[x_,image[inverse[UB[y_]],z_]] := and[member[x,V],not[equal[0,intersection[z,ub[y,x]]]]] (* added 2001 September 22 based on UCL.NB *) member[x_,image[inverse[UCLOSURE],y_]] := member[Uclosure[x],y] (* added 2001 March 11 based on IMIN.NB *) member[x_,image[inverse[VERTSECT[z_]],y_]] := and[member[x,V],member[image[z,set[x]],y]] (* derived 2004 December 11 in MEM-IMIN.NB *) member[x_,image[inverse[VS],y_]] := and[member[x,V],member[composite[VERTSECT[x],id[domain[x]]],y]] (* derived 2004 December 11 in MEM-IMIN.NB *) member[x_,image[inverse[WFPART],y_]] := and[member[x,V],member[wf[x],y]] (* derived 2004 December 11 in MEM-IMIN.NB *) member[x_,image[inverse[XS],y_]] := and[member[x,V],member[X[x],y]] (* derived 2005 January 17 in REPLACE.NB *) member[image[oopart[x_],y_],V] := member[intersection[y,domain[oopart[x]]],V] (* added 2001 March 17 based on H-FULL.NB *) member[image[PAIRSET,x_],V] := and[member[domain[x],V],member[range[x],V]] (* derived 2005 May 21 in NATSUB.NB *) member[x_,image[plus[y_],z_]] := member[natsub[x,y],z] (* added 2003 June 29 based on POWER.NB *) member[x_,image[POWER,y_]] := and[equal[x,P[U[x]]],member[U[x],y]] member[image[POWER,x_],V] := member[x,V] (* added 2001 December 19 based on SETHOOD3.NB *) member[image[Q,x_],V] := or[equal[0,x],equal[x,set[0]]] (* added 2002 May 14 based on IND-C.NB *) member[x_,image[RC[y_],z_]] := and[member[y,V],member[intersection[y,complement[x]],z],subclass[x,y]] (* derived 2004 January 1 in COFIN-T1.NB *) member[image[RC[x_],FINITE],PointClosed] := True (* derived 2004 January 1 in COFIN-T1.NB *) member[image[RC[x_],FINITE],T1] := True (* derived 2003 December 27 based on COFINITE.TXT *) member[image[RC[x_],FINITE],TOPS] := member[x,FINITE] (* derived 2003 December 30 in T2.NB *) member[image[RC[omega],FINITE],T2] := False (* derived 2004 October 12 in CMPCT-OM.NB *) member[image[RC[omega],omega],COMPACT] := True (* derived 2004 October 12 in CMPCT-OM.NB *) member[image[RC[omega],omega],FINITE] := False (* derived 2004 May 4 in ALLCLOSED.NB *) member[x_,image[S,y_]] := and[member[x,V],not[equal[0,intersection[y,P[x]]]]] member[image[S,x_],y_] := and[equal[0,x],member[0,y]] (* added 2001 December 6 based on MEMBER.NB *) member[y_,image[z_,set[x_]]] := and[member[x,V],member[y,V],member[pair[x,y],z]] (* derived 2004 August 1 in COMMON2.NB *) member[image[x_,set[y_]],range[SINGLETON]] := member[y,domain[funpart[x]]] (* derived 2005 January 21 in SS-U.NB *) member[x_,image[SINGLETON,y_]] := and[member[x,range[SINGLETON]],subclass[x,y]] (* Theorem SG-IM-V in SG2 *) member[image[SINGLETON,x_],V] := member[x,V] member[image[SUCC,x_],V] := member[x,V] (* added 2000 October 31 based on TC-1.NB *) member[image[TC,x_],V] := member[x,V] (* derived 2004 August 1 in SETHOOD.NB *) member[image[UCLOSURE,x_],V] := member[x,V] (* added 2000 September 12 based on NEWRULES.TXT *) member[IMAGE[x_],V] := member[domain[VERTSECT[x]],V] (* Added 1999 February 6 based on session 0-V.LOG *) member[image[V,x_],y_] := and[equal[0,x],member[0,y]] (* added 2001 March 11 based on IMV.NB *) member[x_,image[V,y_]] := and[member[x,V],not[equal[0,y]]] (* derived 2004 August 14 in X4052-57.NB *) member[x_,image[ZN,succ[rank[x_]]]] := member[x,V] (* added 2001 November 18 based on BIN-FNS.NB *) member[x_,IMG] := and[member[first[first[x]],V], equal[image[first[first[x]],second[first[x]]],second[x]]] (* added 2000 October 4 based on PROPER.NB *) member[IMG,x_] := False (* added 2003 August 9 based on INTADDXY.NB *) member[intadd[x_,y_],V] := and[member[x,Z],member[y,Z]] (* added 2003 August 9 based on INTADDXY.NB *) member[intadd[x_,y_],Z] := and[member[x,Z],member[y,Z]] member[u_,intersection[x_,y_]] := and[member[u,x],member[u,y]] (* derived 2004 July 17 in AP-IN-SG.NB *) member[intersection[x_,complement[image[Di,x_]]],V] := True (* derived 2004 December 6 in I-C-IMV.NB *) member[intersection[x_,complement[image[V,y_]]],z_] := or[and[equal[0,y],member[x,z]],and[member[0,z],not[equal[0,y]]]] (* derived 2004 November 18 in XS-IN-AC.NB *) member[intersection[complement[SELECT],P[cart[V,V]]],range[SINGLETON]] := False (* derived 2004 November 18 in XS-IN-AC.NB *) member[intersection[complement[SELECT],P[cart[V,V]]],V] := axch (* derived 2004 October 10 in COMPACT0.NB *) member[intersection[x_,complement[set[0]]],COMPACT] := member[x,COMPACT] (* derived 2004 January 1 in COFIN-T1.NB *) member[intersection[x_,complement[set[0]]],T1] := member[x,T1] (* derived 2004 February 7 in T1-FIN.NB *) member[intersection[x_,complement[set[y_]]],FINITE] := member[x,FINITE] (* derived 2004 June 19 in X14--.NB *) member[intersection[x_,complement[set[y_]]],V] := member[x,V] (* derived 2005 February 10 in X3589.NB *) member[intersection[FULL, P[RUSSELL]], x_] := False (* derived 2004 December 29 in I-FUL-REG.NB *) member[intersection[FULL,REGULAR],x_] := False (* derived 2004 November 17 in INTERVAL.NB *) member[intersection[image[S,set[x_]],P[y_]],V] := or[member[y,V],not[member[x,V]],not[subclass[x,y]]] (* derived 2004 December 6 in FIN-CP.NB *) member[intersection[x_,image[V,y_]],z_] := or[and[equal[0,y],member[0,z]],and[member[x,z],not[equal[0,y]]]] (* derived 2005 April 28 in MAX-MIN.NB *) member[intersection[nat[x_],nat[y_]],omega] := True (* added 2003 June 3 based on ON-SC-4B.NB *) member[intersection[OMEGA,complement[fix[BIGCUP]]],x_] := False (* added 2003 June 4 based on LIMITORD.NB *) member[intersection[OMEGA,fix[BIGCUP]],x_] := False (* derived 2004 February 3 in FIN-RANK.NB *) member[intersection[REGULAR,H[FINITE]],V] := True (* derived 2004 June 27 in X1704-09.NB *) member[intersection[RUSSELL,x_],x_] := False (* derived 2005 January 7 in UP-K.NB *) member[intersection[x_,set[y_]],range[SINGLETON]] := member[y,x] member[x_,invar[y_]] := and[member[x,V],subclass[image[y,x],x]] (* added 2002 April 10 *) member[x_,INVAR] := and[member[first[x],V],subclass[image[first[x],second[x]],second[x]]] (* added 2003 June 4 based on SETHOOD.NB *) member[INVAR,x_] := False (* derived 2004 December 26 in SETPART.NB *) member[invar[funpart[x_]],y_] := False (* derived 2004 August 1 in SETHOOD.NB *) member[invar[thinpart[x_]],y_] := False (* added 2001 November 18 based on CO-IDX.NB *) member[x_,INVERSE] := and[equal[inverse[first[x]],second[x]], member[first[x],V],subclass[first[x],cart[V,V]]] (* removed 2003 June 23 based on INVERSE.NB member[x_,inverse[y_]] := and[member[first[x],V],member[pair[second[x],first[x]],y]] *) (* added 2000 October 4 based on PROPER.NB *) member[INVERSE,x_] := False member[inverse[x_],V] := and[member[domain[x],V],member[range[x],V]] (* added 2003 August 8 based on REPLACE.NB *) member[inverse[plus[x_]],Z] := member[x,omega] (* derived 2005 January 1 in ITER-FUN.NB *) member[iterate[inverse[E],x_],V] := member[x,V] (* derived 2005 January 1 in ITER-FUN.NB *) member[iterate[inverse[S],x_],V] := member[x,V] (* added 2002 September 11 based on ITERATE.NB *) member[iterate[SUCC,set[x_]],V] := True (* derived 2004 August 1 in THINNESS.NB *) member[iterate[thinpart[x_],y_],V] := member[y,V] (* added 2000 October 4 based on PROPER.NB *) member[K,x_] := False (* added 2002 January 11 based on KURA.NB *) member[x_,KURA] := and[member[first[first[x]],V], equal[set[set[first[first[x]],second[first[x]]], set[first[first[x]]]],second[x]]] (* added 2003 June 4 based on SETHOOD.NB *) member[KURA,x_] := False (* added 2003 May 10 based on LAMBHULL.NB *) member[x_,LAMBHULL] := and[member[first[x],V],equal[second[x],HULL[first[x]]]] (* added 2003 June 4 based on SETHOOD.NB *) member[LAMBHULL,x_] := False (* added 2001 June 29 based on MEMBER.NB *) member[LB[x_],y_] := False (* added 2004 February 17 *) member[x_,lb[y_,z_]] := and[member[x,V],subclass[z,image[y,set[x]]]] (* added 1999 Novermber 9 based on SESSION1.NB *) member[LEFT[x_],V] := not[member[x,V]] (* added 2003 May 14 based on LIST-DEF.NB *) member[x_,LISTS] := and[FUNCTION[x],member[domain[x],omega]] (* added 2003 June 4 based on SETHOOD.NB *) member[LISTS,x_] := False (* added 2001 November 18 based on BIN-FNS.NB *) member[x_,MAP] := and[member[first[first[x]],V], equal[map[first[first[x]],second[first[x]]],second[x]]] (* added 2001 June 29 based on MEMBER.NB *) member[MAP,x_] := False (* derived 2004 November 25 in MAP-DUP.NB *) member[map[x_,x_],image[MAP,Id]] := member[x,V] (* added 2001 April 27 based on MAP3.NB *) member[map[x_,y_],V] := or[equal[0,x],member[y,V],not[member[x,V]]] (* added 2001 June 29 based on MEMBER.NB *) member[MAXIMAL[x_],y_] := False (* added 2001 June 29 based on MEMBER.NB *) member[MINIMAL[x_],y_] := False (* derived 2005 February 13 in NAT.NB *) member[nat[x_],nat[x_]] := False (* derived 2005 June 17 in DF.NB *) member[nat[x_],natadd[nat[x_],nat[y_]]] := not[equal[0,nat[y]]] (* derived 2005 June 17 in DF.NB *) member[nat[natsub[nat[x_],nat[y_]]],nat[z_]] := or[and[member[nat[x],nat[y]],not[equal[0,nat[z]]]], and[member[nat[x],natadd[nat[y],nat[z]]],not[member[nat[x],nat[y]]]]] (* derived 2005 February 13 in NAT.NB *) member[nat[x_],omega] := True (* derived 2005 February 17 in NAT-ACL.NB *) member[nat[x_],OMEGA] := True (* derived 2005 February 13 in NAT.NB *) member[nat[x_],REGULAR] := True (* derived 2005 February 13 in NAT.NB *) member[nat[x_],U[nat[x_]]] := False (* derived 2005 February 13 in NAT.NB *) member[nat[x_],V] := True (* added 2002 June 24 based on MEMBER.NB *) member[x_,NATADD] := and[member[pair[first[first[x]],second[x]], iterate[SUCC,set[second[first[x]]]]],member[second[x],omega]] (* added 2002 October 14 based on WEAKINEQ.NB *) member[natadd[x_,y_],x_] := False (* derived 2005 June 1 in O18-O20.NB *) member[natadd[x_,z_],natadd[y_,z_]] := or[and[member[x,omega],member[z,omega],not[member[y,omega]]], and[member[x,y],member[y,omega],member[z,omega]]] (* added 2002 July 28 based on ADD-NAT.NB *) member[natadd[x_,y_],omega] := and[member[x,omega],member[y,omega]] (* added 2002 July 28 based on ADD-NAT.NB *) member[natadd[x_,y_],V] := and[member[x,omega],member[y,omega]] (* added 2002 June 15 based on OM-NAT.NB *) member[NATADD,V] := True (* derived 2005 May 27 in MOD-SU-1.NB *) member[x_,natmod[x_,y_]] := or[and[member[x,V],not[member[x,omega]]],and[member[x,V],not[member[y,omega]]]] (* derived 2005 May 25 in MOD-CHAR.NB *) member[natmod[x_,y_],y_] := and[member[x,omega],member[y,omega],not[equal[0,y]]] (* derived 2005 May 17 based on NATMOD.NB *) member[natmod[x_,y_],omega] := and[member[x,omega],member[y,omega]] (* derived 2005 May 17 based on NATMOD.NB *) member[natmod[x_,y_],V] := and[member[x,omega],member[y,omega]] (* added 2002 August 21 based on NATMUL.NB *) member[natmul[x_,y_],omega] := and[member[x,omega],member[y,omega]] (* added 2002 August 24 based on SETHOOD.NB *) member[NATMUL,V] := True (* added 2002 October 14 based on WORK-O16.NB *) member[natmul[x_,y_],x_] := and[equal[0,y],member[x,omega],not[equal[0,x]]] (* added 2002 August 21 based on NATMUL.NB *) member[natmul[x_,y_],V] := and[member[x,omega],member[y,omega]] (* derived 2005 June 7 in O14COR.NB *) member[x_,natsub[x_,y_]] := or[and[member[x,V],not[member[x,omega]]],and[member[x,V],not[member[y,omega]]],member[x,y]] (* derived 2005 May 25 in NATSUB.NB *) member[natsub[x_,y_],x_] := and[member[x,omega],member[y,omega],not[equal[0,y]],not[member[x,y]]] (* added 2002 September 18 based on SET-SUB.NB *) member[natsub[x_,y_],omega] := and[member[x,omega],member[y,omega],subclass[y,x]] (* added 2002 September 18 based on SET-SUB.NB *) member[natsub[x_,y_],V] := and[member[x,omega],member[y,omega],subclass[y,x]] (* derived 2004 October 12 in CMPCT-OM.NB *) member[omega,COMPACT] := False (* Theorem DK-C-OM in DEDEKIND proved 2000 June 12 *) member[omega,DEDEKIND] := False (* Theorem FIN-C-OM in FINITE proved 2000 March 14 *) member[omega,FINITE] := False (* derived 2004 October 12 in CMPCT-OM.NB *) member[omega,image[COARSER,FINITE]] := False (* added 2003 January 30 based on OMEGA.NB *) (* Theorem IND-OM-S in IND2 proved 2000 March 12 *) member[omega,image[inverse[S],omega]] := False (* derived 2005 February 20 in CARD-TWO.NB *) member[omega,image[PAIRSET,Di]] := False (* added 2002 May 29 based on ALEPH0.NB *) member[omega,image[Q,OMEGA]] := True (* added 1999 November 11 based on a session in 1999/NOV/10/WORK *) member[omega,omega] := False (* added 2001 August 23 based on OMEGA.NB *) member[omega,OMEGA] := True (* derived 2003 December 30 in T2.NB *) member[omega,range[SINGLETON]] := False (* added 2002 May 26 based on EXAMPLE.NB *) member[omega,range[SUCC]] := False (* added 2001 December 2 based on RANK-2.NB *) member[omega,REGULAR] := True (* derived 2003 December 25 in TOPSDEFN.NB *) member[omega,TOPS] := False member[omega,V] := True (* added 98/02/07 Theorem ON-BF-2 in ON4 *) member[OMEGA,x_] := False (* introduced 2004 May 9 in OOPART.NB *) member[x_,OOPART] := and[equal[oopart[first[x]],second[x]],member[first[x],V]] (* derived 2004 May 9 in OOPART.NB *) member[oopart[setpart[x_]],V] := True member[x_,P[y_]] := and[member[x,V],subclass[x,y]] (* derived 2004 February 7 in COMPACT.NB *) member[P[x_],COMPACT] := member[x,FINITE] (* derived 2005 February 6 in DESCEND.NB *) member[P[x_],DESCENDING] := False (* Theorems FIN-PC1 and FIN-PC3 in FINITE proved 2000 April 3 *) member[P[x_],FINITE] := member[x,FINITE] (* derived 2005 January 9 in PC-CARD2.NB *) member[P[x_],image[PAIRSET,Di]] := member[x,range[SINGLETON]] (* added 2002 May 13 based on OM-PC.NB *) member[P[x_],omega] := or[equal[0,x],equal[x,set[0]]] (* derived 2003 December 28 in PTCLOSED.NB *) member[P[x_],PointClosed] := member[x,V] (* derived 2005 January 9 in PC-CARD2.NB *) member[P[x_],range[PAIRSET]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 January 2 in CUT-EQNS.NB *) member[P[x_],range[SINGLETON]] := equal[0,x] (* Theorems REG-6 and REG-14 in REG2 *) member[P[x_],REGULAR] := member[x,REGULAR] (* derived 2005 January 15 in HILBERT.NB *) member[P[x_],RUSSELL] := member[x,V] (* derived 2004 June 27 in X1704-09.NB *) member[P[RUSSELL],x_] := False (* derived 2003 December 27 in T1.NB *) member[P[x_],T1] := member[x,V] (* derived 2003 December 30 in T2.NB *) member[P[x_],T2] := member[x,V] (* derived 2003 December 25 in TOPSDEFN.NB *) member[P[x_],TOPS] := member[x,V] (* added 98/02/27 *) member[P[x_],V] := member[x,V] (* power set axiom *) (* added 2002 January 1 based on PAIR-MEM.NB *) member[z_,PAIR[x_,y_]] := or[and[member[z,V],not[member[x,V]]], and[member[z,V],not[member[y,V]]],member[z,pair[x,y]]] (* replaced 2002 January 1 based on REPLACE.NB *) member[PAIR[x_,y_],z_] := and[member[x,V],member[y,V],member[pair[x,y],z]] (* derived 2005 April 16 in FACTRL.NB *) member[pair[0,0],FACTORIAL] := False (* derived 2004 July 26 in DORAFUNS.NB *) member[pair[0,0],image[DORA,FUNS]] := True (* derived 2005 May 17 in IMIN-ADD.NB *) member[pair[x_,0],composite[image[inverse[NATADD],set[y_]],z_]] := and[member[x,V],member[y,omega],member[pair[x,y],z]] (* derived 2005 January 27 in DIV.NB *) member[pair[0,x_],DIV] := equal[0,x] (* derived 2005 January 27 in DIV.NB *) member[pair[x_,0],DIV] := member[x,omega] (* derived 2005 February 5 in X3307.NB *) member[pair[0,x_],Q] := equal[0,x] (* derived 2005 February 5 in X3307.NB *) member[pair[x_,0],Q] := equal[0,x] (* revised 2001 November 15 *) member[pair[x_,y_],ACLOSURE] := and[equal[Aclosure[x],y],member[y,V]] (* revised 2001 November 15 *) member[pair[x_,y_],ADJOIN[z_]] := and[member[x,V],member[y,V],equal[union[x,z],y]] (* revised 2001 November 15 *) member[pair[x_,y_],BIGCAP] := and[member[x,V],member[y,V],equal[A[x],y]] (* revised 2001 November 15 *) member[pair[x_,y_],BIGCUP] := and[member[x,V],member[y,V],equal[U[x],y]] (* added 2001 November 16 *) member[pair[x_,y_],CAP] := and[equal[intersection[first[x],second[x]],y],member[first[x],V]] (* added 2001 December 2 based on CARD-FUN.NB *) member[pair[x_,y_],CARD] := and[equal[card[x],y],member[y,V]] (* derived 2005 January 7 in CARD-Q.NB *) member[pair[x_,card[x_]],Q] := member[x,image[Q,OMEGA]] (* added 2003 October 16 based on MEMBCART.NB *) member[pair[u_,v_],cart[x_,y_]] := and[member[u,x],member[v,y]] (* added 2001 April 29 based on CLIQUES2.NB *) member[pair[x_,y_],CLIQUES] := and[equal[cliques[x],y],member[x,V],member[y,V]] (* added 2003 July 4 based on COARSER.NB *) member[pair[x_,y_],COARSER] := and[member[y,V],subclass[x,y],equal[U[x],U[y]]] (* added 2001 May 18 based on COMMUTE3.NB *) member[pair[x_,y_],COMMUTE] := and[member[x,V],member[y,V], equal[composite[x,y],composite[y,x]]] (* added 2002 January 23 based on HULL-ACL.TXT *) member[pair[x_,y_],composite[z_,ACLOSURE]] := and[member[x,V],member[y,V],member[pair[Aclosure[x],y],z]] (* added 2002 May 7 based on FIX-HULL.NB *) member[pair[x_,y_],composite[w_,ADJOIN[z_]]] := and[member[x,V],member[y,V],member[z,V],member[pair[union[x,z],y],w]] (* added 2002 May 6 based on A-IMS.NB *) member[pair[x_,y_],composite[z_,BIGCAP]]:= and[member[x,V],member[y,V],member[pair[A[x],y],z],not[equal[0,x]]] (* added 2002 January 13 based on RA-POW.NB *) member[pair[x_,y_],composite[z_,BIGCUP]] := and[member[x,V],member[y,V],member[pair[U[x],y],z]] (* added 2001 December 10 based on CARD-ALL.NB *) member[pair[x_,y_],composite[z_,CARD]] := and[member[x,image[Q,OMEGA]],member[y,V],member[pair[card[x],y],z]] (* added 2002 May 2 based on CLIQUES.NB *) member[pair[x_,y_],composite[z_,CLIQUES]] := and[member[x,V],member[y,V],member[pair[cliques[x],y],z]] (* added 2002 October 19 based on E-RULES.NB *) member[pair[x_,y_],composite[complement[E],z_]] := and[member[y,V],not[subclass[image[z,set[x]],y]]] (* added 2003 October 28 based on APPLY.NB *) member[pair[x_,y_],composite[complement[inverse[E]],z_]] := and[member[x,image[inverse[z],P[complement[set[y]]]]],member[y,V]] (* added 2002 October 19 based on E-RULES.NB *) member[pair[x_,y_],composite[z_,complement[inverse[E]]]] := and[member[x,V],not[subclass[image[inverse[z],set[y]],x]]] (* derived 2004 March 30 in CO-ES-ID.NB *) member[pair[x_,y_],composite[complement[S],IMAGE[z_]]] := and[member[x,V],member[y,V],member[image[z,x],V],not[subclass[image[z,x],y]]] (* derived 2004 April 18 in REPLACE.NB *) member[pair[x_,y_],composite[z_,CORE[w_]]] := and[member[x,V],member[y,V],member[pair[core[w,x],y],z]] (* derived 2004 October 30 in MEMB-CO.NB *) member[pair[u_,v_],composite[x_,cross[y_,z_]]] := and[member[u,composite[inverse[z],image[inverse[x],set[v]],y]],member[first[u],V]] (* derived 2004 May 15 in VARIOUS.NB *) member[pair[x_,y_],composite[Di,z_]] := and[member[y,V],not[subclass[image[z,set[x]],set[y]]]] (* derived 2004 May 15 in VARIOUS.NB *) member[pair[x_,y_],composite[z_,Di]] := and[member[x,V],not[subclass[image[inverse[z],set[y]],set[x]]]] (* added 2002 May 6 based on FIX-HULL.NB *) member[pair[x_,y_],composite[z_,DUP]] := and[member[x,V],member[y,V],member[pair[pair[x,x],y],z]] (* added 2001 May 24 based on IM-C.NB *) member[pair[x_,y_],composite[E,z_]] := and[member[x,image[inverse[z],y]],member[y,V]] (* added 2002 October 19 based on E-RULES.NB *) member[pair[x_,y_],composite[z_,E]] := member[x,U[image[inverse[z],set[y]]]] (* derived 2005 May 21 in NATSUB.NB *) member[pair[x_,y_],composite[FIRST,id[cart[V,z_]],inverse[NATADD]]] := member[natsub[x,y],z] (* added 2002 May 18 based on FUNPART.NB *) member[pair[x_,y_],composite[z_,FUNPART]] := and[member[x,V],member[y,V],member[pair[funpart[x],y],z]] (* added 2001 December 6 based on MEMBER.NB *) member[pair[x_,y_],composite[Id,z_]] := and[member[x,V],member[y,V],member[pair[x,y],z]] (* added 2001 December 6 based on MEMBER.NB *) member[pair[u_,v_],composite[w_,id[x_]]] := and[member[u,x],member[v,V],member[pair[u,v],w]] (* added 2001 December 6 based on MEMBER.NB *) member[pair[u_,v_],composite[id[y_],w_]] := and[member[u,V],member[v,y],member[pair[u,v],w]] (* added 2002 June 1 based on RCF.NB *) member[pair[x_,y_],composite[z_,IMAGE[id[w_]]]] := and[member[x,V],member[y,V],member[pair[intersection[w,x],y],z]] (* added 2002 January 15 based on EQV-2.NB *) member[pair[x_,y_],composite[z_,id[IMAGE[SWAP]],inverse[FIRST]]] := and[member[x,V],member[y,V],member[pair[pair[x,inverse[x]],y],z]] (* added 2002 May 10 based on RESTRICT.NB *) member[pair[x_,y_],composite[z_,IMAGE[FIRST]]] := and[member[x,V],member[y,V],member[pair[domain[x],y],z]] (* derived 2005 May 22 in SUB-DIV.NB *) member[pair[y_,z_],composite[image[inverse[NATADD],set[x_]],DIV]] := member[pair[y,natsub[x,z]],DIV] (* derived 2004 July 26 in DORAFUNS.NB *) member[pair[x_,y_],composite[z_,IMAGE[SECOND]]] := and[member[x,V],member[y,V],member[pair[range[x],y],z]] (* added 2002 May 24 based on ADJOIN.NB *) member[pair[x_,y_],composite[z_,IMAGE[SUCC]]] := and[member[x,V],member[y,V],member[pair[image[SUCC,x],y],z]] (* derived 2005 February 5 in X3249.NB *) member[pair[x_,y_],composite[z_,IMAGE[SWAP]]] := and[member[x,V],member[y,V],member[pair[inverse[x],y],z]] (* derived 2004 December 24 in X2997.NB *) member[pair[u_,v_],composite[x_,intersection[composite[inverse[FIRST],y_],composite[inverse[SECOND],z_]]]] := member[u,image[inverse[z],image[image[inverse[x],set[v]],image[y,set[u]]]]] (* added 2003 January 25 based on INVAR.NB *) member[pair[x_,y_],composite[z_,INVAR]] := and[member[x,V],member[y,image[z,invar[x]]]] (* added 2002 January 15 based on EQV-1.NB *) member[pair[x_,y_],composite[z_,INVERSE]] := and[member[x,V],member[y,V], member[pair[inverse[x],y],z],subclass[x,cart[V,V]]] (* added 2003 July 25 based on CLIQEQDF.NB *) member[pair[x_,y_],composite[INVERSE,z_]] := and[member[x,V],member[y,V], member[pair[x,inverse[y]],z],subclass[y,cart[V,V]]] (* derived 2004 June 12 in X997.NB *) member[pair[x_,x_],composite[inverse[y_],y_]] := member[x,domain[y]] (* derived 2004 June 12 in X997.NB *) member[pair[x_,x_],composite[y_,inverse[y_]]] := member[x,range[y]] (* derived 2004 July 22 in X21--.NB *) member[pair[x_,y_],composite[inverse[BIGCAP],z_]] := and[member[x,V],member[y,V],member[pair[x,A[y]],z],not[equal[0,y]]] (* derived 2004 June 5 in THPT-TRV.NB *) member[pair[u_,v_],composite[inverse[x_],complement[x_]]] := and[member[u,V],not[subclass[image[x,set[v]],image[x,set[u]]]]] (* added 2003 May 18 based on SQRTUNIQ.NB *) member[pair[x_,y_],composite[inverse[DUP],z_]] := and[member[x,V],member[y,V],member[pair[x,pair[y,y]],z]] (* added 2001 October 12 based on CO-FU-3.NB *) member[pair[x_,y_],composite[z_,inverse[E]]] := and[member[x,V],member[y,image[z,x]]] (* added 2002 October 19 based on E-RULES.NB *) member[pair[x_,y_],composite[inverse[E],z_]] := member[y,U[image[z,set[x]]]] (* added 2002 May 12 based on OM-SC-2B.NB *) member[pair[x_,y_],composite[inverse[E],IMAGE[inverse[BIGCUP]]]] := and[member[x,V],member[U[y],x]] (* derived 2004 July 26 in DORAFUNS.NB *) member[pair[u_,v_],composite[inverse[IMAGE[FIRST]],z_]] := and[member[u,V],member[v,V],member[pair[u,domain[v]],z]] (* derived 2005 January 6 in DJ-U-Q.NB *) member[pair[x_,y_],composite[inverse[IMAGE[SECOND]],z_]] := and[member[x,V],member[y,V],member[pair[x,range[y]],z]] (* added 2003 August 8 based on REPLACE.NB *) member[pair[x_,y_],composite[inverse[PLUS],z_]] := and[member[x,V],member[y,omega],member[pair[x,plus[y]],z]] (* added 2003 August 8 based on CLIQEQDF.NB *) member[pair[x_,y_],composite[inverse[plus[x_]],plus[y_]]] := and[member[x,omega],member[y,omega]] (* derived 2004 April 7 in PCDORA-Q.NB *) member[pair[x_,y_],composite[inverse[POWER],z_]] := and[member[x,V],member[y,V],member[pair[x,P[y]],z]] (* derived 2004 August 19 in X2901-93.NB *) member[pair[x_,y_],composite[inverse[S],IMAGE[z_]]] := and[member[x,V],member[image[z,x],V],subclass[y,image[z,x]]] (* added 2002 January 17 based on ANTISYM1.NB *) member[pair[x_,y_],composite[inverse[SINGLETON],z_]] := and[member[x,V],member[y,V],member[pair[x,set[y]],z]] (* added 2002 May 24 based on ADJOIN.NB *) member[pair[x_,y_],composite[inverse[SUCC],z_]] := and[member[x,V],member[y,V],member[pair[x,succ[y]],z]] (* derived 2005 February 4 in X3943.NB *) member[pair[x_,y_],composite[inverse[TC],z_]] := and[member[x,V],member[y,V],member[pair[x,tc[y]],z]] (* derived 2004 July 15 in X1698.NB *) member[pair[u_,v_],composite[inverse[VERTSECT[x_]],y_]] := and[member[u,V],member[v,V],member[image[x,set[v]],V],member[pair[u,image[x,set[v]]],y]] (* added 2002 June 25 based on LEFTMEMB.NB *) member[pair[u_,v_],composite[w_,LEFT[x_]]] := and[member[u,V],member[v,V],member[x,V],member[pair[pair[x,u],v],w]] (* derived 2005 May 21 in NATSUB.NB *) member[pair[x_,y_],composite[NATADD,id[cart[V,z_]],inverse[FIRST]]] := member[natsub[y,x],z] (* added 2003 August 8 based on REPLACE.NB *) member[pair[x_,y_],composite[z_,PLUS]] := and[member[x,omega],member[y,V],member[pair[plus[x],y],z]] (* added 2003 August 8 based on CLIQEQDF.NB *) member[pair[x_,y_],composite[plus[y_],inverse[plus[x_]]]] := and[member[x,omega],member[y,omega]] (* added 2002 May 10 based on U-A.NB *) member[pair[x_,y_],composite[z_,POWER]] := and[member[x,V],member[y,V],member[pair[P[x],y],z]] (* added 2002 June 1 based on RCF.NB *) member[pair[x_,y_],composite[z_,RC[w_]]] := and[member[w,V],member[y,V], member[pair[intersection[w,complement[x]],y],z],subclass[x,w]] (* added 2002 June 24 based on MEMBER.NB *) member[pair[u_,v_],composite[w_,RIGHT[x_]]] := and[member[u,V],member[v,V],member[x,V],member[pair[pair[u,x],v],w]] (* added 2002 January 17 based on ANTISYM1.NB *) member[pair[x_,y_],composite[z_,SINGLETON]] := and[member[x,V],member[y,V],member[pair[set[x],y],z]] (* added 2002 April 26 based on FULSUC-A.NB *) member[pair[x_,y_],composite[z_,SUCC]] := and[member[x,V],member[y,V],member[pair[succ[x],y],z]] (* added 2002 November 3 based on FLIP.NB *) member[pair[x_,y_],composite[z_,SWAP]] := and[member[y,V],member[first[x],V], member[pair[pair[second[x],first[x]],y],z]] (* added 2002 November 3 based on FLIP.NB *) member[pair[x_,y_],composite[SWAP,z_]] := and[member[x,V],member[first[y],V], member[pair[x,pair[second[y],first[y]]],z]] (* added 2002 October 15 based on MEMBER.NB *) member[pair[u_,v_],composite[w_,VERTSECT[x_]]] := and[member[u,V],member[v,V],member[image[x,set[u]],V], member[pair[image[x,set[u]],v],w]] (* derived 2004 April 17 in REPLACE.NB *) member[pair[x_,y_],CORE[z_]] := and[equal[y,core[z,x]],member[x,V],member[y,V]] (* added 2002 June 22 based on X-RO-ASS.NB *) member[pair[u_,v_],cross[x_,y_]] := and[member[first[u],V],member[first[v],V], member[pair[first[u],first[v]],x],member[pair[second[u],second[v]],y]] (* added 2001 November 17 based on CUP.NB *) member[pair[x_,y_],CUP] := and[equal[union[first[x],second[x]],y],member[first[x],V]] (* added 2001 November 14 based on DI.NB *) member[pair[x_,y_],Di] := and[member[x,V],member[y,V],not[equal[x,y]]] (* New rule added 1998 December 24 *) member[pair[u_,v_],DISJOINT] := and[member[u,V],member[v,V],disjoint[u,v]] (* derived 2005 January 29 in DIV.NB *) member[pair[x_,x_],DIV] := member[x,omega] (* derived 2005 January 18 in OO-Q.NB *) member[pair[domain[funpart[setpart[x_]]],funpart[setpart[x_]]],Q] := True (* derived 2004 December 11 in OO-Q.NB *) member[pair[domain[oopart[x_]],range[oopart[x_]]],Q] := member[domain[oopart[x]],V] (* derived 2005 January 18 in OO-Q.NB *) or[member[pair[domain[x_],x_],Q],not[FUNCTION[x_]],not[member[x_,y_]]] := True (* added 2004 July 14 based on X2530-41.NB *) member[pair[x_,y_],DUP] := and[equal[y,pair[x,x]],member[x,V]] (* Axiom AX-E-2 in AX-B and Theorems E-V1 and E-V2 in E1 *) member[pair[u_,v_],E] := and[member[u,v],member[v,V]] (* added 2002 November 3 based on EQUIDIFF.NB *) member[pair[x_,y_],EQUIDIFF] := and[equal[natadd[first[x],second[y]],natadd[first[y],second[x]]], member[first[x],omega],member[first[y],omega], member[second[x],omega],member[second[y],omega]] (* derived 2004 May 12 in EQUIV.NB *) member[pair[x_,y_],EQUIV] := and[equal[y,eqv[x]],member[x,V],member[y,V]] (* added 2001 November 14 based on MEM-CART.NB *) member[pair[x_,y_],FIRST] := and[equal[first[x],y],member[y,V]] (* derived 2004 October 30 in MEMB-CO.NB *) member[pair[first[w_],second[w_]],composite[x_,y_]] := member[w,composite[x,y]] (* added 2000 September 8 based on FUNPART.NB *) member[pair[x_,y_],FUNPART] := and[member[x,V],member[y,V],equal[funpart[x],y]] member[pair[x_,y_],funpart[z_]] := and[member[x,V],member[y,V],equal[image[z,set[x]],set[y]]] (* derived 2004 December 15 in LB-UB-RS.NB *) member[pair[x_,y_],GLB[z_]] := and[member[x,V],member[y,V], subclass[x,image[z,set[y]]],subclass[lb[z,x],image[inverse[z],set[y]]]] (* added 2000 November 21 based on MEMBER.NB *) member[pair[x_,y_],GREATEST[z_]] := and[member[x,V],member[y,x],subclass[x,image[inverse[z],set[y]]]] (* derived 2004 March 29 based on HULL.NB *) member[pair[x_,y_],HULL[z_]] := and[equal[y,hull[z,x]],member[x,V],member[y,V]] (* Theorems ID-1,ID-2 and ID-3 in ID1 *) member[pair[u_,v_],Id] := and[member[u,V],equal[u,v]] (* Theorems IDX-OP-1,IDX-EQ and IDX-6 in IDX1 *) member[pair[u_,v_],id[x_]] := and[member[u,x],equal[u,v]] (* revised 2001 November 15 *) member[pair[x_,y_],IMAGE[z_]] := and[member[x,V],member[y,V],equal[image[z,x],y]] (* added 2001 March 11 based on IMIN.NB *) member[pair[x_,y_],image[inverse[CAP],z_]] := and[member[x,V],member[y,V],member[intersection[x,y],z]] (* added 2001 March 11 based on IMIN.NB *) member[pair[x_,y_],image[inverse[CART],z_]] := and[member[x,V],member[y,V],member[cart[x,y],z]] (* added 2001 March 11 based on IMIN.NB *) member[pair[x_,y_],image[inverse[COMPOSE],z_]] := and[member[x,V],member[y,V],member[composite[x,y],z]] (* added 2001 March 11 based on IMIN.NB *) member[pair[x_,y_],image[inverse[CROSS],z_]] := and[member[x,V],member[y,V],member[cross[x,y],z]] (* added 2001 March 11 based on IMIN.NB *) member[pair[x_,y_],image[inverse[CUP],z_]] := member[union[x,y],z] (* added 2001 March 11 based on IMIN.NB *) member[pair[x_,y_],image[inverse[DIF],z_]] := and[member[x,V],member[y,V],member[intersection[x,complement[y]],z]] (* added 2001 March 11 based on IMIN.NB *) member[pair[x_,y_],image[inverse[IMG],z_]] := and[member[x,V],member[y,V],member[image[x,y],z]] (* derived 2005 January 17 based on KURADEFN.NB *) member[pair[x_,y_],image[inverse[KURA],z_]] := and[member[x,V],member[y,V],member[set[set[x],set[x,y]],z]] (* added 2001 September 4 based on BIN-IMIN.NB *) member[pair[x_,y_],image[inverse[MAP],z_]] := and[member[x,V],member[y,V],member[map[x,y],z]] (* added 2002 July 30 based on IMIN-ADD.NB *) member[pair[x_,y_],image[inverse[NATADD],z_]] := member[natadd[x,y],z] (* added 2002 August 21 based on NATMUL.NB *) member[pair[x_,y_],image[inverse[NATMUL],z_]] := member[natmul[x,y],z] (* revised 2002 April 18 based on REPLACE.NB *) member[pair[x_,y_],image[inverse[PAIRSET],z_]] := and[member[x,V],member[y,V],member[set[x,y],z]] (* added 2001 September 4 based on BIN-IMIN.NB *) member[pair[x_,y_],image[inverse[SYMDIF],z_]] := and[member[x,V],member[y,V], member[union[intersection[x,complement[y]],intersection[y,complement[x]]],z]] (* derived 2005 January 7 in UP-K.NB *) member[pair[intersection[x_,complement[set[y_]]],x_],K] := and[member[x,V],member[y,x]] (* revised 2001 November 15 *) member[pair[u_,v_],INVERSE] := and[member[u,V],member[v,V],subclass[u,cart[V,V]],equal[inverse[u],v]] (* added 2001 December 6 based on MEMBER.NB *) member[pair[x_,y_],inverse[z_]] := and[member[x,V],member[y,V],member[pair[y,x],z]] (* derived 2005 January 9 *) member[pair[x_,x_],K] := False (* added 2003 October 21 based on LAMHUL-2.NB *) member[pair[x_,y_],LAMBHULL] := and[equal[y,HULL[x]],member[x,V]] (* added 2000 November 21 based on MEMBER.NB *) member[pair[x_,y_],LB[z_]] := and[member[x,V],member[y,V],subclass[x,image[z,set[y]]]] (* added 2000 November 21 based on MEMBER.NB *) member[pair[x_,y_],LEAST[z_]] := and[member[x,V],member[y,x], subclass[x,image[z,set[y]]]] (* added 2001 November 14 based on MEM-CART.NB *) member[pair[x_,y_],LEFT[z_]] := and[equal[first[y],z],equal[second[y],x],member[x,V]] (* revised 2001 November 15 *) member[pair[x_,y_],LeftPairV] := and[member[x,V],equal[pair[V,x],y]] (* derived 2004 December 15 in LB-UB-RS.NB *) member[pair[x_,y_],LUB[z_]] := and[member[x,V],member[y,V], subclass[x,image[inverse[z],set[y]]],subclass[ub[z,x],image[z,set[y]]]] (* derived 2005 April 21 in FACT-DIV.NB *) member[pair[nat[x_],APPLY[FACTORIAL,nat[x_]]],FACTORIAL] := True (* derived 2005 May 22 in DIV-ADD.NB *) member[pair[x_,natadd[x_,y_]],DIV] := member[pair[x,y],DIV] (* derived 2005 March 26 in DIV-MUL.NB *) member[pair[x_,natmul[x_,y_]],DIV] := and[member[x,omega],member[y,omega]] (* derived 2005 June 24 in MOD-CALC.NB *) member[pair[y_,natsub[x_,y_]],DIV] := and[member[pair[y,x],DIV],subclass[y,x]] (* derived 2005 May 25 in MOD-A.NB *) member[pair[y_,natsub[x_,natmod[x_,y_]]],DIV] := and[member[x,omega],member[y,omega]] (* added 2003 February 4 based on PLUS-Q.NB *) member[pair[omega,intersection[omega,complement[set[0]]]],Q] := True (* derived 2004 February 3 in FIN-RANK.NB *) member[pair[omega,intersection[REGULAR,H[FINITE]]],ZN] := True (* derived 2005 January 7 in CARD-OM.NB *) member[pair[omega,succ[omega]],Q] := True (* revised 2001 November 15 *) member[pair[pair[x_,y_],z_],CAP] := and[member[x,V],member[y,V],member[z,V], equal[intersection[x,y],z]] (* revised 2001 November 15 *) member[pair[pair[x_,y_],z_],CART] := and[member[x,V],member[y,V],member[z,V], equal[cart[x,y],z]] (* revised 2002 May 6 based on FIX-HULL.NB *) member[pair[pair[x_,y_],z_],COMPOSE] := and[equal[z,composite[x,y]],member[x,V],member[y,V]] (* derived 2004 June 25 in X2750.NB *) member[pair[pair[u_,v_],w_],composite[x_,CAP]] := and[member[u,V],member[v,V],member[w,V],member[pair[intersection[u,v],w],x]] (* derived 2004 October 29 in A8-SIMP.NB *) member[pair[pair[x_,z_],w_],composite[CAP,cross[BIGCUP,Id]]] := and[equal[w,intersection[z,U[x]]],member[x,V],member[z,V]] (* added 2001 December 26 based on CART.NB *) member[pair[pair[u_,v_],w_],composite[x_,CART]] := and[member[u,V],member[v,V],member[w,V],member[pair[cart[u,v],w],x]] (* derived 2004 June 25 in X2750.NB *) member[pair[pair[u_,v_],w_],composite[x_,CUP]] := and[member[u,V],member[v,V],member[w,V],member[pair[union[u,v],w],x]] (* derived 2004 June 25 in X2750.NB *) member[pair[pair[u_,v_],w_],composite[x_,DIF]] := and[member[u,V],member[v,V],member[w,V],member[pair[intersection[u,complement[v]],w],x]] (* added 2001 December 26 based on CART.NB *) member[pair[u_,pair[v_,w_]],composite[inverse[CART],x_]] := and[member[u,V],member[v,V],member[w,V],member[pair[u,cart[v,w]],x]] (* derived 2005 January 27 in DK-SU.NB *) member[pair[w_,pair[x_,y_]],composite[inverse[CUP],z_]] := and[member[w,V],member[x,V],member[y,V],member[pair[w,union[x,y]],z]] (* derived 2004 June 25 in X2750.NB *) member[pair[pair[u_,v_],w_],composite[x_,inverse[DUP]]] := and[equal[u,v],member[u,V],member[w,V],member[pair[u,w],x]] (* added 2001 December 22 based on DORA-1.NB *) member[pair[z_,pair[x_,y_]],composite[inverse[FIRST],w_]] := and[member[x,V],member[y,V],member[z,V],member[pair[z,x],w]] (* added 2001 December 22 based on DORA-1.NB *) member[pair[z_,pair[x_,y_]],composite[inverse[SECOND],w_]] := and[member[x,V],member[y,V],member[z,V],member[pair[z,y],w]] (* added 2003 July 25 based on INTADD.NB *) member[pair[pair[x_,y_],z_],composite[S,COMPOSE]] := and[member[x,V],member[y,V],member[z,V],subclass[composite[x,y],z]] (* added 2002 January 1 based on ROTATE.NB *) member[pair[pair[x_,y_],z_],composite[w_,SWAP]] := and[member[x,V],member[y,V],member[z,V],member[pair[pair[y,x],z],w]] (* added 2002 January 1 based on ROTATE.NB *) member[pair[x_,pair[y_,z_]],composite[SWAP,w_]] := and[member[x,V],member[y,V],member[z,V],member[pair[x,pair[z,y]],w]] (* revised 2001 November 15 *) member[pair[pair[x_,y_],z_],CROSS] := and[member[x,V],member[y,V],member[z,V],equal[cross[x,y],z]] (* added 2001 November 17 based on CUP.NB *) member[pair[pair[x_,y_],z_],CUP] := and[equal[union[x,y],z],member[x,V],member[y,V]] (* revised 2001 November 15 *) member[pair[pair[x_,y_],z_],DIF] := and[member[x,V],member[y,V],member[z,V], equal[intersection[x,complement[y]],z]] (* added 2001 December 22 based on DORA-1.NB *) member[pair[z_,pair[x_,y_]],DORA] := and[equal[x,domain[z]],equal[y,range[z]],member[z,V]] member[pair[w_,pair[u_,v_]],DUP] := and[member[w,V],equal[u,w],equal[v,w]] (* added 2002 November 5 based on EQDF-MEM.NB *) member[pair[pair[u_,v_],w_],EQUIDIFF] := and[equal[natadd[u,second[w]],natadd[v,first[w]]],member[u,omega], member[v,omega],member[first[w],omega],member[second[w],omega]] (* added 2002 November 5 based on EQDF-MEM.NB *) member[pair[u_,pair[v_,w_]],EQUIDIFF] := and[equal[natadd[v,second[u]],natadd[w,first[u]]],member[v,omega], member[w,omega],member[first[u],omega],member[second[u],omega]] member[pair[pair[u_,v_],w_],FIRST] := and[member[u,V],member[v,V],equal[u,w]] (* revised 2001 November 15 *) member[pair[pair[x_,y_],z_],IMG] := and[member[x,V],member[y,V],member[z,V],equal[image[x,y],z]] (* added 2003 July 25 based on INTADD.NB *) member[pair[pair[x_,y_],z_],INTADD] := and[member[x,Z],member[y,Z],member[z,Z],subclass[composite[x,y],z]] (* derived 2005 January 17 based on KURADEFN.NB *) member[pair[pair[x_,y_],z_],KURA] := and[equal[z,set[set[x],set[x,y]]],member[x,V],member[y,V]] member[pair[w_,pair[u_,v_]],LEFT[x_]] := and[equal[w,v],equal[x,u],member[u,V],member[v,V],member[w,V],member[x,V]] (* revised 2001 November 15 *) member[pair[pair[x_,y_],z_],MAP] := and[equal[map[x,y],z],member[x,V],member[y,V],member[z,V]] (* added 2002 June 24 based on MEMBER.NB *) member[pair[pair[x_,y_],z_],NATADD] := and[member[z,omega],member[pair[x,z],iterate[SUCC,set[y]]]] (* derived 2005 May 17 based on NATMOD.NB *) member[pair[pair[x_,y_],z_],NATMOD] := and[equal[z,natmod[x,y]],member[x,omega],member[y,omega]] (* added 2002 June 22 based on X-RO-ASS.NB *) member[pair[pair[u_,v_],pair[x_,y_]],ASSOC] := and[equal[v,second[y]], equal[x,first[u]],equal[first[y],second[u]], member[u,V],member[v,V],member[x,V],member[y,V]] (* added 2002 June 22 based on X-RO-ASS.NB *) member[pair[pair[u_,v_],pair[x_,y_]],cross[w_,z_]] := and[member[u,V],member[v,V],member[x,V],member[y,V], member[pair[u,x],w],member[pair[v,y],z]] (* added 2002 November 5 based on EQDF-MEM.NB *) member[pair[pair[u_,v_],pair[x_,y_]],EQUIDIFF] := and[equal[natadd[u,y],natadd[v,x]],member[u,omega], member[v,omega],member[x,omega],member[y,omega]] (* added 2002 June 22 based on X-RO-ASS.NB *) member[pair[pair[pair[u_,v_],w_],pair[x_,pair[y_,z_]]],ASSOC] := and[equal[u,x],equal[v,y],equal[w,z], member[u,V],member[v,V],member[w,V]] member[pair[pair[u_,v_],pair[x_,y_]],SWAP] := and[member[u,V],member[v,V],member[x,V],member[y,V], equal[v,x],equal[u,y]] (* added 2002 January 1 based on ROTATE.NB *) member[pair[pair[u_,v_],pair[x_,y_]],twist[w_]] := and[member[u,V],member[v,V],member[x,V],member[y,V], member[pair[pair[u,x],pair[v,y]],w]] (* revised 2001 November 15 *) member[pair[pair[x_,y_],z_],PAIRSET] := and[equal[set[x,y],z],member[x,V],member[y,V],member[z,V]] member[pair[w_,pair[u_,v_]],RIGHT[x_]] := and[equal[w,u],equal[x,v], member[u,V],member[v,V],member[w,V],member[x,V]] (* added 2002 January 1 based on ROTATE.NB *) member[pair[pair[x_,y_],z_],rotate[w_]] := and[member[x,V],member[y,V],member[z,V],member[pair[pair[y,z],x],w]] member[pair[pair[u_,v_],w_],SECOND] := and[member[u,V],member[v,V],equal[v,w]] (* revised 2001 November 15 *) member[pair[pair[x_,y_],z_],SYMDIF] := and[member[x,V],member[y,V],member[z,V], equal[union[intersection[x,complement[y]], intersection[y,complement[x]]],z]] (* added 2002 November 2 based on TWISTMEM.NB *) member[pair[pair[u_,v_],w_],twist[x_]] := and[member[u,V],member[v,V],member[first[w],V], member[pair[pair[u,first[w]],pair[v,second[w]]],x]] (* added 2002 November 2 based on TWISTMEM.NB *) member[pair[u_,pair[v_,w_]],twist[x_]] := and[member[v,V],member[w,V],member[first[u],V], member[pair[pair[first[u],v],pair[second[u],w]],x]] member[pair[u_,v_],POWER] := and[member[u,V],member[v,V],equal[P[u],v]] (* derived 2005 February 3 in MEMB-PS.NB *) member[pair[x_,y_],PS] := and[member[y,V],not[equal[x,y]],subclass[x,y]] (* derived 2005 January 27 in DK-SU.NB *) member[pair[x_,x_],Q] := member[x,V] (* derived 2004 December 11 in OO-Q.NB *) member[pair[range[oopart[x_]],domain[oopart[x_]]],Q] := member[domain[oopart[x]],V] (* revised 2001 November 15 *) member[pair[x_,y_],RANK] := and[equal[rank[x],y],member[y,V]] (* derived 2004 August 14 in RANK.NB *) member[pair[rank[x_],x_],ZN] := member[x,REGULAR] (* added 2000 November 23 based on RC-1.NB *) member[pair[x_,y_],RC[z_]] := and[equal[z,union[x,y]],member[x,V],member[y,V],member[z,V], subclass[x,complement[y]]] (* derived 2004 August 10 in RS-3.NB *) member[pair[x_,y_],RESTRICT] := and[equal[y,composite[x,id[domain[y]]]],member[x,V],member[y,V]] (* added 2001 November 14 based on MEM-CART.NB *) member[pair[x_,y_],RIGHT[z_]] := and[equal[first[y],x],equal[second[y],z], member[x,V]] (* revised 2001 November 15 *) member[pair[x_,y_],RightPairV] := and[member[x,V],equal[pair[x,V],y]] (* added 2002 June 22 based on X-RO-ASS.NB *) member[pair[x_,y_],rotate[z_]] := and[member[y,V],member[first[x],V], member[pair[pair[second[x],y],first[x]],z]] (* revised 2001 December 6 based on MEMBER.NB *) member[pair[x_,y_],S] := and[member[y,V],subclass[x,y]] (* added 2001 November 14 based on MEM-CART.NB *) member[pair[x_,y_],SECOND] := and[equal[second[x],y],member[y,V]] (* derived 2005 January 27 in DIV.NB *) member[pair[x_,set[0]],DIV] := equal[x,set[0]] (* derived 2005 January 27 in DIV.NB *) member[pair[set[0],x_],DIV] := member[x,omega] (* revised 2001 November 15 *) member[pair[x_,y_],SINGLETON] := and[member[x,V],member[y,V],equal[set[x],y]] (* derived 2005 January 7 in UP-K.NB *) member[pair[set[x_],set[x_,y_]],K] := and[member[y,V],not[equal[x,y]]] (* added 2001 November 17 based on SUBVAR.NB *) member[pair[x_,y_],SUBVAR] := and[equal[subvar[x],y],member[x,V]] (* revised 2001 November 15 *) member[pair[x_,y_],SUCC] := and[member[x,V],member[y,V],equal[succ[x],y]] (* derived 2005 January 13 in REG-RUS.NB *) member[pair[x_,succ[x_]],K] := and[member[x,V],not[member[x,x]]] (* revised 2001 November 15 *) member[pair[x_,y_],SWAP] := and[equal[first[x],second[y]],equal[second[x],first[y]],member[first[x],V]] (* derived 2005 February 4 in X3943.NB *) member[pair[x_,y_],TC] := and[equal[y,tc[x]],member[y,V]] (* added 2002 November 2 based on TWISTMEM.NB *) member[pair[x_,y_],twist[z_]] := and[member[first[x],V],member[first[y],V], member[pair[pair[first[x],first[y]],pair[second[x],second[y]]],z]] (* added 2000 November 21 based on MEMBER.NB *) member[pair[x_,y_],UB[z_]] := and[member[x,V],member[y,V], subclass[x,image[inverse[z],set[y]]]] (* revised 2001 November 15 *) member[pair[x_,y_],UCLOSURE] := and[equal[Uclosure[x],y],member[y,V]] (* derived 2005 May 22 in DIV-ADD.NB *) member[pair[x_,union[y_,complement[image[V,z_]]]],DIV] := and[member[pair[x,y],DIV],not[equal[0,z]]] (* derived 2005 May 25 in MOD-CHAR.NB *) member[pair[x_,union[y_,image[V,z_]]],DIV] := and[equal[0,z],member[pair[x,y],DIV]] (* derived 2005 January 7 in UP-K.NB *) member[pair[x_,union[x_,set[y_]]],K] := and[member[x,V],member[y,V],not[member[y,x]]] member[pair[x_,y_],V] := True (* added 2002 January 1 based on PAIR-MEM.NB *) member[PAIR[x_,y_],V] := and[member[x,V],member[y,V]] (* revised 2001 November 15 *) member[pair[x_,y_],VERTSECT[z_]] := and[equal[image[z,set[x]],y],member[x,V],member[y,V]] (* added 2003 June 11 based on VS.NB *) member[pair[x_,y_],VS] := and[equal[y,composite[VERTSECT[x],id[domain[x]]]],member[x,V]] (* added 2001 November 18 based on BIN-FNS.NB *) member[x_,PAIRSET] := and[member[first[first[x]],V],equal[set[first[first[x]],second[first[x]]],second[x]]] (* added 2000 October 4 based on PROPER.NB *) member[PAIRSET,x_] := False (* added 2003 August 7 based on PLUS.NB *) member[x_,PLUS] := and[equal[plus[first[x]],second[x]],member[first[x],omega]] (* added 2003 August 7 based on PLUS.NB *) member[x_,plus[y_]] := and[equal[natadd[y,first[x]],second[x]],member[first[x],V]] (* derived 2005 January 31 in X4210.NB *) member[plus[x_],FINITE] := not[member[x,omega]] (* added 2003 August 8 based on REPLACE.NB *) member[plus[x_],range[PLUS]] := member[x,omega] (* added 2003 June 4 based on SETHOOD.NB *) member[PLUS,V] := True (* added 2003 August 8 based on REPLACE.NB *) member[plus[x_],V] := True (* added 2003 August 8 based on REPLACE.NB *) member[plus[x_],Z] := member[x,omega] (* added 2002 January 19 based on PO.NB *) member[x_,PO] := and[member[x,V],PARTIALORDER[x]] (* added 2003 June 4 based on SETHOOD.NB *) member[PO,x_] := False (* added 2003 July 3 based on T1T2PTCL.NB *) member[PointClosed,x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,POWER] := and[equal[P[first[x]],second[x]],member[first[x],V]] (* added 2002 based on POWER.NB *) member[power[x_],V] := False (* added 98/07/18 Theorem POW-RP in POW3 *) member[POWER,x_] := False (* derived 2005 April 21 in U-PRIMES.NB *) member[PRIMES,FINITE] := False (* derived 2005 February 22 in PRIMES.NB *) member[PRIMES,V] := True (* added 2002 February 9 based on IDEM.NB *) member[x_,PROJ] := and[equal[x,composite[x,x]],FUNCTION[x],member[x,V]] (* added 2003 June 4 based on SETHOOD.NB *) member[PROJ,x_] := False member[x_,PS] := and[member[x,S],not[member[x,Id]]] member[PS,x_] := False (* added 2000 October 4 based on PROPER.NB *) member[Q,x_] := False (* derived 2004 May 15 in VARIOUS.NB *) member[x_,range[CART]] := and[equal[x,cart[domain[x],range[x]]],member[x,V]] (* derived 2004 August 1 in THINNESS.NB *) member[range[IMAGE[x_]],V] := member[range[VERTSECT[x]],V] (* derived 2004 August 1 in THINNESS.NB *) member[range[iterate[x_,y_]],V] := member[iterate[x,y],V] (* derived 2004 August 1 in SETHOOD.NB *) member[range[MAP],x_] := False (* derived 2004 December 11 in OO-Q.NB *) member[range[oopart[x_]],V] := member[domain[oopart[x]],V] (* added 2002 January 13 based on RA-POW.NB *) member[x_,range[POWER]] := and[equal[x,P[U[x]]],member[x,V]] member[range[POWER],x_] := False (* Theorem SP-RA-SG in SP2 proved 1998 October 24 *) member[range[SINGLETON],x_] := False (* derived 2004 August 1 in SETHOOD.NB *) member[range[SUBVAR],x_] := False member[range[SUCC],x_] := False (* derived 2004 November 12 in XS-CO.NB *) member[range[VERTSECT[setpart[x_]]],V] := True (* added 2001 November 18 based on CO-IDX.NB *) member[x_,RANK] := and[equal[rank[first[x]],second[x]],member[first[x],V]] (* added 2001 August 23 based on PROPER.NB *) member[RANK,x_] := False (* added 2003 June 25 based on RANK.NB *) member[rank[x_],x_] := False (* added 2003 June 25 based on RANK.NB *) member[rank[x_],OMEGA] := member[x,REGULAR] (* added 2001 December 2 based on RANK-2.NB *) member[rank[x_],V] := member[x,REGULAR] (* derived 2004 August 14 in RANK.NB *) member[rank[x_],rank[x_]] := False (* derived 2005 January 31 in X4210.NB *) member[RC[x_],FINITE] := or[member[x,FINITE],not[member[x,V]]] (* added 2003 June 4 based on IMAGE.NB *) member[RC[x_],image[RCF,y_]] := member[x,y] (* derived 2004 January 13 in RA-RCF.NB *) member[RC[x_],range[RCF]] := member[x,V] (* added 2001 June 28 based on SETHOOD.NB *) member[RC[x_],V] := True (* defining rule for RCF *) member[x_,RCF] := and[equal[RC[first[x]],second[x]],member[first[x],V]] (* added 2003 June 4 based on SETHOOD.NB *) member[RCF,x_] := False (* Theorem REG-28 in REG2 *) member[REGULAR,x_] := False (* derived 2004 August 10 in RS-3.NB *) member[x_,RESTRICT] := and[equal[composite[first[x],id[domain[second[x]]]],second[x]],member[first[x],V]] (* added 2003 June 4 based on SETHOOD.NB *) member[RESTRICT,x_] := False (* introduced 2004 March 18 in RFX-WRAP.NB *) member[x_,RFX] := and[member[x,V],REFLEXIVE[x]] (* derived 2004 December 16 in RFX-CORE.NB *) member[x_,rfx[y_]] := and[member[x,y],member[first[x],fix[y]],member[second[x],fix[y]]] (* added 2001 December 19 based on SETHOOD2.NB *) member[RFX,x_] := False (* derived 2004 December 16 in RFX-CORE.NB *) member[rfx[x_],V] := member[fix[x],V] (* added 2001 June 29 based on MEMBER.NB *) member[RIF,x_] := False (* added 1999 Novermber 9 based on SESSION1.NB *) member[RIGHT[x_],V] := not[member[x,V]] (* added 2000 October 4 based on PROPER.NB *) member[ROT,x_] := False (* added 2002 June 15 based on ROTATE.NB *) member[rotate[NATADD],V] := True (* derived 2004 August 7 in RS-1.NB *) member[x_,RS[y_]] := and[equal[x,composite[y,id[domain[x]]]],member[x,V]] (* derived 2004 August 7 in RS-1.NB *) member[RS[x_],V] := member[thinpart[x],V] (* removed 2003 June 17 member[w_,RUSSELL] := and[member[w,V],not[member[w,w]]] *) (* added 98/02/07 *) member[RUSSELL,x_] := False (* added 2001 November 15 based on UNWRAP-2.NB *) member[x_,S] := and[member[first[x],V],subclass[first[x],second[x]]] (* Theorem SP-SR in SP4 *) member[S,x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,SECOND] := and[equal[second[first[x]],second[x]],member[first[first[x]],V]] member[SECOND,x_] := False (* added 2001 November 14 based on MEM-CART.NB *) member[second[x_],V] := member[first[x],V] (* introduced 2004 November 2 in SELECT.NB *) member[x_,SELECT] := and[member[x,V],not[equal[0,X[x]]]] (* derived 2004 November 2 in SELECT.NB *) member[SELECT,x_] := False (* introduced 2005 January 10 in SET.NB *) member[x_,set[y_,z___]] := or[and[member[x,V],equal[x,y]],member[x,set[z]]] (* added 2001 August 23 based on OM.NB *) member[set[0],omega] := True (* derived 2005 February 22 in PRIMES.NB *) member[set[0],PRIMES] := False (* derived 2004 November 26 in XS-SS-0.NB *) member[set[0],range[XS]] := True (* derived 2003 December 27 in T1.NB *) member[set[0,x_],T1] := or[equal[0,x],member[x,range[SINGLETON]],not[member[x,V]]] (* derived 2003 December 30 in T2.NB *) member[set[0,x_],T2] := or[equal[0,x],member[x,range[SINGLETON]],not[member[x,V]]] (* derived 2005 January 11 in FIN-SET.NB *) member[set[x__],COMPACT] := True (* Theorem DK-SS proved 2000 May 26 *) member[set[x_],DEDEKIND] := True (* derived 2005 February 6 in DESCEND.NB *) member[set[x_],DESCENDING] := or[member[x,x],not[member[x,V]]] (* derived 2005 January 11 in FIN-SET.NB *) member[set[x__],FINITE] := True (* derived 2004 September 18 in SSIM-PRS.NB *) member[set[x_],image[PAIRSET,y_]] := member[x,fix[y]] (* derived 2005 January 7 in CARD-UP.NB *) member[set[x_,y_],image[PAIRSET,Di]] := and[member[x,V],member[y,V],not[equal[x,y]]] (* derived 2005 January 11 in FIN-SET.NB *) member[set[x__],image[Q,OMEGA]] := True (* added 2002 May 12 based on OM-SS.NB *) member[set[x_],omega] := or[equal[0,x],not[member[x,V]]] (* added 2001 August 23 based on OM.NB *) member[set[x_],OMEGA] := or[equal[0,x],not[member[x,V]]] (* derived 2004 June 14 in TP-SYM.NB *) member[set[pair[x_,y_],pair[y_,x_]],image[PAIRSET,SWAP]] := and[member[x,V],member[y,V]] (* derived 2003 December 28 in PTCLOSED.NB *) member[set[x_],PointClosed] := or[equal[0,x],not[member[x,V]]] (* derived 2005 January 8 in RA-PRS.NB *) member[set[x_],range[PAIRSET]] := member[x,V] (* derived 2005 January 8 in RA-PRS.NB *) member[set[x_,y_],range[PAIRSET]] := or[member[x,V],member[y,V]] (* added 2001 November 22 based on VS-Q.NB *) member[set[x_],range[SINGLETON]] := member[x,V] (* derived 2004 June 18 in NON-FUNS.NB *) member[set[x_,y_],range[SINGLETON]] := or[and[equal[x,y],member[y,V]], and[member[x,V],not[member[y,V]]],and[member[y,V],not[member[x,V]]]] (* added 2003 June 5 based on REG.NB *) member[set[x_],REGULAR] := or[member[x,REGULAR],not[member[x,V]]] (* derived 2003 December 27 in T1.NB *) member[set[set[0],set[x_]],T1] := True (* derived 2003 December 30 in T2.NB *) member[set[set[0],set[x_]],T2] := True (* derived 2003 December 27 in T1.NB *) member[set[x_],T1] := or[equal[0,x],member[x,range[SINGLETON]],not[member[x,V]]] (* derived 2003 December 30 in T2.NB *) member[set[x_],T2] := or[equal[0,x],member[x,range[SINGLETON]],not[member[x,V]]] (* derived 2003 December 25 in TOPSDEFN.NB *) member[set[x_],TOPS] := equal[0,x] (* derived 2003 December 25 in TOPSDEFN.NB *) member[set[x_,y_],TOPS] := or[equal[0,x],equal[0,y]] (* derived 2005 January 10 in SET.NB *) member[set[x__],V] := True (* derived 2004 March 14 in WO-TRV.NB *) member[setpart[x_],V] := True (* added 2001 November 15 *) member[x_,SINGLETON] := equal[set[first[x]],second[x]] (* Theorem SP-SG in SP4 *) member[SINGLETON,x_] := False member[w_,subcommutant[x_]] := and[member[w,V],subclass[composite[x,w],composite[w,x]]] (* derived 2004 June 24 in SBCOMTNT.NB *) member[subcommutant[x_],y_] := False (* added 2002 December 27 based on SBCOMMUT.NB *) member[x_,SUBCOMMUTE] := and[member[first[x],V],subcommute[first[x],second[x]]] (* added 2003 June 4 based on SETHOOD.NB *) member[SUBCOMMUTE,x_] := False (* added 2000 October 4 based on PROPER.NB *) member[SUBVAR,x_] := False (* added 2001 November 17 based on SUBVAR.NB *) member[x_,SUBVAR] := and[equal[subvar[first[x]],second[x]], member[first[x],V]] (* Theorems SBV-1 and SBV-2 in SUBVAR proved 1999 February 13 *) member[w_,subvar[x_]] := and[member[w,V],subclass[w,image[x,w]]] (* derived 2004 August 1 in SETHOOD.NB *) member[subvar[PS],x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,SUCC] := and[equal[succ[first[x]],second[x]],member[first[x],V]] member[SUCC,x_] := False (* added 2001 August 5 *) member[x_,succ[y_]] := or[and[equal[x,y],member[x,V]],member[x,y]] (* added 2001 August 23 based on FINITE.NB *) member[succ[x_],FINITE] := member[x,FINITE] (* derived 2005 February 13 in NAT.NB *) member[succ[nat[x_]],nat[x_]] := False (* added 2001 August 23 based on OM.NB *) member[succ[x_],omega] := member[x,omega] (* added 2001 August 23 based on OMEGA.NB *) member[succ[x_],OMEGA] := member[x,OMEGA] (* derived 2004 October 12 in CMPCT-OM.NB *) member[succ[omega],COMPACT] := False (* derived 2004 October 12 in CMPCT-OM.NB *) member[succ[omega],image[COARSER,FINITE]] := True (* derived 2004 June 18 in NON-FUNS.NB *) member[succ[x_],range[SINGLETON]] := or[equal[0,x],equal[x,set[x]]] (* derived 2003 December 25 in TOPSDEFN.NB *) member[succ[omega],TOPS] := True (* added 2003 June 5 based on REG.NB *) member[succ[x_],REGULAR] := member[x,REGULAR] (* derived 2005 January 11 in SET-SUCC.NB *) member[succ[set[0]],image[PAIRSET,Di]] := True (* derived 2004 January 1 in COFIN-T1.NB *) member[succ[set[0]],PointClosed] := True (* derived 2005 February 22 in PRIMES.NB *) member[succ[set[0]],PRIMES] := True (* derived 2003 December 27 in T1.NB *) member[succ[set[0]],T1] := True (* derived 2003 December 30 in T2.NB *) member[succ[set[0]],T2] := True (* derived 2005 March 26 in OM-PLUS2.NB *) member[succ[succ[omega]],COMPACT] := True (* derived 2005 March 26 in OM-PLUS2.NB *) member[succ[succ[omega]],TOPS] := True (* derived 2003 December 27 in T1.NB *) member[succ[succ[set[0]]],T1] := False (* derived 2003 December 30 in T2.NB *) member[succ[succ[set[0]]],T2] := False (* derived 2003 December 27 in T1.NB *) member[succ[succ[set[0]]],TOPS] := True (* added 2001 August 23 based on PROPER.NB *) member[succ[x_],V] := member[x,V] (* derived 2004 July 14 in X2431-32.NB *) member[x_,SWAP] := and[equal[first[first[x]],second[second[x]]], equal[first[second[x]],second[first[x]]], member[first[first[x]],V],member[first[second[x]],V]] member[SWAP,x_] := False (* added 2001 October 10 based on SYM-1.NB *) member[x_,SYM] := and[member[x,V],equal[inverse[x],x]] (* added 2001 December 19 based on SETHOOD2.NB *) member[SYM,x_] := False (* added 2001 November 18 based on BIN-FNS.NB *) member[x_,SYMDIF] := and[member[first[first[x]],V],equal[union[ intersection[complement[first[first[x]]],second[first[x]]], intersection[complement[second[first[x]]],first[first[x]]]], second[x]]] (* added 2000 October 4 based on PROPER.NB *) member[SYMDIF,x_] := False (* added 2003 June 23 based on T1.NB *) member[T1,x_] := False (* added 2003 June 23 based on T2.NB *) member[T2,x_] := False (* added 2001 November 17 based on UNWRAP.NB *) member[x_,TC] := and[equal[tc[first[x]],second[x]],member[first[x],V]] (* added 2000 October 4 based on PROPER.NB *) member[TC,x_] := False (* Theorems TC-ON-1 and TC-ON-2 in TC2 proved 2001 August 8 *) member[tc[x_],OMEGA] := and[member[x,V],subclass[x,OMEGA]] (* derived 2004 March 14 in TC-REG.NB *) member[tc[x_],REGULAR] := member[x,REGULAR] (* added 2000 October 26 based on TC-4.NB *) member[tc[x_],V] := member[x,V] (* added 2003 September 27 *) member[x_,TO] := and[member[x,V],TOTALORDER[x]] (* derived 2004 August 1 in SETHOOD.NB *) member[TO,x_] := False (* added 2001 December 19 based on SETHOOD2.NB *) member[TOPS,x_] := False (* derived 2004 June 16 in TRANSVAR.NB *) member[z_,transvar[x_,y_]] := and[member[z,V],subclass[image[x,z],image[y,z]]] (* introduced 2004 March 20 in EQV-WRAP.NB *) member[x_,TRV] := and[member[x,V],TRANSITIVE[x]] (* added 2001 December 19 based on SETHOOD2.NB *) member[TRV,x_] := False (* added 2003 January 27 *) member[trv[x_],V] := and[member[domain[x],V],member[range[x],V]] (* added 2000 October 4 based on PROPER.NB *) member[TWIST,x_] := False (* removed 2003 June 29 based on TWIST.NB member[x_,twist[y_]] := and[member[first[first[x]],V],member[first[second[x]],V], member[pair[pair[first[first[x]],first[second[x]]], pair[second[first[x]],second[second[x]]]],y]] *) (* derived 2004 December 26 in SETPART.NB *) member[twist[setpart[x_]],V] := True (* derived 2005 February 23 in X2408.NB *) member[x_,U[complement[x_]]] := member[x,V] (* added 2001 August 23 based on FINITE.NB *) member[U[x_],FINITE] := and[member[x,FINITE],subclass[x,FINITE]] (* derived 2004 October 9 in IM-COA.NB *) member[U[x_],image[inverse[S],image[BIGCUP,intersection[y_,P[x_]]]]] := member[x,image[COARSER,y]] (* added 2003 May 7 based on UNOPS.NB *) member[x_,U[image[MAP,y_]]] := and[FUNCTION[x],member[x,V], member[pair[domain[x],range[x]],composite[inverse[S],y]]] (* derived 2005 February 23 in X2408.NB *) member[x_,U[image[y_,set[x_]]]] := member[x,fix[composite[inverse[E],y]]] /; unsafe (* derived 2005 February 13 in NAT.NB *) member[U[nat[x_]],nat[x_]] := not[equal[0,nat[x]]] (* derived 2005 February 13 in NAT.NB *) member[U[nat[x_]],omega] := True (* Theorems REG-7 and REG-15 in REG2 *) member[U[x_],REGULAR] := member[x,REGULAR] (* derived 2004 June 24 in SBCOMTNT.NB *) member[U[subcommutant[x_]],y_] := False (* added 98/02/27 *) member[U[x_],V] := member[x,V] (* sum set axiom *) (* added 2001 June 29 based on MEMBER.NB *) member[UB[x_],y_] := False (* added 2004 February 17 *) member[x_,ub[y_,z_]] := and[member[x,V],subclass[z,image[inverse[y],set[x]]]] (* derived 2004 May 4 in CRHL-FIX.NB *) member[x_,Uclosure[y_]] := and[equal[x,core[y,x]],member[x,V]] (* added 2001 November 17 based on UNWRAP.NB *) member[x_,UCLOSURE] := and[equal[Uclosure[first[x]],second[x]], member[first[x],V]] (* added 2001 June 29 based on MEMBER.NB *) member[UCLOSURE,x_] := False (* derived 2004 January 8 in FIN-FU.NB *) member[Uclosure[x_],FINITE] := member[x,FINITE] (* derived 2003 December 28 in PTCLOSED.NB *) member[Uclosure[x_],PointClosed] := member[x,T1] (* derived 2003 December 27 in T1.NB *) member[Uclosure[x_],T1] := member[x,T1] (* derived 2003 December 30 in T2.NB *) member[Uclosure[x_],T2] := member[x,T2] (* added 2001 September 22 based on UCL.NB *) member[Uclosure[x_],V] := member[x,V] member[u_,union[x_,y_]] := or[member[u,x],member[u,y]] (* added 2002 November 3 based on SIMPLIFY.NB *) member[union[x_,complement[image[V,y_]]],z_] := and[member[x,z],not[equal[0,y]]] (* added 2001 August 23 based on FINITE.NB *) member[union[x_,y_],FINITE] := and[member[x,FINITE],member[y,FINITE]] (* derived 2004 January 1 in COFIN-T1.NB *) member[union[image[RC[x_],FINITE],set[0]],PointClosed] := True (* derived 2003 December 27 based on COFINITE.TXT *) member[union[image[RC[x_],FINITE],set[0]],TOPS] := True (* derived 2004 October 12 in CMPCT-OM.NB *) member[union[image[RC[omega],omega],singleton[0]],TOPS] := True (* added 2002 November 3 based on SIMPLIFY.NB *) member[union[x_,image[V,y_]],z_] := and[equal[0,y],member[x,z]] (* derived 2005 April 28 in MAX-MIN.NB *) member[union[nat[x_],nat[y_]],nat[x_]] := False (* derived 2005 April 28 in MAX-MIN.NB *) member[union[nat[x_],nat[y_]],omega] := True (* added 2003 June 5 based on REG.NB *) member[union[x_,y_],REGULAR] := and[member[x,REGULAR],member[y,REGULAR]] (* derived 2004 October 10 in COMPACT0.NB *) member[union[x_,set[0]],COMPACT] := member[x,COMPACT] (* derived 2005 January 3 in FULL.NB *) member[union[set[0],succ[set[set[0]]]],omega] := False (* derived 2005 January 3 in FULL.NB *) member[union[set[0],succ[set[set[0]]]],OMEGA] := False (* derived 2003 December 27 in T1.NB *) member[union[x_,set[0]],T1] := member[x,T1] (* derived 2003 December 30 in T2.NB *) member[union[x_,set[0]],T2] := member[x,T2] member[union[x_,y_],V] := and[member[x,V],member[y,V]] (* Theorem SP-6 in SP2 *) member[V,x_] := False (* added 2002 January 27 based on FIXCORE1.NB removed 2002 April 8 because it messes up lambda[x,VERTSECT[x]] = 0 member[x_,VERTSECT[y_]] := and[equal[image[y,set[first[x]]],second[x]], member[image[y,set[first[x]]],V]] *) (* derived 2004 December 26 in SETPART.NB *) member[VERTSECT[setpart[x_]],y_] := False (* derived 2004 December 26 in SETPART.NB *) member[VERTSECT[thinpart[x_]],y_] := False (* added 2003 June 11 based on VS.NB *) member[x_,VS] := and[equal[composite[VERTSECT[first[x]], id[domain[first[x]]]],second[x]],member[first[x],V]] (* introduced 2004 October 28 in X.NB *) member[w_,X[x_]] := and[equal[domain[w],domain[x]],FUNCTION[w],member[w,V],subclass[w,x]] (* added 2002 November 16 based on INTEGER.NB *) member[Z,V] := True (* added 2003 September 27 *) member[x_,WF] := and[member[x,V],WELLFOUNDED[x]] (* added 2003 September 29 based on WF.NB *) member[WF,x_] := False (* introduced 2004 September 18 in WF-WRAP.NB *) member[w_,wf[x_]] := and[member[w,x],member[first[w],V],not[member[second[w],U[subvar[x]]]]] (* introduced 2004 September 25 in LAMB-WF.NB *) member[x_,WFPART] := and[member[first[x],V],equal[second[x],wf[first[x]]]] (* added 2003 September 27 *) member[x_,WO] := and[member[x,V],WELLORDER[x]] (* derived 2004 October 31 in U-X.NB *) member[X[x_],V] := or[equal[0,X[x]],member[range[x],V]] (* derived 2004 November 16 in XS.NB *) member[x_,XS] := and[member[first[x],V],equal[second[x],X[first[x]]]] (* added 2001 August 23 based on PROPER.NB *) member[ZN,x_] := False (* added 2000 November 13 based on MAX.NB *) MINIMAL[0] := inverse[E] (* added 2000 November 17 based on CO-ID.NB *) MINIMAL[complement[S]] := intersection[BIGCUP,inverse[E]] (* added 2000 November 16 based on RESTRICT.NB*) MINIMAL[composite[Id,x_]] := MINIMAL[x] (* added 2000 November 16 based on RESTRICT.NB*) MINIMAL[composite[id[x_],y_]] := union[composite[id[x],MINIMAL[y]], composite[inverse[E],IMAGE[id[complement[x]]]]] (* added 2000 November 14 based on MAX.NB *) MINIMAL[Di] := inverse[SINGLETON] (* added 2000 November 14 based on MAX.NB *) MINIMAL[Id] := inverse[E] (* added 2000 December 26 based on UB-ID.NB *) MINIMAL[id[x_]] := inverse[E] (* added 2000 November 14 based on MAX.NB *) MINIMAL[intersection[Di,x_]] := MINIMAL[x] (* added 2000 November 13 based on MAX.NB *) MINIMAL[inverse[x_]] := MAXIMAL[x] (* added 2000 November 14 based on MAX.NB *) MINIMAL[PS] := MINIMAL[S] (* added 2000 November 14 based on MAX.NB *) MINIMAL[V] := inverse[SINGLETON] (* derived 2005 June 17 in DF.NB *) monus[x_,y_] := nat[natsub[x,y]] (* derived 2005 June 17 in DF.NB *) nat[complement[image[V,x_]]] := 0 (* derived 2005 June 17 in DF.NB *) nat[image[V,x_]] := 0 (* derived 2005 June 17 in DF.NB *) nat[intersection[x_,complement[image[V,y_]]]] := intersection[complement[image[V,y]],nat[x]] (* derived 2005 June 17 in DF.NB *) nat[intersection[x_,image[V,y_]]] := intersection[image[V,y],nat[x]] (* derived 2005 February 13 in NAT.NB *) nat[nat[x_]] := nat[x] (* derived 2005 June 17 in DF.NB *) nat[natsub[nat[natsub[nat[x_],nat[y_]]],nat[z_]]] := nat[natsub[nat[x],natadd[nat[y],nat[z]]]] (* derived 2005 June 17 in DF.NB *) nat[union[x_,complement[image[V,y_]]]] := intersection[image[V,y],nat[x]] (* derived 2005 June 17 in DF.NB *) nat[union[x_,image[V,y_]]] := intersection[complement[image[V,y]],nat[x]] (* added 2002 July 28 based on ADDRULES.NB *) natadd[0,x_] := union[x,complement[image[V,intersection[omega,set[x]]]]] (* derived 2005 April 28 in MAX-MIN.NB *) natadd[intersection[nat[x_],nat[y_]],union[nat[x_],nat[y_]]] := natadd[nat[x],nat[y]] (* derived 2005 June 17 in DF.NB *) natadd[nat[x_],nat[natsub[nat[y_],nat[z_]]]] := union[intersection[image[V,intersection[nat[y],set[nat[z]]]], natsub[natadd[nat[x],nat[y]],nat[z]]],nat[x]] (* added 2002 October 31 based on ADD-SUB.NB *) natadd[x_,natsub[y_,z_]] := union[image[V,intersection[z,complement[y]]],natsub[natadd[x,y],z]] (* added 2002 July 28 based on ADDRULES.NB *) natadd[x_,set[0]] := union[complement[image[V,intersection[omega,set[x]]]],succ[x]] (* added 2002 July 28 based on ADDRULES.NB *) natadd[x_,succ[y_]] := succ[natadd[x,y]] (* added 2002 July 28 based on ADDRULES.NB *) natadd[x_,union[y_,complement[image[V,z_]]]] := union[complement[image[V,z]],natadd[x,y]] (* added 2002 November 1 based on IMV.NB *) natadd[x_,union[y_,image[V,z_]]] := union[image[V,z],natadd[x,y]] (* derived 2005 May 21 in MOD-DUP.NB *) natmod[x_,x_] := complement[image[V,intersection[omega,set[x]]]] (* derived 2005 May 17 based on NATMOD.NB *) natmod[x_,0] := union[x,complement[image[V,intersection[omega,set[x]]]]] (* derived 2005 May 17 based on NATMOD.NB *) natmod[0,x_] := complement[image[V,intersection[omega,set[x]]]] (* derived 2005 June 24 in MOD-CALC.NB *) natmod[natadd[nat[x_],nat[y_]],nat[y_]] := natmod[nat[x],nat[y]] (* derived 2005 May 21 in MOD-DUP.NB *) natmod[natmul[x_,y_],x_] := union[complement[image[V,intersection[omega,set[x]]]], complement[image[V,intersection[omega,set[y]]]]] (* derived 2005 May 17 based on NATMOD.NB *) natmod[x_,set[0]] := complement[image[V,intersection[omega,set[x]]]] (* derived 2005 May 17 based on NATMOD.NB *) natmod[union[x_,complement[image[V,y_]]],z_] := union[complement[image[V,y]],natmod[x,z]] (* added 2002 August 21 based on NATMUL.NB *) natmul[0,x_] := complement[image[V,intersection[omega,set[x]]]] (* added 2002 August 27 based on DISTRIB.NB *) natmul[natadd[x_,y_],z_] := natadd[natmul[x,z],natmul[y,z]] (* added 2002 October 5 based on SUB-MUL.NB *) natmul[x_,natsub[y_,z_]] := union[image[V,intersection[z,complement[y]]], natsub[natmul[x,y],natmul[x,z]]] (* added 2002 August 21 based on NATMUL.NB *) natmul[x_,set[0]] := union[x,complement[image[V,intersection[omega,set[x]]]]] (* added 2002 August 23 based on MULREC.NB *) natmul[x_,succ[y_]] := natadd[x,natmul[x,y]] (* added 2002 September 17 based on MUL-IMV.NB *) natmul[x_,union[y_,complement[image[V,z_]]]] := union[complement[image[V,z]],natmul[x,y]] (* added 2002 November 1 based on IMV.NB *) natmul[x_,union[y_,image[V,z_]]] := union[image[V,z],natmul[x,y]] (* added 2002 Septemeber 16 based on SUB-DUP.NB *) natsub[x_,x_] := complement[image[V,intersection[omega,set[x]]]] (* added 2002 Septemeber 16 based on SUB-DUP.NB *) natsub[0,x_] := image[V,x] (* added 2002 Septemeber 16 based on SUB-DUP.NB *) natsub[x_,0] := union[x,complement[image[V,intersection[omega,set[x]]]]] (* added 2002 September 17 based on DIFFER.NB *) natsub[natadd[x_,y_],x_] := union[y,complement[image[V,intersection[omega,set[x]]]], complement[image[V,intersection[omega,set[y]]]]] (* added 2002 September 19 based on CANCEL.NB *) natsub[natadd[x_,z_],natadd[y_,z_]] := union[complement[image[V,intersection[omega,set[z]]]],natsub[x,y]] (* added 2002 September 21 based on ROTATE.NB *) natsub[x_,natadd[y_,natsub[x_,z_]]] := union[complement[image[V,intersection[omega,set[x]]]], complement[image[V,intersection[set[z],succ[x]]]],natsub[z,y]] (* added 2002 September 17 based on SUBRECUR.NB *) natsub[natsub[y_,z_],x_] := natsub[y,natadd[x,z]] (* added 2002 September 17 based on EQUAL.NB *) natsub[x_,natsub[x_,y_]] := union[y,complement[image[V,intersection[omega,set[x]]]],complement[image[V,intersection[set[y],succ[x]]]]] (* derived 2005 May 25 in ADD-SUB.NB *) natsub[x_,natsub[y_,z_]] := union[image[V,intersection[z,complement[y]]],natsub[natadd[x,z],y]] (* derived 2005 March 26 in NATSUB.NB *) natsub[succ[x_],x_] := union[complement[image[V,intersection[omega,set[x]]]],set[0]] (* added 2002 September 17 based on PREDSUCC.NB *) natsub[succ[x_],set[0]] := union[x,complement[image[V,intersection[omega,set[x]]]]] (* added 2002 September 16 based on SUB-SUCC.NB *) natsub[succ[x_],succ[y_]] := natsub[x,y] (* added 2002 September 17 based on DIFFER.NB *) natsub[union[x_,complement[image[V,z_]]],y_] := union[complement[image[V,z]],natsub[x,y]] (* added 2002 September 17 based on DIFFER.NB *) natsub[x_,union[y_,complement[image[V,z_]]]] := union[complement[image[V,z]],natsub[x,y]] (* added 2002 October 31 based on REPLACE.NB *) natsub[union[x_,image[V,y_]],z_] := union[image[V,y],natsub[x,z]] (* added 2002 October 31 based on REPLACE.NB *) natsub[x_,union[y_,image[V,z_]]] := union[image[V,z],natsub[x,y]] ONEONE[h_] := and[FUNCTION[h],FUNCTION[inverse[h]]] (* derived 2004 May 9 in OOPART.NB *) oopart[composite[Id,x_]] := oopart[x] (* derived 2004 May 14 in CROSSFUN.NB *) oopart[cross[x_,y_]] := cross[oopart[x],oopart[y]] (* derived 2004 May 7 in OOPART.NB *) oopart[inverse[x_]] := inverse[oopart[x]] (* derived 2004 May 9 in OOPART.NB *) oopart[union[x_,complement[image[V,y_]]]] := composite[oopart[x],id[image[V,y]]] (* added 2003 June 7 based on EQUAL.NB *) or[and[equal[x_,z_],equal[y_,z_]],equal[x_,y_]] := equal[x,y] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[composite[u_,v_],V]],not[member[u_,x_]],not[member[v_,y_]]] := or[p,not[member[u,x]],not[member[v,y]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[domain[domain[x_]],V]],not[member[x_,y_]]] := or[p,not[member[x,y]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[domain[x_],V]],not[member[x_,z_]]] := or[p,not[member[x,z]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[first[x_],V]],not[member[x_,inverse[y_]]]] := or[p,not[member[x,inverse[y]]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[H[x_],V]],not[member[x_,y_]]] := or[p,not[member[x,y]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[image[IMAGE[x_],y_],V]],not[member[y_,z_]]] := or[p,not[member[y,z]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[image[x_,y_],V]],not[FUNCTION[x_]],not[member[y_,z_]]] := or[p,not[FUNCTION[x]],not[member[y,z]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[image[x_,y_],V]],not[member[x_,z_]]] := or[p,not[member[x,z]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[intersection[w_,image[x_,y_]],V]],not[member[x_,z_]]] := or[p,not[member[x,z]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[intersection[x_,P[y_]],V]],not[member[y_,z_]]] := or[p,not[member[y,z]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[intersection[x_,U[y_]],V]],not[member[y_,z_]]] := or[p,not[member[y,z]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[intersection[x_,y_],V]],not[member[x_,z_]]] := or[p,not[member[x,z]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[range[x_],V]],not[member[x_,y_]]] := or[p,not[member[x,y]]] (* added 2003 August 9 based on INTADDXY.NB *) or[and[member[u_,V],member[v_,V]],not[member[pair[u_,v_],y_]],not[subclass[y_,cart[V,V]]]] := True (* derived 2004 June 10 in X297.NB *) or[and[p_,member[x_,V]],not[member[x_,y_]]] := or[p,not[member[x,y]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[x_,V]],not[member[first[x_],y_]]] := or[p,not[member[first[x],y]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[x_,V]],not[member[y_,z_]],not[subclass[x_,y_]]] := or[p,not[member[y,z]],not[subclass[x,y]]] (* derived 2004 June 11 in x713-x744-x793-x801.NB *) or[and[p_,member[u_,V]],not[member[pair[u_,v_],composite[x_,y_]]]] := or[p,not[member[pair[u,v],composite[x,y]]]] (* derived 2004 June 11 in x713-x744-x793-x801.NB *) or[and[p_,member[v_,V]],not[member[pair[u_,v_],composite[x_,y_]]]] := or[p,not[member[pair[u,v],composite[x,y]]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[x_,V]],not[member[second[x_],y_]]] := or[p,not[member[second[x],y]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[x_,V]],not[member[U[x_],y_]]] := or[p,not[member[U[x],y]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,member[x_,V]],not[subclass[x_,omega]]] := or[p,not[subclass[x,omega]]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,not[equal[0,x_]]],member[x_,V]] := or[p,member[x,V]] (* derived 2005 January 25 in 0-V.NB *) or[and[p_,not[equal[0,y_]]],not[member[x_,y_]]] := or[p,not[member[x,y]]] (* derived 2005 January 25 in 0-V.NB *) or[and[p_,not[equal[0,x_]]],subclass[x_,y_]] := or[p,subclass[x,y]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,not[member[x_,y_]]],member[x_,V]] := or[p,member[x,V]] (* derived 2005 January 25 in SETHOOD.NB *) or[and[p_,not[member[y_,z_]]],member[x_,V],not[subclass[x_,y_]]] := or[p,member[x,V],not[subclass[x,y]]] (* added 2001 November 3 based on MONOTONE.NB *) or[and[subclass[intersection[u_,v_],x_],subclass[intersection[u_,v_],y_]], not[subclass[u_,x_]],not[subclass[v_,y_]]] := True (* derived 2005 January 25 in 0-V.NB *) or[and[p_,subclass[x_,y_]],not[equal[V,y_]]] := or[p,not[equal[V,y]]] (* derived 2005 January 25 in SUBCLASS.NB *) or[and[p_,subclass[x_,z_]],not[subclass[x_,y_]],not[subclass[y_,z_]]] := or[p,not[subclass[x,y]],not[subclass[y,z]]] (* added 2001 November 3 based on MONOTONE.NB *) or[and[subclass[u_,union[x_,y_]],subclass[v_,union[x_,y_]]], not[subclass[u_,x_]],not[subclass[v_,y_]]] := True (* derived 2004 December 4 in ASS-HOM.NB *) or[associative[composite[x_,y_,cross[z_,z_]]],not[associative[y_]], not[equal[composite[z_,x_,y_],y_]]] := True (* derived 2004 December 4 in ASS-HOM.NB *) or[associative[composite[x_,y_,cross[z_,z_]]],not[associative[y_]], not[equal[composite[z_,x_],id[w_]]],not[subclass[range[y_],w_]]] := True (* derived 2004 December 4 in ASS-HOM.NB *) or[associative[composite[x_,y_,cross[z_,z_]]],not[associative[y_]], not[equal[Id,composite[z_,x_]]]] := True (* added 2003 July 17 based on DIR-PROD.NB *) or[associative[composite[cross[x_,y_],TWIST]], not[associative[x_]],not[associative[y_]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) or[associative[composite[x_,id[cart[V,V]]]],not[associative[x_]]] := True (* added 2003 July 1 based on ASSOC.NB *) or[associative[composite[x_,id[cart[V,V]]]], not[equal[composite[x_,cross[x_,Id]], composite[x_,cross[Id,x_],ASSOC]]]] := True (* added 2003 August 21 based on ASSOC-RS.NB *) or[associative[composite[x_,id[cart[z_,z_]]]],not[associative[x_]], not[subclass[image[x_,cart[z_,z_]],z_]]] := True (* added 2003 July 19 based on IMGASSOC.NB *) or[associative[composite[IMAGE[x_],CART]],not[associative[x_]],not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2004 December 4 in ASS-HOM.NB *) or[associative[composite[inverse[x_],y_,cross[x_,x_]]], not[associative[y_]],not[FUNCTION[x_]],not[subclass[range[y_],range[x_]]]] := True (* derived 2004 December 4 in ASS-HOM.NB *) or[associative[composite[inverse[funpart[x_]],y_,cross[funpart[x_],funpart[x_]]]], not[associative[y_]],not[subclass[range[y_],range[funpart[x_]]]]] := True (* added 2003 July 1 based on ASS-EQ.NB *) or[associative[x_],not[associative[y_]],not[equal[x_,y_]]] := True (* added 2003 July 1 based on ASSOC.NB *) or[associative[x_],not[equal[composite[x_,cross[x_,Id]],composite[x_,cross[Id,x_],ASSOC]]], not[subclass[x_,cart[cart[V,V],V]]]] := True (* derived 2004 October 26 in AXCH-AC1.NB *) or[axch,not[AxCh]] := True (* derived 2004 October 26 in AXCH.NB *) or[AxCh,not[equal[complement[set[0]],domain[CHOICE]]], not[FUNCTION[CHOICE]],not[subclass[CHOICE,inverse[E]]]] := True (* derived 2004 December 30 in AXREG.NB *) or[AxReg,not[member[complement[REGULAR],x_]]] := True (* derived 2004 December 30 in AXREG.NB *) or[AxReg,not[member[DESCENDING,x_]]] := True (* derived 2004 June 21 in X18--.NB *) or[equal[0,A[complement[x_]]],not[member[x_,y_]]] := True (* added 2003 February 26 based on ACL-Z.NB *) or[equal[0,A[x_]],equal[0,intersection[x_,image[DISJOINT,x_]]]] := True (* added 2003 February 26 based on ACL-Z.NB *) or[equal[0,A[z_]],not[equal[0,intersection[x_,y_]]], not[member[x_,z_]],not[member[y_,z_]]] := True (* added 2001 December 9 based on EQUAL-V.NB *) or[equal[0,A[x_]],not[equal[V,x_]]] := True (* added 2002 May 10 based on P-A.NB *) or[equal[0,A[x_]],not[member[0,x_]]] := True (* derived 2004 March 4 in A-SC-PC.NB *) or[equal[0,A[x_]],not[subclass[P[y_],x_]]] := True (* derived 2005 January 27 in BA-OM.NB *) or[equal[0,A[succ[x_]]],not[member[x_,omega]]] := True (* added 1998 September 15 *) or[equal[0,domain[x_]],not[equal[0,x_]]] := True (* derived 2004 June 24 in SP-E-CO.NB *) or[equal[0,domain[x_]],not[equal[composite[E,x_],composite[x_,E]]],not[member[x_,V]]] := True (* derived 2005 January 27 in BA-OM.NB *) or[equal[0,x_],equal[0,A[x_]],not[member[x_,omega]]] := True (* derived 2005 January 27 in BA-ON.NB *) or[equal[0,x_],equal[0,A[x_]],not[member[x_,OMEGA]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[equal[0,y_],equal[x_,y_],member[x_,y_],not[member[pair[x_,y_],DIV]]] := True (* added 2002 May 14 based on ITER-DO.NB *) or[equal[0,y_],equal[omega,domain[iterate[x_,y_]]],not[equal[V,domain[x_]]]] := True (* added 2002 July 1 based on DOIT-IVR.NB *) or[equal[0,y_],equal[omega,domain[iterate[x_,y_]]], not[subclass[y_,domain[x_]]],not[subclass[image[x_,y_],y_]]] := True (* derived 2003 December 18 in RA-ITER.NB *) or[equal[0,y_],equal[omega,domain[iterate[x_,y_]]], not[subclass[y_,domain[x_]]],not[subclass[image[trv[x_],y_],domain[x_]]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[equal[0,x_],equal[omega,U[x_]],member[U[x_],x_],not[subclass[x_,omega]]] := True (* added 2003 July 5 based on EQ-SS.NB *) or[equal[0,x_],equal[x_,set[y_]],not[subclass[x_,set[y_]]]] := True (* added 2002 April 17 based on BC-SUCC.NB *) or[equal[0,x_],equal[x_,succ[U[x_]]],not[member[x_,omega]]] := True (* derived 2005 February 23 in X3729.NB *) or[equal[0,x_],equal[x_,Uclosure[x_]],not[member[x_,omega]]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[equal[0,x_],equal[V,image[inverse[S],x_]],not[equal[x_,image[S,x_]]]] := True (* derived 2004 June 21 in X18--.NB *) or[equal[0,x_],equal[V,x_],not[equal[x_,A[complement[x_]]]]] := True (* derived 2004 June 21 in X18--.NB *) or[equal[0,x_],equal[V,x_],not[equal[A[x_],complement[x_]]]] := True (* derived 2004 December 31 in X4291-99.NB *) or[equal[0,fix[composite[inverse[IMAGE[inverse[S]]],E]]],not[AxReg]] := True (* derived 2004 February 26 in IN-DJ-SU.NB *) or[equal[0,fix[composite[x_,inverse[y_]]]],not[equal[0,intersection[x_,y_]]]] := True (* derived 2004 February 26 in IN-DJ-SU.NB *) or[equal[0,fix[composite[inverse[x_],y_]]],not[equal[0,intersection[x_,y_]]]] := True (* added 2002 May 17 based on FIX-0.NB *) or[equal[0,fix[composite[x_,y_]]],not[equal[0,fix[composite[y_,x_]]]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) or[equal[0,fix[composite[x_,x_]]],not[equal[0,fix[x_]]],not[TRANSITIVE[x_]]] := True (* derived 2004 July 27 in WF-FP.NB *) or[equal[0,fix[composite[x_,x_]]],not[WELLFOUNDED[x_]]] := True (* derived 2004 December 30 in AXREG.NB *) or[equal[0,fix[E]],not[AxReg]] := True (* added 2002 June 8 based on POWER-SU.NB *) or[equal[0,fix[x_]],equal[omega,domain[power[x_]]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) or[equal[0,fix[x_]],not[equal[0,fix[composite[x_,x_]]]]] := True (* added 2003 October 15 based on ACYCLIC.NB *) or[equal[0,fix[x_]],not[equal[0,fix[y_]]],not[subclass[x_,y_]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) or[equal[0,fix[x_]],not[equal[0,fix[trv[x_]]]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) or[equal[0,fix[x_]],not[equal[0,intersection[x_,inverse[x_]]]]] := True (* added 2003 September 29 based on WF.NB *) or[equal[0,fix[x_]],not[WELLFOUNDED[x_]]] := True (* derived 2004 September 12 in WF-REC-5.NB *) or[equal[0,fix[x_]],not[WELLFOUNDED[inverse[x_]]]] := True (* added 2003 October 15 based on ACYCLIC.NB *) or[equal[0,fix[trv[x_]]],not[equal[0,fix[trv[y_]]]],not[subclass[x_,y_]]] := True (* added 2003 October 15 based on ACYCLIC.NB *) or[equal[0,fix[trv[x_]]],not[WELLFOUNDED[x_]]] := True (* added 2002 October 5 based on MUL-OO.NB *) or[equal[0,x_],FUNCTION[composite[inverse[LEFT[x_]],inverse[NATMUL]]]] := True (* derived 2004 December 31 in X4291-99.NB *) or[equal[0,funpart[x_]],not[equal[0,domain[funpart[x_]]]]] := True (* derived 2004 December 30 in AXREG.NB *) or[equal[0,H[complement[set[0]]]],not[AxReg]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) or[equal[0,intersection[x_,A[x_]]],not[AxReg]] := True (* derived 2005 May 17 in NATRULES.NB *) or[equal[0,intersection[x_,A[x_]]],not[member[x_,omega]]] := True (* derived 2005 February 15 in ON-IND-4.NB *) or[equal[0,intersection[x_,A[x_]]],not[subclass[x_,omega]]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) or[equal[0,intersection[x_,A[x_]]],not[subclass[x_,REGULAR]]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) or[equal[0,intersection[x_,A[x_]]],not[subclass[x_,RUSSELL]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) or[equal[0,intersection[x_,composite[z_,inverse[y_]]]],not[equal[0,intersection[z_,composite[x_,y_]]]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[equal[0,intersection[composite[y_,z_],inverse[x_]]],not[equal[0,intersection[composite[x_,y_],inverse[z_]]]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) or[equal[0,intersection[x_,composite[z_,y_]]],not[equal[0,intersection[z_,composite[x_,inverse[y_]]]]]] := True (* derived 2004 July 16 in X1903-46.NB *) or[equal[0,intersection[x_,composite[PS,x_]]],not[FUNCTION[x_]]] := True (* added 2003 December 19 based on DO-ITER.NB *) or[equal[0,intersection[y_,domain[x_]]],equal[omega,domain[iterate[x_,y_]]], not[subclass[range[x_],domain[x_]]]] := True (* derived 2004 February 28 in RA-IM.NB *) or[equal[0,intersection[x_,domain[y_]]],not[equal[0,y_]]] := True (* added 2003 February 26 based on ACL-Z.NB *) or[equal[0,intersection[x_,y_]],equal[x_,y_],not[member[x_,Z]],not[member[y_,Z]]] := True (* derived 2004 January 24 in FIN-DJ3.NB *) or[equal[0,intersection[FINITE,x_]],not[subclass[x_,image[PS,x_]]]] := True (* derived 2004 December 31 in X4291-99.NB *) or[equal[0,intersection[fix[BIGCUP],range[SINGLETON]]],not[AxReg]] := True (* added 2002 December 23 based on REPLACE.NB *) or[equal[0,intersection[fix[x_],fix[composite[Di,x_]]]],not[FUNCTION[x_]]] := True (* derived 2005 February 19 in ONE-DIV.NB *) or[equal[0,intersection[image[PAIRSET,Di],P[image[x_,set[y_]]]]],not[member[y_,domain[funpart[x_]]]]] := True (* derived 2005 February 19 in ONE-DIV.NB *) or[equal[0,intersection[image[PAIRSET,Di],P[x_]]],not[member[x_,range[SINGLETON]]]] := True (* derived 2004 February 26 in IN-DJ-SU.NB *) or[equal[0,intersection[inverse[x_],inverse[y_]]],not[equal[0,intersection[x_,y_]]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) or[equal[0,intersection[x_,inverse[x_]]],not[equal[0,fix[x_]]],not[TRANSITIVE[x_]]] := True (* derived 2004 February 26 in IN-DJ-SU.NB *) or[equal[0,intersection[x_,inverse[y_]]],not[equal[0,intersection[y_,inverse[x_]]]]] := True (* derived 2004 November 28 in SKOLEM.NB *) or[equal[0,intersection[map[x_,y_],P[z_]]],subclass[x_,image[inverse[z_],y_]]] := True (* derived 2005 February 8 in X1734.NB *) or[equal[0,intersection[x_,y_]],member[union[x_,set[y_]],DESCENDING],not[member[x_,DESCENDING]]] := True (* added 2002 September 10 based on IMV-RULE.NB *) or[equal[0,intersection[x_,y_]],not[equal[0,x_]]] := True (* derived 2004 March 14 in WF-WO.NB *) or[equal[0,intersection[u_,w_]],not[equal[0,intersection[v_,w_]]],not[equal[u_,v_]]] := True (* added 2003 January 14 based on CHAIN-C.NB *) or[equal[0,intersection[x_,y_]],not[equal[0,intersection[y_,z_]]],not[subclass[x_,z_]]] := True (* derived 2004 August 21 in X1775.NB *) or[equal[0,intersection[x_,y_]],not[equal[0,intersection[y_,P[complement[y_]]]]],not[member[x_,REGULAR]]] := True (* derived 2004 August 21 in X1775.NB *) or[equal[0,intersection[x_,y_]],not[equal[0,intersection[y_,P[complement[y_]]]]],not[subclass[x_,REGULAR]]] := True (* derived 2005 February 8 in X1775.NB *) or[equal[0,intersection[x_,y_]],not[member[x_,DESCENDING]],not[member[y_,REGULAR]]] := True (* added 2003 August 8 based on CLIQEQDF.NB *) or[equal[0,intersection[x_,y_]],not[member[y_,Z]],not[subclass[cart[x_,x_],EQUIDIFF]],subclass[x_,y_]] := True (* derived 2004 June 19 based on X1421-45.NB *) or[equal[0,intersection[x_,y_]],not[member[x_,range[SINGLETON]]],subclass[x_,y_]] := True (* derived 2005 April 17 in XVR-ITER.NB *) or[equal[0,intersection[omega,x_]],member[0,x_],not[subclass[image[inverse[SUCC],x_],x_]]] := True (* derived 2005 February 12 in X3673-76.NB *) or[equal[0,intersection[OMEGA,x_]],not[equal[0,intersection[x_,P[complement[x_]]]]]] := True (* derived 2005 February 8 in X1729.NB *) or[equal[0,intersection[x_,P[complement[x_]]]],not[member[x_,DESCENDING]]] := True (* derived 2004 August 21 in X1733.NB *) or[equal[0,intersection[x_,P[complement[x_]]]],not[member[x_,V]],not[subclass[P[x_],DESCENDING]]] := True (* derived 2004 August 21 in X1733.NB *) or[equal[0,intersection[P[complement[U[x_]]],U[x_]]],not[member[x_,V]],not[subclass[x_,DESCENDING]]] := True (* derived 2005 February 8 in X1734.NB *) or[equal[0,intersection[x_,P[intersection[y_,z_]]]],not[equal[0,intersection[x_,P[y_]]]]] := True (* derived 2004 June 23 in ZN-RE.NB *) or[equal[0,intersection[REGULAR,x_]],member[A[image[RANK,x_]],OMEGA]] := True (* derived 2004 June 28 in X1773-1800.NB *) or[equal[0,intersection[REGULAR,x_]],not[equal[0,intersection[x_,P[complement[x_]]]]]] := True (* derived 2005 February 8 in X1774.NB *) or[equal[0,intersection[REGULAR,x_]],not[member[x_,DESCENDING]]] := True (* derived 2004 August 21 in X1733.NB *) or[equal[0,intersection[REGULAR,x_]],not[subclass[P[x_],DESCENDING]]] := True (* derived 2005 February 8 in X1733.NB *) or[equal[0,intersection[REGULAR,U[x_]]],not[subclass[x_,DESCENDING]]] := True (* derived 2004 February 28 in A-SC-DJ.NB *) or[equal[0,intersection[x_,y_]],subclass[A[x_],U[y_]]] := True (* derived 2004 February 20 in REPLACE1.NB *) or[equal[0,lb[x_,V]],not[member[x_,y_]]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[equal[0,x_],member[0,x_],not[equal[x_,image[inverse[S],x_]]]] := True (* added 2002 April 20 based on ON-7-A.NB *) or[equal[0,x_],member[0,x_],not[member[x_,omega]]] := True (* added 2003 January 20 based on ON-1-B.TXT *) or[equal[0,x_],member[0,x_],not[member[x_,OMEGA]]] := True (* derived 2004 December 29 in FUL-REG3.NB *) or[equal[0,x_],member[0,x_],not[member[x_,REGULAR]],not[subclass[U[x_],x_]]] := True (* derived 2004 December 30 in FUL-REG3.NB *) or[equal[0,x_],member[0,x_],not[subclass[x_,REGULAR]],not[subclass[U[x_],x_]]] := True (* added 2003 June 6 based on ACL-UCL.NB *) or[equal[0,x_],member[A[x_],Aclosure[x_]],not[member[x_,V]]] := True (* added 2002 January 23 based on ACLACL.NB *) or[equal[0,y_],member[A[y_],Aclosure[x_]], not[member[y_,V]],not[subclass[y_,x_]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[equal[0,x_],member[A[x_],image[BIGCAP,y_]],not[member[x_,y_]]] := True (* derived 2004 February 1 in FINCHAIN.NB *) or[equal[0,x_],member[A[x_],x_],not[member[x_,FINITE]], not[subclass[cart[x_,x_],union[S,inverse[S]]]]] := True (* added 2002 May 25 based on WELLORD.NB *) or[equal[0,x_],member[A[x_],x_],not[subclass[x_,omega]]] := True (* Theorem ON-WO in ON5 proved 1997 June 5 *) or[equal[0,x_],member[A[x_],x_],not[subclass[x_,OMEGA]]] := True (* derived 2005 January 29 in BA-OM.NB *) or[equal[0,x_],member[A[x_],omega],not[subclass[x_,omega]]] := True (* Theorem ON-A-1 in ON5 reproved 2002 May 31 in ON-A-1.NB *) or[equal[0,x_],member[A[x_],OMEGA],not[subclass[x_,OMEGA]]] := True (* derived 2005 February 20 in CARD-TWO.NB *) or[equal[0,x_],member[x_,image[PAIRSET,Di]],member[x_,range[SINGLETON]],not[member[y_,image[PAIRSET,Di]]],not[subclass[x_,y_]]] := True (* derived 2005 February 15 in X3715-16.NB *) or[equal[0,x_],member[intersection[omega,complement[x_]],omega],not[subclass[x_,omega]],not[subclass[image[SUCC,x_],x_]]] := True (* derived 2005 April 21 in AP-FACT.NB *) or[equal[0,x_],member[y_,x_],member[pair[x_,APPLY[FACTORIAL,y_]],DIV],not[member[x_,omega]],not[member[y_,omega]]] := True (* derived 2004 February 8 in BASICS.NB *) or[equal[0,x_],member[y_,x_],not[subclass[x_,set[y_]]]] := True (* derived 2005 February 13 in NAT.NB *) or[equal[0,x_],member[x_,omega]] := member[x,omega] (* added 2003 July 5 based on EQ-SS.NB *) or[equal[0,x_],member[x_,range[SINGLETON]],not[equal[x_,set[y_]]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[equal[0,x_],member[x_,range[SINGLETON]],not[subclass[x_,set[y_]]]] := True (* derived 2004 February 1 in FINCHAIN.NB *) or[equal[0,x_],member[U[x_],x_],not[member[x_,FINITE]],not[subclass[cart[x_,x_],union[S,inverse[S]]]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[equal[0,x_],member[U[x_],x_],not[member[x_,image[inverse[S],omega]]]] := True (* added 2002 May 12 based on OM-SC-2B.NB *) or[equal[0,x_],member[U[x_],x_],not[member[x_,omega]]] := True (* derived 2005 February 23 in X3729.NB *) or[equal[0,x_],member[U[y_],x_],not[member[x_,omega]],not[subclass[y_,x_]]] := True (* added 2003 February 6 based on OM-SC-2B.NB *) (* Theorem OM-SC-2B in OM4 proved 2000 February 21 *) or[equal[0,x_],member[U[x_],U[y_]],not[member[x_,y_]],not[member[y_,omega]]] := True (* Added 1999 February 6 based on session 0-V.LOG *) or[equal[0,x_],member[x_,V]] := member[x,V] (* derived 2005 June 17 in DF.NB *) or[equal[0,nat[x_]],equal[nat[x_],set[0]],member[set[0],nat[x_]]] := True (* derived 2005 April 21 in FACT-DIV.NB *) or[equal[0,nat[x_]],member[nat[y_],nat[x_]],member[pair[nat[x_],APPLY[FACTORIAL,nat[y_]]],DIV]] := True (* derived 2005 February 13 in NAT.NB *) or[equal[0,nat[x_]],member[x_,omega]] := True (* derived 2005 February 23 in X3729.NB *) or[equal[0,nat[x_]],member[U[y_],nat[x_]],not[subclass[y_,nat[x_]]]] := True (* derived 2005 April 26 in DICHOT.NB *) or[equal[0,nat[x_]],not[subclass[y_,nat[x_]]],not[subclass[nat[x_],U[y_]]]] := True (* derived 2005 May 17 in NATRULES.NB *) or[equal[0,nat[x_]],not[subclass[nat[x_],set[0]]]] := not[equal[nat[x],set[0]]] (* derived 2004 December 31 in X4291-99.NB *) or[equal[0,x],not[AxReg],not[FUNCTION[x_]],not[subclass[x_,composite[inverse[E],x_]]]] := True (* derived 2004 September 23 in WF-LEX.NB *) or[equal[0,x_],not[equal[0,domain[x_]]],not[subclass[x_,cart[y_,z_]]]] := True (* derived 2004 March 14 in WO-TRV.NB *) or[equal[0,y_],not[equal[0,intersection[y_,lb[x_,y_]]]], not[member[y_,V]],not[subclass[y_,fix[x_]]],not[WELLORDER[x_]]] := True (* derived 2004 June 28 in X1773-1800.NB *) or[equal[0,x_],not[equal[0,intersection[x_,P[complement[x_]]]]],not[member[x_,REGULAR]]] := True (* derived 2004 December 30 in FUL-REG3.NB *) or[equal[0,x_],not[equal[0,intersection[x_,P[complement[x_]]]]],not[subclass[x_,REGULAR]]] := True (* added 2002 October 11 based on MUL-SU-S.NB *) or[equal[0,x_],not[equal[0,y_]],not[subclass[x_,y_]]] := True (* derived 2004 July 23 in X23--.NB *) or[equal[0,y_],not[equal[0,VERTSECT[x_]]],not[member[image[x_,y_],V]]] := True (* added 2002 May 25 based on INVAR.NB *) or[equal[0,x_],not[equal[x_,U[x_]]],not[member[x_,omega]]] := True (* added 2003 January 20 based on ON-SUC-7.NB *) (* Theorem ON-SUC-7 in ON7 proved 1997 June 6 *) or[equal[0,x_],not[equal[x_,U[x_]]], not[member[x_,OMEGA]],subclass[omega,x_]] := True (* added 2003 October 7 based on WF-IND.NB *) or[equal[0,y_],not[equal[V,domain[VERTSECT[inverse[x_]]]]], not[subclass[y_,image[x_,y_]]],not[WELLFOUNDED[x_]]] := True (* derived 2004 January 24 in FIN-DJ3.NB *) or[equal[0,x_],not[member[x_,FINITE]],not[subclass[x_,image[PS,x_]]]] := True (* derived 2004 September 23 in WF-U.NB *) or[equal[0,x_],not[member[x_,y_]],not[subclass[x_,image[z_,x_]]],not[WELLFOUNDED[z_]]] := True (* derived 2004 September 23 in WF-U.NB *) or[equal[0,x_],not[member[x_,y_]],not[subclass[x_,image[wf[z_],x_]]]] := True (* derived 2005 February 8 in X3590.NB *) or[equal[0,x_],not[member[x_,omega]],not[subclass[x_,U[x_]]]] := True (* derived 2005 April 26 in DICHOT.NB *) or[equal[0,x_],not[member[x_,omega]],not[subclass[x_,U[y_]]],not[subclass[y_,x_]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[equal[0,y_],not[member[pair[x_,y_],DIV]],subclass[x_,y_]] := True (* derived 2005 January 21 in SS-A.NB *) or[equal[0,x_],not[member[x_,range[SINGLETON]]]] := not[member[x,range[SINGLETON]]] (* added 2001 November 22 based on EQUAL.NB *) or[equal[0,x_],not[subclass[x_,0]]] := True (* Theorem IM-CP-0 in IM1 proved 2000 December 9 *) or[equal[0,x_],not[subclass[cart[x_,y_],z_]],subclass[y_,image[z_,x_]]] := True (* added 2003 October 7 based on WF-IND.NB *) or[equal[0,x_],not[subclass[x_,FINITE]],not[subclass[x_,image[PS,x_]]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[equal[0,x_],not[subclass[x_,image[inverse[thinpart[y_]],x_]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[equal[0,x_],not[subclass[x_,omega]],not[subclass[x_,image[SUCC,x_]]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[equal[0,x_],not[subclass[x_,RFX]],REFLEXIVE[A[x_]]] := True (* derived 2004 March 4 in A-SC-PC.NB *) or[equal[0,x_],not[subclass[U[x_],y_]],subclass[A[x_],y_]] := True (* derived 2004 December 18 in RFX-WRAP.NB *) or[equal[0,rfx[x_]],not[equal[0,fix[x_]]]] := True (* added 2001 November 22 based on MISC.NB *) or[equal[0,x_],subclass[x_,y_]] := subclass[x,y] (* derived 2005 February 22 in DIVRULES.NB *) or[equal[0,x_],subclass[image[inverse[DIV],set[x_]],succ[x_]]] := True (* derived 2005 April 21 in U-PRIMES.NB *) or[equal[0,y_],subclass[ub[x_,y_],range[x_]]] := True (* derived 2004 June 27 in X1691.NB *) or[equal[0,ub[x_,y_]],not[EQUIVALENCE[x_]],subclass[cart[y_,y_],x_]] := True (* derived 2004 February 20 in REPLACE1.NB *) or[equal[0,ub[x_,V]],not[member[x_,y_]]] := True (* derived 2004 November 9 in AC2-AC3.NB *) or[equal[0,X[composite[id[x_],inverse[FIRST]]]],not[equal[0,X[x_]]]] := True (* derived 2004 December 6 in FIN-AXCH.NB *) or[equal[0,X[composite[inverse[E],id[x_]]]],equal[0,X[composite[inverse[E],id[y_]]]], not[equal[0,X[composite[inverse[E],id[union[x_,y_]]]]]]] := True (* derived 2004 November 12 in XS-CO.NB *) or[equal[0,X[composite[inverse[E],id[P[range[x_]]]]]],not[equal[0,X[x_]]],not[member[x_,y_]]] := True (* derived 2004 November 12 in XS-CO.NB *) or[equal[0,X[x_]],equal[0,X[y_]],not[equal[0,X[composite[x_,y_]]]],not[subclass[range[y_],domain[x_]]]] := True (* derived 2004 November 2 in SELECT.NB *) or[equal[0,X[x_]],equal[0,X[y_]],not[equal[0,X[union[x_,y_]]]]] := True (* derived 2004 October 28 in X.NB *) or[equal[0,X[x_]],member[domain[x_],V]] := True (* derived 2004 November 2 in SELECT.NB *) or[equal[0,X[x_]],not[equal[0,X[composite[x_,id[y_]]]]]] := True (* derived 2004 November 2 in SELECT.NB *) or[equal[0,X[x_]],not[equal[0,X[y_]]],not[equal[domain[x_],domain[y_]]],not[subclass[composite[Id,x_],y_]]] := True (* derived 2004 November 18 in XS-IN-AC.NB *) or[equal[0,X[x_]],not[member[x_,y_]],subclass[RS[x_],SELECT]] := True (* added 2001 December 8 based on EQUAL-A.NB *) or[equal[A[x_],A[y_]],not[equal[x_,y_]]] := True (* derived 2004 August 18 in X3010-63.NB *) or[equal[A[x_],Aclosure[A[x_]]],not[subclass[x_,fix[ACLOSURE]]]] := True (* derived 2004 January 22 in AP-11.NB *) or[equal[A[image[x_,image[y_,set[z_]]]],APPLY[x_,APPLY[y_,z_]]],not[FUNCTION[y_]]] := True (* added 2002 May 31 based on A-DIF.NB *) or[equal[x_,A[intersection[y_,complement[x_]]]], not[member[x_,y_]],not[member[y_,OMEGA]]] := True (* added 2002 May 31 based on A-DIF.NB *) or[equal[x_,A[intersection[omega,complement[x_]]]],not[member[x_,omega]]] := True (* added 2002 May 31 based on DICHOT.NB *) or[equal[x_,A[intersection[OMEGA,complement[x_]]]],not[member[x_,OMEGA]]] := True (* derived 2004 March 4 in PAIRSET.NB *) or[equal[A[set[x_,y_]],intersection[x_,y_]],not[member[x_,u_]],not[member[y_,v_]]] := True (* derived 2004 March 4 in PAIRSET.NB *) or[equal[x_,A[set[x_,y_]]],not[member[x_,z_]],not[subclass[x_,y_]]] := True (* derived 2004 August 18 in X3010-63.NB *) or[equal[A[x_],Uclosure[A[x_]]],not[subclass[x_,fix[UCLOSURE]]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[equal[Aclosure[x_],Aclosure[Aclosure[x_]]],not[member[x_,y_]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[Aclosure[x_],Aclosure[y_]],not[equal[x_,y_]]] := True (* added 2003 February 22 based on RA-HULL.NB *) or[equal[Aclosure[x_],fix[HULL[x_]]], not[equal[V,domain[VERTSECT[composite[id[x_],S]]]]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[equal[Aclosure[x_],fix[HULL[x_]]],not[member[x_,y_]]] := True (* added 2002 October 8 based on ACL-IND.NB *) or[equal[Aclosure[intersection[x_,y_]],intersection[x_,y_]], not[equal[x_,Aclosure[x_]]],not[equal[y_,Aclosure[y_]]]] := True (* added 2003 June 25 based on ACL-UCL.NB *) or[equal[x_,Aclosure[x_]],not[member[x_,fix[ACLOSURE]]]] := True (* derived 2005 February 17 in NAT-ACL.NB *) or[equal[x_,Aclosure[x_]],not[member[x_,omega]]] := True (* added 2002 June 1 based on RCF.NB *) or[equal[x_,Aclosure[x_]],not[member[x_,OMEGA]]] := True (* derived 2004 July 22 in X21--.NB *) or[equal[x_,Aclosure[x_]],not[subclass[Aclosure[x_],x_]]] := True (* derived 2004 October 16 in ON-ACL.NB *) or[equal[x_,Aclosure[x_]],not[subclass[x_,OMEGA]]] := True (* added 2003 October 28 based on APPLY.NB *) or[equal[APPLY[x_,y_],APPLY[funpart[x_],y_]],not[FUNCTION[x_]]] := True (* added 2003 October 28 based on APPLY.NB *) or[equal[APPLY[x_,z_],APPLY[y_,z_]],not[equal[x_,y_]]] := True (* added 2003 October 28 based on APPLY.NB *) or[equal[APPLY[x_,y_],APPLY[x_,z_]],not[equal[y_,z_]]] := True (* added 2003 November 2 based on CHARHULL.NB *) or[equal[APPLY[x_,y_],APPLY[x_,z_]],not[equal[image[x_,set[y_]],image[x_,set[z_]]]]] := True (* derived 2004 August 1 in AP-FU-SU.NB *) or[equal[APPLY[x_,z_],APPLY[y_,z_]],not[FUNCTION[y_]],not[member[z_,domain[x_]]],not[subclass[x_,y_]]] := True (* derived 2004 August 2 in COMMON.NB *) or[equal[APPLY[x_,z_],APPLY[y_,z_]],not[FUNCTION[x_]],not[FUNCTION[y_]],not[member[z_,fix[composite[inverse[x_],y_]]]]] := True (* derived 2004 August 2 in COMMON.NB *) or[equal[APPLY[funpart[x_],z_],APPLY[funpart[y_],z_]],not[member[z_,fix[composite[inverse[funpart[x_]],funpart[y_]]]]]] := True (* derived 2004 October 29 in FUN-AP.NB *) or[equal[y_,APPLY[funpart[z_],x_]],not[equal[image[z_,set[x_]],set[y_]]],not[member[y_,w_]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[equal[APPLY[funpart[x_],PAIR[z_,composite[w_,id[image[thinpart[y_],set[z_]]]]]],APPLY[w_,z_]],not[member[z_,domain[w_]]], not[subclass[w_,composite[funpart[x_],id[composite[IMAGE[composite[id[w_],inverse[FIRST]]],VERTSECT[thinpart[y_]]]],inverse[FIRST]]]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[equal[APPLY[funpart[x_],PAIR[z_,composite[w_,id[image[thinpart[y_],set[z_]]]]]],APPLY[w_,z_]], not[member[w_,partrec[funpart[x_],thinpart[y_]]]],not[member[z_,domain[w_]]]] := True (* derived 2004 August 5 in WF-REC-2.NB *) or[equal[APPLY[funpart[x_],PAIR[z_,composite[rec[funpart[x_],thinpart[y_]],id[image[thinpart[y_],set[z_]]]]]], APPLY[rec[funpart[x_],thinpart[y_]],z_]],not[member[z_,domain[rec[funpart[x_],thinpart[y_]]]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 July 28 in FU-AP-VS.NB *) or[equal[APPLY[x_,y_],z_],not[FUNCTION[x_]],not[member[y_,domain[x_]]],not[subclass[image[x_,set[y_]],set[z_]]]] := True (* added 2003 November 2 based on CHARHULL.NB *) or[equal[y_,APPLY[x_,y_]],not[FUNCTION[x_]],not[member[y_,fix[x_]]]] := True (* derived 2004 October 29 in FUN-AP.NB *) or[equal[y_,APPLY[z_,x_]],not[FUNCTION[z_]],not[member[pair[x_,y_],z_]]] := True (* derived 2004 August 5 in WF-REC-2.NB *) or[equal[APPLY[x_,PAIR[z_,composite[rec[x_,y_],id[image[y_,set[z_]]]]]],APPLY[rec[x_,y_],z_]],not[equal[V,domain[VERTSECT[y_]]]], not[FUNCTION[x_]],not[member[z_,domain[rec[x_,y_]]]],not[WELLFOUNDED[inverse[y_]]]] := True (* added 2003 May 23 based on BCL-SU.NB *) or[equal[binclosed[x_],binclosed[y_]],not[equal[x_,y_]]] := True (* derived 2004 January 10 in CARD-FUN.NB *) or[equal[card[x_],card[domain[x_]]],not[FUNCTION[x_]]] := True (* added 2001 December 8 based on EQUAL-A.NB *) or[equal[card[x_],card[y_]],not[equal[x_,y_]]] := True (* derived 2004 January 10 in EQUICARD.NB *) or[equal[card[x_],card[y_]],not[member[pair[x_,y_],Q]]] := True (* added 2002 May 28 based on CARD-OM.NB *) or[equal[x_,card[x_]],not[member[x_,omega]]] := True (* derived 2005 January 7 in CARD-K.NB *) or[equal[card[y_],succ[card[x_]]],not[member[y_,FINITE]],not[member[pair[x_,y_],K]]] := True (* derived 2005 January 7 in CARD-K.NB *) or[equal[card[y_],succ[card[x_]]],not[member[x_,FINITE]],not[member[pair[x_,y_],K]]] := True (* derived 2005 January 7 in CARD-K.NB *) or[equal[card[succ[x_]],succ[card[x_]]],not[member[x_,FINITE]],not[member[x_,REGULAR]]] := True (* derived 2005 January 8 in CARD-ADJ.NB *) or[equal[card[union[x_,set[y_]]],succ[card[x_]]],member[y_,x_],not[member[x_,FINITE]],not[member[y_,V]]] := True (* added 2001 December 8 based on EQ-BIN.NB *) or[equal[cart[x_,u_],cart[y_,v_]],not[equal[u_,v_]],not[equal[x_,y_]]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[equal[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]],not[TOTALORDER[x_]]] := True (* derived 2004 January 24 in WO-TO-1.NB *) or[equal[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]],not[WELLORDER[x_]]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) or[equal[cart[omega,y_],iterate[x_,y_]],not[equal[y_,image[x_,y_]]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[cliques[x_],cliques[y_]],not[equal[x_,y_]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[equal[complement[composite[y_,x_]],union[complement[cart[domain[x_],V]],composite[complement[y_],x_]]],not[FUNCTION[x_]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[equal[complement[domain[y_]],image[inverse[rec[composite[TC,IMAGE[SECOND],SECOND],y_]],set[0]]], not[equal[V,domain[VERTSECT[y_]]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[equal[complement[image[inverse[w_],x_]],image[inverse[w_],complement[x_]]],not[equal[V,domain[w_]]],not[FUNCTION[w_]]] := True (* derived 2004 February 8 in BASICS.NB *) or[equal[x_,complement[y_]],not[equal[0,intersection[x_,y_]]],not[equal[V,union[x_,y_]]]] := True (* added 2001 December 8 based on EQUAL-C.NB *) or[equal[x_,complement[y_]],not[equal[y_,complement[x_]]]] := True (* derived 2004 October 26 in AXCH.NB *) or[equal[complement[set[0]],domain[CHOICE]],not[AxCh]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) or[equal[complement[set[0]],fix[composite[DISJOINT,BIGCAP]]],not[AxReg]] := True (* derived 2004 October 26 in AXCH.NB *) or[equal[complement[set[0]],fix[composite[E,CHOICE]]],not[AxCh]] := True (* derived 2004 October 26 in AXCH.NB *) or[equal[y_,complement[set[x_]]],member[x_,y_],not[equal[V,union[y_,set[x_]]]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[equal[complement[x_],union[complement[cart[domain[x_],V]],composite[Di,x_]]],not[FUNCTION[x_]]] := True (* added 2003 August 31 based on CAP-CORE.NB *) or[equal[composite[CAP,cross[CORE[x_],CORE[x_]]],composite[CORE[x_],CAP]], not[subclass[image[CAP,cart[x_,x_]],x_]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[equal[composite[complement[y_],x_],composite[complement[composite[y_,x_]],id[domain[x_]]]],not[FUNCTION[x_]]] := True (* added 2001 December 25 based on SUPER-CO.NB *) or[equal[composite[u___,x_,v___],composite[u___,y_,v___]],not[equal[x_,y_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) or[equal[composite[x_,x_],composite[y_,y_]],not[equal[x_,y_]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[equal[composite[z_,x_],composite[z_,y_]],not[equal[composite[Id,x_],composite[Id,y_]]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[equal[composite[x_,z_],composite[y_,z_]],not[equal[composite[Id,x_],composite[Id,y_]]]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[equal[composite[u_,x_],composite[v_,y_]], not[equal[u_,composite[v_,w_]]],not[equal[y_,composite[w_,x_]]]] := True (* added 2003 November 6 based on HULLTOPS.NB *) or[equal[composite[x_,y_],composite[x_,y_,x_,y_]], not[equal[composite[x_,x_],x_]],not[equal[composite[y_,y_],y_]], not[FUNCTION[y_]],not[subclass[image[x_,fix[y_]],fix[y_]]]] := True (* added 2001 December 8 based on EQ-BIN.NB *) or[equal[composite[x_,u_],composite[y_,v_]],not[equal[u_,v_]],not[equal[x_,y_]]] := True (* added 2003 September 4 based on IDEMCORE.NB *) or[equal[composite[CORE[x_],CORE[y_]],CORE[x_]],not[subclass[x_,y_]]] := True (* added 2003 September 4 based on IDEMCORE.NB *) or[equal[composite[CORE[y_],CORE[x_]],CORE[x_]],not[subclass[x_,y_]]] := True (* added 2003 August 22 based on AC-TWIST.NB *) or[equal[composite[x_,cross[x_,x_]],composite[x_,cross[x_,x_],TWIST]], not[associative[x_]],not[equal[x_,composite[x_,SWAP]]]] := True (* added 2003 July 1 based on ASSOC.NB *) or[equal[composite[x_,cross[x_,Id]], composite[x_,cross[Id,x_],ASSOC]],not[associative[x_]]] := True (* added 2003 August 22 based on AC-TWIST.NB *) or[equal[composite[x_,cross[Id,x_]], composite[x_,cross[x_,Id],inverse[ASSOC]]],not[associative[x_]]] := True (* added 2002 August 25 based on INTTWINE.NB *) or[equal[composite[cross[Id,y_],power[z_]], composite[cross[inverse[y_],Id],power[x_]]], not[equal[composite[x_,y_],composite[y_,z_]]]] := True (* added 2003 September 6 based on CUP-HULL.NB *) or[equal[composite[CUP,cross[HULL[x_],HULL[x_]]],composite[HULL[x_],CUP]], not[subclass[image[CUP,cart[x_,x_]],x_]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[equal[composite[Di,x_],composite[complement[x_],id[domain[x_]]]],not[FUNCTION[x_]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[equal[composite[funpart[y_],x_],funpart[composite[y_,x_]]],not[FUNCTION[x_]]] := True (* derived 2004 July 28 in COMMON1.NB *) or[equal[composite[funpart[x_],id[z_]],composite[funpart[y_],id[z_]]], not[subclass[z_,fix[composite[inverse[funpart[x_]],funpart[y_]]]]]] := True (* added 2002 December 23 based on REPLACE.NB *) or[equal[x_,composite[funpart[y_],id[domain[x_]]]],not[subclass[x_,funpart[y_]]]] := True (* derived 2004 September 14 in WF-REC-6.NB *) or[equal[composite[x_,history[rec[x_,y_],y_]],rec[x_,y_]], not[equal[V,domain[VERTSECT[y_]]]], not[equal[cart[V,V],domain[x_]]],not[FUNCTION[x_]], not[WELLFOUNDED[inverse[y_]]]] := True (* added 2003 November 6 based on HULLTOPS.NB *) or[equal[composite[HULL[x_],HULL[y_]], HULL[intersection[fix[HULL[x_]],fix[HULL[y_]]]]], not[subclass[image[HULL[x_],fix[HULL[y_]]],fix[HULL[y_]]]]] := True (* derived 2004 October 7 in HULL-I.NB *) or[equal[composite[HULL[x_],HULL[y_]],HULL[x_]],not[subclass[x_,y_]]] := True (* derived 2004 October 7 in HULL-I.NB *) or[equal[composite[HULL[y_],HULL[x_]],HULL[x_]],not[subclass[x_,y_]]] := True (* derived 2004 October 7 in HULL-I.NB *) or[equal[hull[x_,z_],hull[x_,hull[y_,z_]]],not[subclass[x_,y_]]] := True (* derived 2004 October 7 in HULL-I.NB *) or[equal[hull[x_,z_],hull[y_,hull[x_,z_]]],not[subclass[x_,y_]]] := True (* derived 2004 December 10 in DIV-TRV.NB *) or[equal[composite[x_,id[cart[image[x_,cart[y_,z_]],V]],inverse[SECOND]], composite[x_,id[cart[y_,V]],inverse[SECOND],x_,id[cart[z_,V]],inverse[SECOND]]],not[associative[x_]]] := True (* derived 2004 December 10 in DIV-TRV.NB *) or[equal[composite[x_,id[cart[V,image[x_,cart[y_,z_]]]],inverse[FIRST]], composite[x_,id[cart[V,z_]],inverse[FIRST],x_,id[cart[V,y_]],inverse[FIRST]]],not[associative[x_]]] := True (* derived 2004 June 16 in X1303.NB *) or[equal[composite[id[y_],x_],composite[x_,id[image[inverse[x_],y_]]]],not[FUNCTION[x_]]] := True (* added 2003 July 4 based on COARSER.NB *) or[equal[composite[w___,id[x_],z___],composite[w___,id[y_],z___]],not[equal[x_,y_]]] := True (* derived 2004 July 28 in COMMON1.NB *) or[equal[composite[x_,id[z_]],composite[y_,id[z_]]], not[FUNCTION[x_]],not[FUNCTION[y_]],not[subclass[z_,fix[composite[inverse[x_],y_]]]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[equal[composite[x_,id[composite[IMAGE[composite[id[rec[x_,y_]],inverse[FIRST]]],VERTSECT[y_]]],inverse[FIRST]],rec[x_,y_]], not[equal[V,domain[VERTSECT[y_]]]],not[equal[cart[V,V],domain[x_]]],not[FUNCTION[x_]],not[WELLFOUNDED[inverse[y_]]]] := True (* added 2002 January 29 based on FUNCTION.NB *) or[equal[x_,composite[y_,id[domain[x_]]]],not[FUNCTION[y_]],not[subclass[x_,y_]]] := True (* derived 2004 June 17 in X1368.NB *) or[equal[composite[x_,y_],id[domain[y_]]],not[FUNCTION[x_]],not[subclass[y_,inverse[x_]]]] := True (* derived 2005 April 7 in WF-TO.NB *) or[equal[composite[id[fix[x_]],complement[inverse[x_]],id[fix[x_]]],intersection[Di,x_]],not[TOTALORDER[x_]]] := True (* derived 2004 March 14 in WO-TRV.NB *) or[equal[composite[id[fix[x_]],complement[inverse[x_]],id[fix[x_]]],intersection[Di,x_]],not[WELLORDER[x_]]] := True (* derived 2004 July 28 in COMMON1.NB *) or[equal[composite[x_,id[fix[composite[inverse[x_],y_]]]],composite[y_,id[fix[composite[inverse[x_],y_]]]]], not[FUNCTION[x_]],not[FUNCTION[y_]]] := True (* derived 2004 June 19 in X14--.NB *) or[equal[composite[x_,id[fix[composite[inverse[x_],y_]]]],intersection[x_,y_]],not[FUNCTION[x_]]] := True (* added 2002 February 8 based on IDEMPOT.NB *) or[equal[composite[x_,id[fix[x_]]],id[fix[x_]]],not[FUNCTION[x_]]] := True (* derived 2004 June 12 in X1192.NB *) or[equal[composite[x_,id[y_],inverse[x_]],id[image[x_,y_]]],not[FUNCTION[x_]]] := True (* derived 2004 June 16 in X1345.NB *) or[equal[composite[Id,x_],inverse[y_]],not[equal[domain[x_],range[y_]]],not[subclass[composite[x_,y_],Id]]] := True (* added 2002 January 15 based on EQV-2.NB *) or[equal[composite[Id,x_],inverse[y_]],not[equal[y_,inverse[x_]]]] := True (* derived 2005 April 16 in FACTRL.NB *) or[equal[composite[x_,id[omega]],composite[id[omega],SUCC]], not[equal[composite[SUCC,x_],composite[x_,SUCC]]],not[equal[image[x_,set[0]],set[set[0]]]]] := True (* derived 2005 April 16 in FACTRL.NB *) or[equal[composite[x_,id[omega]],id[omega]], not[equal[composite[SUCC,x_],composite[x_,SUCC]]],not[equal[image[x_,set[0]],set[0]]]] := True (* added 2002 August 26 based on UNIQUE.NB *) or[equal[composite[w_,id[omega]],iterate[u_,image[w_,set[0]]]], not[equal[composite[u_,w_],composite[w_,SUCC]]]] := True (* added 2002 May 15 based on UNIQUE.NB *) or[equal[composite[w_,id[omega]],iterate[x_,y_]], not[equal[y_,image[w_,set[0]]]],not[equal[composite[w_,SUCC],composite[x_,w_]]]] := True (* added 2002 May 22 based on EXAMPLES.NB *) or[equal[composite[w_,id[omega]],power[x_]], not[equal[Id,image[w_,set[0]]]],not[equal[composite[w_,SUCC],composite[cross[Id,x_],w_]]]] := True (* derived 2004 June 18 in X13-FUNP.NB *) or[equal[composite[x_,id[range[x_]]],id[range[x_]]],not[equal[x_,composite[x_,x_]]],not[FUNCTION[x_]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[equal[composite[IMAGE[x_],IMAGE[y_]],IMAGE[composite[x_,y_]]],not[equal[V,domain[VERTSECT[y_]]]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[equal[composite[IMAGE[x_],IMAGE[y_]],IMAGE[composite[x_,y_]]],not[FUNCTION[y_]]] := True (* added 2003 January 8 based on HULL-IVR.NB *) or[equal[composite[IMAGE[x_],IMAGE[x_]],IMAGE[x_]],not[equal[x_,composite[x_,x_]]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[equal[composite[IMAGE[x_],inverse[S]],composite[inverse[S],IMAGE[x_]]],not[FUNCTION[x_]]] := True (* added 2002 August 25 based on INTTWINE.NB *) or[equal[composite[y_,image[power[z_],w_]],composite[image[power[x_],w_],y_]], not[equal[composite[x_,y_],composite[y_,z_]]]] := True (* added 2002 August 27 based on POW-COMP.NB *) or[equal[composite[image[power[x_],set[w_]], image[power[y_],set[w_]]], image[power[composite[x_,y_]],set[w_]]], not[equal[composite[x_,y_],composite[y_,x_]]]] := True (* derived 2004 August 18 in X3010-63.NB *) or[equal[composite[IMAGE[x_],VERTSECT[y_]],VERTSECT[composite[x_,y_]]],not[equal[V,domain[VERTSECT[y_]]]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[equal[composite[intersection[y_,complement[z_]],x_],intersection[complement[composite[z_,x_]],composite[y_,x_]]],not[FUNCTION[x_]]] := True (* derived 2004 June 12 in X1192.NB *) or[equal[composite[x_,intersection[z_,composite[inverse[x_],y_]]],intersection[y_,composite[x_,z_]]],not[FUNCTION[x_]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[equal[composite[intersection[y_,z_],x_],intersection[composite[y_,x_],composite[z_,x_]]],not[FUNCTION[x_]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[equal[composite[x_,intersection[y_,z_]],intersection[composite[x_,y_],composite[x_,z_]]],not[FUNCTION[inverse[x_]]]] := True (* derived 2004 June 12 in X1192.NB *) or[equal[composite[x_,intersection[y_,inverse[x_]]],id[fix[composite[x_,y_]]]],not[FUNCTION[x_]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[equal[composite[x_,y_],intersection[x_,y_]],not[subclass[x_,Id]],not[subclass[y_,Id]]] := True (* added 2003 June 17 based on THINRULE.NB *) or[equal[composite[x_,inverse[E]],composite[inverse[E],IMAGE[x_]]], not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2004 October 8 in BC-IM-PC.NB *) or[equal[composite[inverse[E],x_],composite[inverse[E],x_,inverse[S]]], not[subclass[composite[x_,inverse[S]],composite[inverse[S],x_]]]] := True (* derived 2004 June 18 in X13-FUNP.NB *) or[equal[composite[inverse[x_],x_],id[domain[x_]]],not[FUNCTION[inverse[x_]]]] := True (* added 2002 January 29 based on FUNCTION.NB *) or[equal[composite[x_,inverse[x_]],id[range[x_]]],not[FUNCTION[x_]]] := True (* added 2003 August 8 based on CLIQEQDF.NB *) or[equal[z_,composite[inverse[plus[x_]],plus[y_]]], not[member[z_,Z]],not[member[pair[x_,y_],z_]]] := True (* added 2003 August 8 based on REPLACE.NB *) or[equal[composite[inverse[plus[x_]],plus[y_]],plus[natsub[y_,x_]]],not[subclass[x_,y_]]] := True (* added 2003 June 17 based on THINRULE.NB *) or[equal[composite[inverse[VERTSECT[x_]],S],LB[x_]], not[equal[V,domain[VERTSECT[x_]]]]] := True (* added 2003 June 30 based on ASSOC.NB *) or[equal[composite[x_,LEFT[y_],x_,RIGHT[z_]],composite[x_,RIGHT[z_],x_,LEFT[y_]]], not[equal[composite[x_,cross[x_,Id]],composite[x_,cross[Id,x_],ASSOC]]]] := True (* derived 2004 July 21 in TOMINMAX.NB *) or[equal[composite[MAXIMAL[x_],id[P[fix[x_]]]],GREATEST[x_]],not[TOTALORDER[x_]]] := True (* derived 2004 July 21 in TOMINMAX.NB *) or[equal[composite[MINIMAL[x_],id[P[fix[x_]]]],LEAST[x_]],not[TOTALORDER[x_]]] := True (* added 2002 November 28 based on ITER-ADD.NB *) or[equal[composite[NATMUL,LEFT[x_]], iterate[iterate[SUCC,set[x_]],set[0]]], not[member[x_,omega]]] := True (* added 2002 February 8 based on IDEMPOT.NB *) or[equal[x_,composite[x_,x_]],not[equal[fix[x_],range[x_]]],not[FUNCTION[x_]]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[equal[x_,composite[x_,x_]],not[equal[x_,y_]],not[equal[y_,composite[y_,y_]]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[equal[x_,composite[x_,x_]],not[EQUIVALENCE[x_]]] := True (* derived 2004 June 20 in X1604-56.NB *) or[equal[x_,composite[x_,x_]],not[PARTIALORDER[x_]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[equal[x_,composite[x_,x_]],not[REFLEXIVE[x_]],not[TRANSITIVE[x_]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[equal[x_,composite[y_,x_]],not[subclass[x_,composite[y_,x_]]],not[subclass[composite[y_,y_],Id]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[equal[x_,composite[x_,y_]],not[subclass[x_,composite[x_,y_]]],not[subclass[composite[y_,y_],Id]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[equal[x_,composite[x_,x_]],not[TOTALORDER[x_]]] := True (* derived 2004 August 18 in X3010-63.NB *) or[equal[composite[POWER,IMAGE[x_]],composite[IMAGE[IMAGE[x_]],POWER]],not[FUNCTION[x_]]] := True (* derived 2004 July 15 in X2310-57.NB *) or[equal[composite[SINGLETON,x_],composite[VERTSECT[x_],id[domain[x_]]]],not[FUNCTION[x_]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[equal[composite[SUCC,id[U[x_]]],composite[id[x_],SUCC]],not[member[x_,OMEGA]]] := True (* derived 2004 March 4 in RELATION.NB *) or[equal[x_,composite[x_,SWAP]],not[subclass[x_,composite[x_,SWAP]]]] := True (* added 2002 August 27 based on POW-COMP.NB *) or[equal[composite[SWAP,RIF,intersection[composite[inverse[FIRST],power[x_]], composite[inverse[SECOND],power[y_]]]],power[composite[x_,y_]]], not[equal[composite[x_,y_],composite[y_,x_]]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[equal[composite[TC,IMAGE[rec[composite[TC,IMAGE[SECOND],SECOND],y_]],VERTSECT[y_]],rec[composite[TC,IMAGE[SECOND],SECOND],y_]], not[equal[V,domain[VERTSECT[y_]]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2005 April 17 in XVR-ITER.NB *) or[equal[composite[y_,trv[z_]],composite[trv[x_],y_]],not[equal[composite[x_,y_],composite[y_,z_]]]] := True (* added 2004 April 17 based on CORE.NB *) or[equal[core[x_,y_],core[x_,z_]],not[equal[y_,z_]]] := True (* added 2004 April 17 based on CORE.NB *) or[equal[core[x_,z_],core[y_,z_]],not[equal[x_,y_]]] := True (* added 2003 November 12 based on CHARCORE.NB *) or[equal[CORE[fix[x_]],x_],not[equal[V,domain[x_]]],not[equal[composite[x_,x_],x_]],not[FUNCTION[x_]], not[subclass[composite[x_,S],composite[S,x_]]],not[subclass[x_,inverse[S]]]] := True (* derived 2004 May 4 in CRHL-FIX.NB *) or[equal[x_,core[y_,x_]],not[member[x_,y_]]] := True (* derived 2004 May 4 in REPLACE.NB *) or[equal[core[x_,U[y_]],U[y_]],not[member[y_,z_]],not[subclass[y_,x_]]] := True (* derived 2004 May 4 in REPLACE.NB *) or[equal[core[x_,U[y_]],U[y_]],not[member[y_,z_]],not[subclass[y_,Uclosure[x_]]]] := True (* added 2001 December 25 based on CROSS.NB *) or[equal[cross[x_,y_],cross[z_,y_]],not[equal[x_,z_]]] := True (* added 2001 December 25 based on CROSS.NB *) or[equal[cross[x_,y_],cross[x_,z_]],not[equal[y_,z_]]] := True (* added 2001 December 25 based on CROSS.NB *) or[equal[cross[u_,v_],cross[x_,y_]], not[equal[u_,x_]],not[equal[v_,y_]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[domain[x_],domain[y_]],not[equal[x_,y_]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[equal[domain[w_],domain[VERTSECT[y_]]],not[equal[w_,composite[TC,IMAGE[w_],VERTSECT[y_]]]]] := True (* derived 2004 August 1 in FIXRULES.NB *) or[equal[domain[x_],fix[composite[inverse[x_],y_]]],not[subclass[x_,y_]]] := True (* derived 2004 August 1 in FIXRULES.NB *) or[equal[domain[x_],fix[composite[inverse[y_],x_]]],not[subclass[x_,y_]]] := True (* derived 2004 October 26 in AXCH.NB *) or[equal[domain[x_],fix[composite[y_,x_]]],not[subclass[x_,inverse[y_]]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[equal[domain[x_],fix[x_]],not[EQUIVALENCE[x_]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) or[equal[domain[x_],fix[x_]],not[PARTIALORDER[x_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[equal[domain[x_],fix[x_]],not[REFLEXIVE[x_]]] := True (* derived 2004 June 15 in X12--.NB *) or[equal[domain[x_],fix[x_]],not[subclass[x_,Id]]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[equal[domain[x_],fix[x_]],not[TOTALORDER[x_]]] := True (* derived 2004 December 25 in SELCO-LT.NB *) or[equal[domain[x_],image[inverse[x_],z_]],not[subclass[x_,y_]],not[subclass[range[y_],z_]]] := True (* derived 2003 December 18 in RA-ITER.NB *) or[equal[domain[x_],image[inverse[x_],y_]],not[subclass[range[x_],y_]]] := True (* added 2002 October 1 based on ZER-1.NB *) or[equal[domain[x_],image[inverse[S],domain[x_]]], not[subclass[composite[x_,S],composite[S,x_]]]] := True (* added 2003 June 9 based on BOUNDED.NB *) or[equal[domain[LB[x_]],domain[LB[y_]]],not[equal[x_,y_]]] := True (* derived 2004 January 24 in WO-WRAP.NB *) or[equal[domain[LEAST[x_]],intersection[complement[set[0]],P[fix[x_]]]],not[WELLORDER[x_]]] := True (* added 2003 June 9 based on BOUNDED.NB *) or[equal[domain[LB[x_]],image[inverse[S],range[VERTSECT[x_]]]],not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2004 December 5 in MAP-CO.NB *) or[equal[x_,domain[w_]],not[member[w_,map[x_,y_]]]] := True (* derived 2004 March 4 in RELATION.NB *) or[equal[domain[x_],range[x_]],not[equal[x_,inverse[x_]]]] := True (* added 2002 September 9 based on CP-SU-ID.NB *) or[equal[domain[x_],range[x_]],not[subclass[x_,Id]]] := True (* derived 2004 March 4 in RELATION.NB *) or[equal[domain[x_],range[x_]],not[subclass[x_,inverse[x_]]]] := True (* derived 2004 August 4 in THIN-DO.NB *) or[equal[domain[UB[composite[E,x_]]],P[domain[x_]]],not[equal[V,domain[VERTSECT[x_]]]]] := True (* added 2003 June 9 based on BOUNDED.NB *) or[equal[domain[UB[x_]],domain[UB[y_]]],not[equal[x_,y_]]] := True (* derived 2005 January 7 in K-RULES.NB *) or[equal[x_,y_],equal[y_,z_],not[member[pair[x_,z_],K]],not[subclass[x_,y_]],not[subclass[y_,z_]]] := True (* derived 2004 May 12 in EQV-GEN.NB *) or[equal[eqv[x_],eqv[y_]],not[equal[x_,y_]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) or[equal[eqv[x_],eqv[y_]],not[equal[x_,eqv[y_]]]] := True (* derived 2004 July 16 on TRV-SYM.NB *) or[equal[eqv[x_],trv[x_]],not[equal[x_,inverse[x_]]]] := True (* added 2002 June 1 based on RCF.NB *) or[equal[x_,fix[composite[BIGCAP,RC[x_]]]],not[member[x_,OMEGA]]] := True (* Theorem X-FU-FP in X3 proved 2001 December 29 *) or[equal[fix[composite[inverse[x_],y_,x_]], image[inverse[x_],fix[y_]]],not[FUNCTION[x_]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[equal[fix[composite[inverse[x_],y_]],intersection[domain[x_],domain[y_]]],not[subclass[x_,Id]],not[subclass[y_,Id]]] := True (* derived 2004 August 1 in FIXRULES.NB *) or[equal[fix[composite[x_,inverse[y_]]],range[x_]],not[subclass[x_,y_]]] := True (* derived 2004 August 1 in FIXRULES.NB *) or[equal[fix[composite[y_,inverse[x_]]],range[x_]],not[subclass[x_,y_]]] := True (* derived 2005 January 16 in RFX-CO.NB *) or[equal[fix[x_],fix[composite[x_,x_]]],not[REFLEXIVE[x_]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[fix[x_],fix[y_]],not[equal[x_,y_]]] := True (* derived 2004 June 18 in X13-FUNP.NB *) or[equal[fix[funpart[x_]],range[funpart[x_]]],not[equal[composite[funpart[x_],funpart[x_]],funpart[x_]]]] := True (* added 2003 April 3 based on FIXHULLI.NB *) or[equal[fix[HULL[intersection[x_,y_]]],intersection[x_,y_]], not[equal[x_,fix[HULL[x_]]]],not[equal[y_,fix[HULL[y_]]]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[equal[fix[IMAGE[cross[Id,x_]]],subvar[cross[Id,x_]]],not[subclass[composite[x_,x_],Id]]] := True (* added 2002 February 8 based on IDEMPOT.NB *) or[equal[fix[x_],image[x_,fix[x_]]],not[FUNCTION[x_]]] := True (* derived 2004 July 21 in TOMINMAX.NB *) or[equal[fix[x_],image[MAXIMAL[x_],P[fix[x_]]]],not[TOTALORDER[x_]]] := True (* derived 2004 July 21 in TOMINMAX.NB *) or[equal[fix[x_],image[MINIMAL[x_],P[fix[x_]]]],not[TOTALORDER[x_]]] := True (* added 2002 February 9 based on MOREIDEM.NB *) or[equal[fix[x_],range[x_]],not[equal[x_,composite[x_,x_]]],not[FUNCTION[x_]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[equal[fix[x_],range[x_]],not[EQUIVALENCE[x_]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) or[equal[fix[x_],range[x_]],not[PARTIALORDER[x_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[equal[fix[x_],range[x_]],not[REFLEXIVE[x_]]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[equal[fix[x_],range[x_]],not[TOTALORDER[x_]]] := True (* added 2001 December 28 based on FUNPART.NB *) or[equal[funpart[x_],funpart[y_]],not[equal[x_,y_]]] := True (* added 2001 December 20 based on SUBST-1.NB *) or[equal[GREATEST[x_],GREATEST[y_]],not[equal[x_,y_]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[H[x_],H[y_]],not[equal[x_,y_]]] := True (* added 2003 February 15 based on FUL-PC-H.NB *) or[equal[H[x_],intersection[x_,P[x_]]],not[subclass[x_,FULL]]] := True (* derived 2004 June 15 in HULIVRSW.NB *) or[equal[HULL[fix[IMAGE[x_]]],IMAGE[x_]],not[equal[V,fix[x_]]],not[equal[x_,composite[x_,x_]]]] := True (* added 2003 November 2 based on CHARHULL.NB *) or[equal[x_,HULL[fix[x_]]],not[equal[x_,composite[x_,x_]]],not[FUNCTION[x_]], not[subclass[x_,S]],not[subclass[composite[x_,S],composite[S,x_]]]] := True (* added 2003 May 9 based on CUT-EQ.NB *) or[equal[HULL[x_],HULL[y_]],not[equal[x_,y_]]] := True (* derived 2004 March 29 based on HULL.NB *) or[equal[hull[x_,z_],hull[y_,z_]],not[equal[x_,y_]]] := True (* derived 2004 March 29 based on HULL.NB *) or[equal[hull[x_,y_],hull[x_,z_]],not[equal[y_,z_]]] := True (* derived 2004 May 5 in IVR-HULL.NB *) or[equal[hull[invar[x_],y_],union[y_,image[trv[x_],y_]]], not[equal[V,domain[VERTSECT[x_]]]],not[member[y_,V]]] := True (* derived 2004 May 4 in CRHL-FIX.NB *) or[equal[x_,hull[y_,x_]],not[member[x_,y_]]] := True (* derived 2004 March 29 based on HULL.NB *) or[equal[y_,hull[x_,y_]],not[member[y_,Aclosure[x_]]]] := True (* derived 2004 March 29 based on HULL.NB *) or[equal[hull[x_,y_],U[image[HULL[x_],P[y_]]]],not[member[y_,image[inverse[S],x_]]]] := True (* derived 2004 March 29 based on HULL.NB *) or[equal[hull[x_,union[y_,z_]],union[hull[x_,y_],hull[x_,z_]]], not[subclass[image[CUP,cart[x_,x_]],x_]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[equal[id[fix[x_]],intersection[x_,inverse[x_]]],not[PARTIALORDER[x]]] := True (* derived 2004 December 18 in RFX-WRAP.NB *) or[equal[id[fix[x_]],rfx[x_]],not[FUNCTION[x_]]] := True (* added 2002 October 8 based on INVAR-I.NB *) or[equal[x_,image[CAP,cart[x_,x_]]],not[equal[x_,Aclosure[x_]]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[equal[x_,image[CAP,cart[x_,x_]]],not[member[x_,TOPS]]] := True (* derived 2004 July 28 in APPLY.NB *) or[equal[image[z_,cart[set[x_],set[y_]]],set[APPLY[z_,PAIR[x_,y_]]]],not[FUNCTION[z_]]] := True (* derived 2004 June 18 in X13-FUNP.NB *) or[equal[image[x_,complement[y_]],intersection[complement[image[x_,y_]],range[x_]]],not[FUNCTION[inverse[x_]]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) or[equal[image[eqv[x_],set[u_]],image[eqv[x_],set[v_]]], not[member[pair[u_,v_],eqv[x_]]]] := True (* derived 2004 August 26 in WF-REC-3.NB *) or[equal[image[IMAGE[composite[id[rec[x_,y_]],inverse[FIRST]]],invar[y_]],partrec[x_,y_]], not[equal[V,domain[VERTSECT[y_]]]],not[FUNCTION[x_]],not[WELLFOUNDED[inverse[y_]]]] := True (* added 2002 May 10 based on WORK1945.NB *) or[equal[image[IMAGE[FIRST],P[x_]],P[domain[x_]]], not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2004 August 18 in X3010-63.NB *) or[equal[image[IMAGE[funpart[x_]],P[y_]],P[image[funpart[x_],y_]]],not[member[y_,V]]] := True (* derived 2005 February 5 in X2894.NB *) or[equal[image[u_,image[v_,z_]],image[x_,image[y_,z_]]],not[equal[composite[u_,v_],composite[x_,y_]]]] := True (* derived 2004 June 18 in X1372-82.NB *) or[equal[image[x_,image[inverse[x_],y_]],intersection[y_,range[x_]]],not[FUNCTION[x_]]] := True (* derived 2004 June 18 in X1379.NB *) or[equal[y_,image[x_,image[inverse[x_],y_]]],not[FUNCTION[x_]],not[subclass[y_,range[x_]]]] := True (* added 2001 December 20 based on SUBST-1.NB *) or[equal[IMAGE[x_],IMAGE[y_]],not[equal[x_,y_]]] := True (* added 2001 December 8 based on EQUAL-A.NB *) or[equal[image[z_,x_],image[z_,y_]],not[equal[x_,y_]]] := True (* added 2001 December 8 based on EQUAL-A.NB *) or[equal[image[x_,z_],image[y_,z_]],not[equal[x_,y_]]] := True (* added 2001 December 8 based on EQUAL-A.NB *) or[equal[image[x_,u_],image[y_,v_]],not[equal[u_,v_]],not[equal[x_,y_]]] := True (* derived 2004 August 18 in X3010-63.NB *) or[equal[image[IMAGE[x_],P[y_]],P[image[x_,y_]]],not[FUNCTION[x_]],not[member[y_,V]]] := True (* derived 2004 August 4 in THIN-RA.NB *) or[equal[image[IMAGE[SECOND],P[x_]],P[range[x_]]],not[equal[V,domain[VERTSECT[inverse[x_]]]]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[equal[image[x_,y_],intersection[y_,fix[x_]]],not[subclass[x_,Id]]] := True (* derived 2004 June 18 in X1379.NB *) or[equal[y_,image[x_,intersection[z_,image[inverse[x_],y_]]]],not[FUNCTION[x_]],not[subclass[y_,image[x_,z_]]]] := True (* added 2003 August 28 based on IMIN-FUI.NB *) or[equal[image[x_,intersection[y_,z_]],intersection[image[x_,y_],image[x_,z_]]], not[FUNCTION[inverse[x_]]]] := True (* added 2001 December 29 based on X-FU-FP.NB *) or[equal[image[inverse[x_],z_],image[inverse[y_],z_]],not[equal[x_,y_]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[equal[image[inverse[x_],y_],intersection[y_,domain[x_]]],not[subclass[x_,Id]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[equal[image[inverse[x_],y_],intersection[y_,fix[x_]]],not[subclass[x_,Id]]] := True (* derived 2005 January 4 in ORDINAL.NB *) or[equal[image[inverse[RANK],succ[x_]],P[image[ZN,x_]]],not[member[x_,OMEGA]]] := True (* derived 2004 December 25 in SELCO-LT.NB *) or[equal[image[x_,z_],range[x_]],not[subclass[x_,y_]],not[subclass[domain[y_],z_]]] := True (* added 2003 October 20 based on MONOPLUS.NB *) or[equal[x_,image[inverse[S],x_]],not[equal[V,x_]]] := True (* derived 2005 February 10 in X3618.NB *) or[equal[image[inverse[S],succ[x_]],P[x_]],not[member[x_,y_]],not[subclass[U[x_],x_]]] := True (* derived 2005 February 10 in X3618.NB *) or[equal[image[inverse[S],succ[x_]],P[x_]],not[member[x_,OMEGA]]] := True (* derived 2004 April 24 in BA-BC.NB *) or[equal[image[inverse[S],Uclosure[x_]],P[U[x_]]],not[member[x_,y_]]] := True (* derived 2004 June 19 in X1461.NB *) or[equal[y_,image[x_,y_]],not[FUNCTION[x_]],not[subclass[y_,fix[x_]]]] := True (* derived 2005 February 5 in X3330.NB *) or[equal[image[Q,set[x_]],image[Q,set[y_]]],not[member[pair[x_,y_],Q]]] := True (* derived 2004 February 28 in RA-IM.NB *) or[equal[image[x_,y_],range[x_]],not[subclass[x_,cart[y_,z_]]]] := True (* derived 2004 February 28 in RA-IM.NB *) or[equal[image[x_,y_],range[x_]],not[subclass[domain[x_],y_]]] := True (* derived 2003 December 25 in RC-CUP.NB *) or[equal[image[RC[x_],FINITE],P[x_]],not[member[x_,FINITE]]] := True (* added 2002 September 17 based on EQUAL.NB *) or[equal[image[z_,set[x_]],image[z_,set[y_]]],not[equal[x_,y_]]] := True (* derived 2004 June 27 in X1693-97.NB *) or[equal[image[x_,set[u_]],image[x_,set[v_]]],not[EQUIVALENCE[x_]],not[member[pair[u_,v_],x_]]] := True (* derived 2004 July 15 in X1698.NB *) or[equal[image[x_,set[u_]],image[x_,set[v_]]], not[EQUIVALENCE[x_]],not[member[pair[u_,v_],composite[inverse[x_],x_]]]] := True (* added 2003 October 28 based on APPLY.NB *) or[equal[image[x_,set[y_]],set[APPLY[x_,y_]]],not[FUNCTION[x_]]] := True (* derived 204 June 12 in X1183.NB *) or[equal[image[z_,set[x_]],set[y_]],not[FUNCTION[z_]],not[member[pair[x_,y_],z_]]] := True (* derived 2004 Agust 13 in X4015-56.NB *) or[equal[image[ZN,P[x_]],P[image[ZN,x_]]],not[member[x_,y_]]] := True (* derived 2003 December 20 in ZN-SUC.NB *) or[equal[image[ZN,succ[x_]],P[image[ZN,x_]]],not[member[x_,V]]] := True (* derived 2004 June 28 in X1946-47.NB *) or[equal[intersection[complement[composite[PS,x_]],composite[S,x_]],x_],not[FUNCTION[x_]]] := True (* added 2001 December 28 based on FUNPART.NB *) or[equal[intersection[w_,complement[x_]],intersection[y_,complement[z_]]], not[equal[w_,y_]],not[equal[x_,z_]]] := True (* derived 2004 January 15 in RC-OP.NB *) or[equal[x_,intersection[y_,complement[z_]]], not[equal[0,intersection[x_,z_]]],not[equal[y_,union[x_,z_]]]] := True (* derived 2005 January 21 in X1931-2.NB *) or[equal[intersection[complement[set[U[intersection[complement[x_],y_]]]],y_],x_],not[member[pair[x_,y_],K]]] := True (* derived 2005 February 9 in ON-1.NB *) or[equal[x_,intersection[FULL,image[inverse[S],x_]]],not[member[x_,OMEGA]]] := True (* derived 2005 February 9 in ON-1.NB *) or[equal[intersection[FULL,image[inverse[S],x_]],tc[x_]],not[subclass[x_,OMEGA]]] := True (* added 2002 June 4 based in ISB5-SUC.NB *) or[equal[intersection[FULL,P[x_]],succ[x_]],not[member[x_,OMEGA]]] := True (* derived 2005 January 7 in K-RULES.NB *) or[equal[intersection[image[S,set[x_]],P[y_]],set[x_,y_]],not[member[pair[x_,y_],K]]] := True (* added 2001 December 8 based on EQ-BIN.NB *) or[equal[intersection[x_,z_],intersection[y_,z_]],not[equal[x_,y_]]] := True (* added 2001 December 8 based on EQ-BIN.NB *) or[equal[intersection[u_,x_],intersection[v_,y_]],not[equal[u_,v_]],not[equal[x_,y_]]] := True (* derived 2004 May 11 in EQV-GEN.NB *) or[equal[x_,intersection[y_,z_]],not[equal[x_,y_]],not[equal[x_,z_]]] := True (* derived 2005 February 15 in X3715-16.NB *) or[equal[w_,intersection[x_,y_]],not[subclass[x_,y_]]] := or[equal[w,x],not[subclass[x,y]]] (* derived 2005 February 15 in ON-IND-4.NB *) or[equal[x_,intersection[omega,complement[A[x_]]]],not[subclass[x_,omega]],not[subclass[image[SUCC,x_],x_]]] := True (* added 2003 February 4 based on PLUS-Q.NB *) or[equal[intersection[omega,complement[x_]], intersection[omega,image[S,set[x_]]]],not[member[x_,omega]]] := True (* derived 2005 February 19 in ITR-OM-E.NB *) or[equal[intersection[omega,complement[P[union[x_,complement[omega]]]]], intersection[omega,complement[succ[x_]]]],not[member[x_,omega]]] := True (* added 2002 May 15 based on TRICHOT.NB *) or[equal[intersection[OMEGA,P[complement[set[x_]]]],succ[x_]],not[member[x_,OMEGA]]] := True (* added 2002 September 12 based on LEFT-SUB.NB *) or[equal[intersection[omega,P[x_]],succ[x_]],not[member[x_,omega]]] := True (* derived 2004 June 28 in X2163.NB *) or[equal[intersection[x_,y_],Uclosure[intersection[x_,y_]]], not[equal[x_,Uclosure[x_]]],not[equal[y_,Uclosure[y_]]]] := True (* derived 2004 June 17 in X1366.NB *) or[equal[invar[cross[x_,x_]],subcommutant[x_]], not[equal[V,domain[x_]]],not[FUNCTION[x_]]] := True (* added 2002 May 1 based on INVAR-V.NB *) or[equal[invar[x_],invar[y_]],not[equal[x_,y_]]] := True (* added 2002 November 19 based on SUBST.NB *) or[equal[y_,inverse[y_]],not[equal[x_,y_]],not[equal[x_,inverse[x_]]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[equal[x_,inverse[x_]],not[EQUIVALENCE[x_]]] := True (* derived 2004 April 8 in SU-ID.NB *) or[equal[x_,inverse[x_]],not[subclass[x_,Id]]] := True (* derived 2004 March 4 in RELATION.NB *) or[equal[x_,inverse[x_]],not[subclass[x_,inverse[x_]]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[equal[image[inverse[SUCC],x_],U[x_]],not[member[x_,OMEGA]]] := True (* derived 2004 July 16 on TRV-SYM.NB *) or[equal[inverse[trv[x_]],trv[x_]],not[equal[x_,inverse[x_]]]] := True (* added 2002 May 20 based on ITER-EQ.NB *) or[equal[iterate[x_,y_],iterate[x_,z_]],not[equal[y_,z_]]] := True (* added 2002 May 20 based on EQUALITY.NB *) or[equal[iterate[x_,z_],iterate[y_,z_]],not[equal[x_,y_]]] := True (* derived 2004 February 21 in LB-UB-EQ.NB *) or[equal[lb[x_,y_],lb[x_,z_]],not[equal[y_,z_]]] := True (* derived 2004 February 21 in LB-UB-EQ.NB *) or[equal[lb[x_,z_],lb[y_,z_]],not[equal[x_,y_]]] := True (* added 2001 December 20 based on SUBST-1.NB *) or[equal[LEAST[x_],LEAST[y_]],not[equal[x_,y_]]] := True (* added 2003 May 8 based on MAP-EQ.NB *) or[equal[map[x_,y_],map[x_,z_]],not[equal[y_,z_]]] := True (* added 2003 May 8 based on MAP-EQ.NB *) or[equal[map[x_,z_],map[y_,z_]],not[equal[x_,y_]]] := True (* added 2003 May 8 based on MAP-EQ.NB *) or[equal[map[x_,x_],map[y_,y_]],not[equal[x_,y_]]] := True (* added 2003 May 8 based on MAP-EQ.NB *) or[equal[map[u_,v_],map[x_,y_]],not[equal[u_,x_]],not[equal[v_,y_]]] := True (* added 2002 May 13 based on OM-SC-3.NB *) or[equal[x_,y_],member[x_,y_],member[y_,x_],not[member[x_,omega]],not[member[y_,omega]]] := True (* added 2002 May 7 based on EXAMPLES.NB *) or[equal[x_,y_],member[x_,y_],member[y_,x_],not[member[x_,OMEGA]],not[member[y_,OMEGA]]] := True (* derived 2005 February 6 in X3376-77.NB *) or[equal[x_,y_],member[x_,y_],not[equal[succ[x_],succ[y_]]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[equal[w_,x_],member[w_,y_],not[member[w_,z_]],not[subclass[z_,union[y_,set[x_]]]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[equal[x_,y_],member[x_,y_],not[member[x_,omega]],not[member[y_,omega]],not[subclass[x_,y_]]] := True (* derived 2003 December 24 based on ON-SC.NB *) or[equal[x_,y_],member[x_,y_],not[member[x_,OMEGA]],not[member[y_,OMEGA]],not[subclass[x_,y_]]] := True (* derived 2005 February 8 in X3595.NB *) or[equal[x_,y_],member[x_,y_],not[member[y_,OMEGA]],not[subclass[x_,y_]],not[subclass[U[x_],x_]]] := True (* derived 2005 February 6 in X3376-77.NB *) or[equal[x_,y_],member[x_,U[x_]],not[equal[succ[x_],succ[y_]]]] := True (* derived 2005 April 26 in TRICHOT.NB *) or[equal[nat[x_],nat[y_]],member[nat[x_],nat[y_]]] := not[member[nat[y],nat[x]]] (* derived 2005 April 26 in TRICHOT.NB *) or[equal[x_,nat[y_]],not[member[x_,nat[y_]]]] := not[member[x,nat[y]]] (* derived 2005 June 24 in TRANSPOS.NB *) or[equal[x_,natadd[y_,nat[z_]]],not[equal[nat[z_],natsub[x_,y_]]]] := True (* added 2002 September 10 based on EQUALITY.NB *) or[equal[natadd[x_,z_],natadd[y_,z_]],not[equal[x_,y_]]] := True (* derived 2005 June 24 in MOD-CALC.NB *) or[equal[natmod[natsub[x_,y_],y_],natmod[x_,y_]],member[x_,y_],not[member[x_,omega]],not[member[y_,omega]]] := True (* derived 2005 June 24 in MOD-CALC.NB *) or[equal[x_,natmod[x_,y_]],not[member[x_,y_]],not[member[y_,omega]]] := True (* derived 2005 June 27 in MOD-UNIQ.NB *) or[equal[z_,natmod[x_,y_]],not[member[z_,y_]],not[member[pair[y_,natsub[x_,z_]],DIV]]] := True (* derived 2005 June 24 in TRANSPOS.NB *) or[equal[x_,natsub[nat[y_],nat[z_]]],not[equal[nat[z_],natsub[nat[y_],x_]]]] := True (* derived 2005 June 24 in TRANSPOS.NB *) or[equal[z_,natsub[nat[x_],y_]],not[equal[nat[x_],natadd[y_,z_]]]] := True (* added 2002 September 17 based on EQUAL.NB *) or[equal[natsub[x_,z_],natsub[y_,z_]],not[equal[x_,y_]]] := True (* added 2002 September 17 based on EQUAL.NB *) or[equal[natsub[z_,x_],natsub[z_,y_]],not[equal[x_,y_]]] := True (* added 2002 September 17 based on EQUAL.NB *) or[equal[natsub[u_,v_],natsub[x_,y_]], not[equal[u_,x_]],not[equal[v_,y_]]] := True (* added 2001 October 11 based on EQUALITY.NB *) or[equal[x_,y_],not[equal[y_,x_]]] := True (* derived 2004 March 4 in RELATION.NB *) or[equal[x_,y_],not[equal[x_,composite[Id,y_]]],not[subclass[y_,cart[V,V]]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[equal[x_,y_],not[equal[domain[x_],domain[y_]]],not[subclass[x_,Id]],not[subclass[y_,Id]]] := True (* derived 2004 June 17 in X2447.NB *) or[equal[x_,y_],not[equal[first[x_],first[y_]]],not[equal[second[x_],second[y_]]],not[member[first[x_],z_]]] := True (* derived 2004 June 18 based on X1383.NB *) or[equal[y_,z_],not[equal[image[inverse[x_],y_],image[inverse[x_],z_]]], not[FUNCTION[x_]],not[subclass[y_,range[x_]]],not[subclass[z_,range[x_]]]] := True (* added 2003 May 18 based on SQRTUNIQ.NB *) or[equal[x_,y_],not[equal[natmul[x_,x_],natmul[y_,y_]]], not[member[x_,omega]],not[member[y_,omega]]] := True (* added 2001 October 11 based on EQUALITY.NB *) or[equal[x_,z_],not[equal[x_,y_]],not[equal[y_,z_]]] := True (* derived 2004 March 4 in PAIRSET.NB *) or[equal[x_,y_],not[equal[set[x_,z_],set[y_,z_]]],not[member[x_,u_]],not[member[y_,v_]]] := True (* added 2003 July 5 based on EQ-SS.NB *) or[equal[x_,y_],not[equal[set[x_],set[y_]]],not[member[x_,z_]]] := True (* added 2002 October 8 based on SUCC.NB *) or[equal[x_,y_],not[equal[succ[x_],succ[y_]]],not[member[y_,omega]]] := True (* derived 2004 July 27 in FUNCTION.NB *) or[equal[x_,y_],not[equal[V,domain[x_]]],not[equal[V,domain[y_]]],not[FUNCTION[union[x_,y_]]]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[equal[v_,w_],not[FUNCTION[x_]],not[member[pair[u_,v_],x_]],not[member[pair[u_,w_],x_]]] := True (* derived 2004 June 12 in X1229.NB *) or[equal[x_,y_],not[FUNCTION[x_]],not[subclass[y_,x_]],not[subclass[domain[x_],domain[y_]]]] := True (* derived 2004 March 4 in PAIRSET.NB *) or[equal[y_,z_],not[FUNCTION[set[pair[x_,y_],pair[x_,z_]]]]] := True (* derived 2005 January 27 in DK-SU.NB *) or[equal[x_,y_],not[member[y_,DEDEKIND]],not[member[pair[x_,y_],Q]],not[subclass[x_,y_]]] := True (* derived 2005 February 20 in CARD-ONE.NB *) or[equal[x_,y_],not[member[y_,FINITE]],not[member[pair[x_,y_],Q]],not[subclass[x_,y_]]] := True (* derived 2005 February 20 in CARD-TWO.NB *) or[equal[x_,y_],not[member[x_,image[PAIRSET,Di]]],not[member[y_,image[PAIRSET,Di]]],not[subclass[x_,y_]]] := True (* added 2003 July 25 based on HULL-Z.NB *) or[equal[x_,y_],not[member[x_,z_]],not[member[y_,z_]],not[member[z_,range[SINGLETON]]]] := True (* derived 2005 February 20 in CARD-ONE.NB *) or[equal[x_,y_],not[member[y_,range[SINGLETON]]],not[member[pair[x_,y_],Q]],not[subclass[x_,y_]]] := True (* derived 2005 February 20 in CARD-ONE.NB *) or[equal[x_,y_],not[member[x_,range[SINGLETON]]],not[member[y_,range[SINGLETON]]],not[subclass[x_,y_]]] := True (* added 2002 May 14 based on ITER-DO.NB *) or[equal[omega,domain[iterate[x_,y_]]],member[domain[iterate[x_,y_]],omega]] := True (* added 2002 May 21 based on POWER.NB *) or[equal[omega,domain[power[x_]]],member[domain[power[x_]],omega]] := True (* derived 2004 December 30 in AXREG.NB *) or[equal[OMEGA,H[FULL]],not[AxReg]] := True (* derived 2005 May 5 in IMIN-DIV.NB *) or[equal[omega,image[inverse[DIV],succ[x_]]],not[member[x_,omega]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[equal[omega,x_],member[x_,omega],not[member[x_,OMEGA]],not[subclass[x_,omega]]] := True (* derived 2005 February 15 in X3715-16.NB *) or[equal[omega,x_],member[x_,omega],not[subclass[x_,omega]],not[subclass[image[BIGCUP,x_],x_]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[equal[omega,U[x_]],member[x_,image[inverse[S],omega]],not[subclass[x_,omega]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[equal[omega,U[x_]],member[U[x_],omega],not[subclass[x_,omega]]] := True (* added 2003 November 4 based on SBVIDEMP.NB *) or[equal[P[fix[x_]],subvar[x_]],not[equal[x_,composite[x_,x_]]],not[FUNCTION[x_]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[equal[P[fix[x_]],subvar[x_]],not[REFLEXIVE[x_]]] := True (* derived 2004 July 20 in X2081.NB *) or[equal[P[fix[x_]],union[domain[LEAST[x_]],set[0]]],not[WELLORDER[x_]]] := True (* added 2003 November 4 based on SBVIDEMP.NB *) or[equal[x_,P[y_]],not[equal[x_,P[z_]]],not[equal[y_,z_]]] := True (* added 2002 October 20 based on SUBVAR.NB *) or[equal[P[y_],subvar[union[x_,id[y_]]]], not[subclass[range[x_],y_]]] := True (* derived 2004 July 15 in X2310-57.NB *) or[equal[x_,P[U[x_]]],not[subclass[P[U[x_]],x_]]] := True (* Axiom AX-CP-4 in AX-B reformulated 2001 November 16 in AX-CP-4.NB *) or[equal[pair[first[x_],second[x_]],x_],not[member[first[x_],y_]]] := True (* added 2002 January 1 based on PAIR-MEM.NB *) or[equal[x_,PAIR[first[x_],second[x_]]],not[member[first[x_],V]]] := True (* replaced 2002 January 1 based on REPLACE.NB *) or[equal[PAIR[x_,y_],PAIR[x_,z_]],not[equal[y_,z_]]] := True (* replaced 2002 January 1 based on REPLACE.NB *) or[equal[PAIR[x_,z_],PAIR[y_,z_]],not[equal[x_,y_]]] := True (* replaced 2002 January 1 based on REPLACE.NB *) or[equal[PAIR[u_,v_],PAIR[x_,y_]],not[equal[u_,x_]],not[equal[v_,y_]]] := True (* derived 2005 March 29 in DIV-SUB.NB *) or[equal[x_,set[0]],not[member[pair[x_,y_],DIV]],not[member[pair[x_,succ[y_]],DIV]]] := True (* derived 2004 April 10 in UP-RULES.NB *) or[equal[set[u_,v_],set[x_,y_]],not[equal[u_,x_]],not[equal[v_,y_]]] := True (* derived 2004 April 10 in UP-RULES.NB *) or[equal[set[u_,v_],set[x_,y_]],not[equal[u_,x_]],not[equal[set[v_],set[y_]]]] := True (* derived 2004 April 10 in UP-RULES.NB *) or[equal[set[u_,v_],set[x_,y_]],not[equal[set[u_],set[x_]]],not[equal[set[v_],set[y_]]]] := True (* derived 2004 February 8 in BASICS.NB *) or[equal[set[x_,z_],set[y_,z_]],not[equal[set[x_],set[y_]]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[range[x_],range[y_]],not[equal[x_,y_]]] := True (* derived 2005 January 25 in THINPART.NB *) or[equal[range[x_],range[thinpart[x_]]],not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2003 December 20 in RK-TC-3.NB *) or[equal[rank[intersection[REGULAR,x_]],tc[image[RANK,x_]]],not[member[x_,V]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[rank[x_],rank[y_]],not[equal[x_,y_]]] := True (* derived 2003 December 20 in RK-TC-3.NB *) or[equal[rank[x_],tc[image[RANK,x_]]],not[member[x_,REGULAR]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[equal[w_,rec[composite[TC,IMAGE[SECOND],SECOND],y_]],not[equal[V,domain[VERTSECT[y_]]]], not[equal[w_,composite[TC,IMAGE[w_],VERTSECT[y_]]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 September 14 in WF-REC-6.NB *) or[equal[w_,rec[x_,y_]],not[equal[V,domain[w_]]],not[equal[V,domain[VERTSECT[y_]]]], not[equal[cart[V,V],domain[x_]]],not[FUNCTION[x_]],not[subclass[w_,composite[x_,history[w_,y_]]]], not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 September 14 in WF-REC-6.NB *) or[equal[w_,rec[x_,y_]],not[equal[V,domain[VERTSECT[y_]]]],not[equal[w_,composite[x_,history[w_,y_]]]], not[equal[cart[V,V],domain[x_]]],not[FUNCTION[x_]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 June 11 in x713-x744-x793-x801.NB *) or[equal[x_,rotate[x_]],not[subclass[x_,rotate[x_]]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[rotate[x_],rotate[y_]],not[equal[x_,y_]]] := True (* derived 2004 December 30 in AXREG.NB *) or[equal[RUSSELL,V],not[AxReg]] := True (* added 2003 September 29 based on WF.NB *) or[equal[set[0],subvar[x_]],not[WELLFOUNDED[x_]]] := True (* added 2003 July 5 based on EQ-SS.NB *) or[equal[x_,set[y_]],not[member[y_,x_]],not[subclass[x_,set[y_]]]] := True (* added 2003 July 5 based on EQ-SS.NB *) or[equal[x_,set[y_]],not[member[x_,range[SINGLETON]]],not[member[y_,x_]]] := True (* added 2001 December 8 based on EQUAL-A.NB *) or[equal[set[x_],set[y_]],not[equal[x_,y_]]] := True (* derived 2004 October 28 in X.NB *) or[equal[set[x_],X[x_]],not[FUNCTION[x_]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[subvar[x_],subvar[y_]],not[equal[x_,y_]]] := True (* added 2002 May 25 based on ON-SUC-1.NB *) or[equal[x_,succ[y_]],member[succ[y_],x_],not[member[x_,OMEGA]],not[member[y_,x_]]] := True (* added 2001 December 9 based on EQUAL-V.NB *) or[equal[succ[x_],x_],member[x_,V]] := True (* added 2001 December 9 based on EQUAL-V.NB *) or[equal[succ[x_],succ[y_]],not[equal[x_,y_]]] := True (* derived 2003 December 24 based on ON-SC.NB *) or[equal[x_,succ[U[x_]]],equal[x_,U[x_]],not[member[x_,OMEGA]]] := True (* added 2002 April 26 based on FULSUC-A.NB *) or[equal[x_,succ[U[x_]]],not[member[x_,image[SUCC,FULL]]]] := True (* derived 2003 December 24 based on ON-SC.NB *) or[equal[x_,succ[U[x_]]],not[member[x_,OMEGA]],not[member[U[x_],x_]]] := True (* derived 2003 December 24 in UCL-ON.NB *) or[equal[succ[U[x_]],Uclosure[x_]],not[member[x_,OMEGA]]] := True (* derived 2005 February 16 in BC-OM.NB *) or[equal[succ[U[x_]],union[x_,set[0]]],not[member[x_,omega]]] := True (* derived 2003 December 24 in UCL-ON.NB *) or[equal[succ[x_],Uclosure[succ[x_]]],not[member[x_,OMEGA]]] := True (* added 2002 May 24 based on ADJOIN.NB *) or[equal[succ[x_],union[image[SUCC,x_],set[0]]],not[member[x_,omega]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[tc[x_],tc[y_]],not[equal[x_,y_]]] := True (* derived 2005 January 30 in X3949.NB *) or[equal[tc[x_],union[x_,U[x_]]],not[subclass[x_,FULL]]] := True (* derived 2004 December 29 in TC-PC-ON.NB *) or[equal[tc[x_],union[x_,U[x_]]],not[subclass[x_,OMEGA]]] := True (* derived 2005 January 30 in X3949.NB *) or[equal[tc[x_],union[x_,U[x_]]],not[subclass[U[U[x_]],U[x_]]]] := True (* derived 2004 May 14 in THINPART.NB *) or[equal[thinpart[x_],thinpart[y_]],not[equal[x_,y_]]] := True (* derived 2004 May 14 in THINPART.NB *) or[equal[thinpart[x_],thinpart[y_]],not[equal[IMAGE[x_],IMAGE[y_]]]] := True (* derived 2004 August 10 in RS-3.NB *) or[equal[thinpart[x_],thinpart[y_]],not[equal[RS[x_],RS[y_]]]] := True (* added 2003 November 6 based on HULL-EQV.NB *) or[equal[trv[x_],trv[y_]],not[equal[x_,y_]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[twist[x_],twist[y_]],not[equal[x_,y_]]] := True (* derived 2003 December 24 based on ON-SC.NB *) or[equal[x_,U[x_]],member[U[x_],x_],not[member[x_,OMEGA]]] := True (* derived 2005 February 24 in X3727.NB *) or[equal[x_,U[y_]],member[U[y_],x_],not[member[x_,OMEGA]],not[subclass[y_,x_]]] := True (* derived 2005 January 22 in X3500.NB *) or[equal[x_,U[x_]],not[equal[H[x_],U[x_]]]] := True (* derived 2005 January 22 in X3500.NB *) or[equal[x_,U[x_]],not[equal[x_,intersection[FULL,P[x_]]]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[U[x_],U[y_]],not[equal[x_,y_]]] := True (* derived 2004 February 21 in LB-UB-EQ.NB *) or[equal[ub[x_,y_],ub[x_,z_]],not[equal[y_,z_]]] := True (* derived 2004 February 21 in LB-UB-EQ.NB *) or[equal[ub[x_,z_],ub[y_,z_]],not[equal[x_,y_]]] := True (* added 2003 June 25 based on ACL-UCL.NB *) or[equal[x_,Uclosure[x_]],not[member[x_,fix[UCLOSURE]]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[equal[x_,Uclosure[x_]],not[member[x_,TOPS]]] := True (* derived 2004 July 22 in X21--.NB *) or[equal[x_,Uclosure[x_]],not[subclass[Uclosure[x_],x_]]] := True (* added 2001 December 8 based on EQUALITY.NB *) or[equal[Uclosure[x_],Uclosure[y_]],not[equal[x_,y_]]] := True (* derived 2005 February 16 in BC-OM.NB *) or[equal[Uclosure[x_],union[x_,set[0]]],not[member[x_,omega]]] := True (* derived 2004 July 15 in X2310-57.NB *) or[equal[union[cart[complement[domain[x_]],set[0]],composite[SINGLETON,x_]],VERTSECT[x_]],not[FUNCTION[x_]]] := True (* derived 2005 January 21 in X1931-2.NB *) or[equal[y_,union[x_,set[U[intersection[complement[x_],y_]]]]],not[member[pair[x_,y_],K]]] := True (* derived 2004 March 4 in PAIRSET.NB *) or[equal[union[u_,v_],union[intersection[u_,image[V,set[w_]]], intersection[v_,image[V,set[y_]]]]],not[member[w_,x_]],not[member[y_,z_]]] := True (* added 2001 December 8 based on EQ-BIN.NB *) or[equal[union[x_,z_],union[y_,z_]],not[equal[x_,y_]]] := True (* added 2001 December 8 based on EQ-BIN.NB *) or[equal[union[u_,x_],union[v_,y_]],not[equal[u_,v_]],not[equal[x_,y_]]] := True (* derived 2004 September 14 in WF-REC-6.NB *) or[equal[V,domain[w_]],not[equal[V,domain[VERTSECT[y_]]]], not[equal[w_,composite[x_,history[w_,y_]]]], not[equal[cart[V,V],domain[x_]]],not[FUNCTION[x_]]] := True (* derived 2004 June 24 in SBCOMTNT.NB *) or[equal[V,domain[x_]],not[equal[V,fix[x_]]]] := True (* added 2003 October 20 based on MONOPLUS.NB *) or[equal[V,domain[x_]],not[subclass[S,composite[inverse[x_],S,x_]]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[equal[V,domain[rec[composite[TC,IMAGE[SECOND],SECOND],y_]]], not[equal[V,domain[VERTSECT[y_]]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 September 12 in WF-REC-5.NB *) or[equal[V,domain[rec[x_,y_]]],not[equal[V,domain[VERTSECT[y_]]]], not[equal[cart[V,V],domain[x_]]],not[FUNCTION[x_]],not[WELLFOUNDED[inverse[y_]]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[equal[V,domain[VERTSECT[composite[id[x_],y_]]]],not[member[x_,z_]]] := True (* derived 2004 July 23 in X23--.NB *) or[equal[V,domain[VERTSECT[composite[x_,y_]]]],not[equal[V,domain[VERTSECT[x_]]]],not[equal[V,domain[VERTSECT[y_]]]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[equal[V,domain[VERTSECT[composite[x_,y_]]]],not[member[x_,z_]]] := True (* derived 2004 September 30 in EQV-THNP.NB *) or[equal[V,domain[VERTSECT[eqv[x_]]]],not[equal[V,domain[VERTSECT[x_]]]]] := True (* added 2001 November 22 based on THIN.NB *) or[equal[V,domain[VERTSECT[intersection[x_,y_]]]],not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2004 April 28 in WF.NB *) or[equal[V,domain[VERTSECT[inverse[x_]]]],not[member[x_,y_]]] := True (* added 2003 October 7 based on WF-IND.NB *) or[equal[V,domain[VERTSECT[inverse[trv[x_]]]]],not[equal[V,domain[VERTSECT[inverse[x_]]]]]] := True (* derived 2004 June 5 in THPT-TRV.NB *) or[equal[V,domain[VERTSECT[x_]]],not[equal[x_,thinpart[y_]]]] := True (* derived 2004 June 5 in THPT-TRV.NB *) or[equal[V,domain[VERTSECT[x_]]],not[equal[V,domain[VERTSECT[y_]]]],not[equal[x_,y_]]] := True (* added 2001 November 22 based on THIN.NB *) or[equal[V,domain[VERTSECT[x_]]],not[equal[V,domain[VERTSECT[y_]]]],not[subclass[x_,y_]]] := True (* added 2001 November 22 based on THIN.NB *) or[equal[V,domain[VERTSECT[x_]]],not[FUNCTION[x_]]] := True (* derived 2004 January 6 in VS-OO.NB *) or[equal[V,domain[VERTSECT[x_]]],not[member[x_,y_]]] := True (* derived 2004 July 15 in X2310-57.NB *) or[equal[V,domain[VERTSECT[x_]]],not[member[range[x_],y_]]] := True (* derived 2004 September 30 in RO-IN-TH.NB *) or[equal[V,domain[VERTSECT[rotate[inverse[x_]]]]],not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2004 December 30 in AXREG.NB *) or[equal[V,domain[VERTSECT[ZN]]],not[AxReg]] := True (* derived 2004 August 15 in ID-SU.NB *) or[equal[V,fix[composite[x_,x_]]],not[equal[V,fix[x_]]]] := True (* derived 2004 August 15 in ID-SU.NB *) or[equal[V,fix[composite[x_,y_]]],not[equal[V,fix[x_]]],not[equal[V,fix[y_]]]] := True (* derived 2004 June 24 in SBCOMTNT.NB *) or[equal[V,fix[U[subcommutant[x_]]]],not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2004 June 12 in X1156.NB *) or[equal[V,image[DISJOINT,x_]],not[member[0,x_]]] := True (* derived 2004 December 30 in AXREG.NB *) or[equal[V,x_],not[AxReg],not[subclass[P[x_],x_]]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[equal[V,x_],not[equal[x_,image[S,x_]]],not[member[0,x_]]] := True (* added 2001 November 22 based on THIN.NB *) or[equal[V,y_],not[equal[V,x_]],not[subclass[x_,y_]]] := True (* derived 2005 May 21 in OR-EQ-V.NB *) or[equal[V,x_],not[member[x_,y_]]] := not[member[x,y]] (* added 2001 November 23 based on EQUAL.NB *) or[equal[V,x_],not[subclass[V,x_]]] := True (* derived 2004 June 24 in SBCOMTNT.NB *) or[equal[V,range[x_]],not[equal[V,fix[x_]]]] := True (* derived 2004 June 28 in X1840.NB *) or[equal[V,U[complement[x_]]],not[member[x_,y_]]] := True (* added 2001 December 9 based on EQUAL-V.NB *) or[equal[V,U[x_]],not[equal[V,x_]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[equal[V,U[x_]],not[equal[V,image[inverse[S],x_]]]] := True (* added 2002 September 10 based on IMV-RULE.NB *) or[equal[V,union[x_,y_]],not[equal[V,x_]]] := True (* added 2003 January 14 based on CHAIN-C.NB *) or[equal[V,union[x_,y_]],not[equal[V,union[y_,z_]]], not[subclass[z_,x_]]] := True (* derived 2004 June 27 in X1693-97.NB *) or[EQUIVALENCE[composite[id[y_],x_,id[y_]]],not[EQUIVALENCE[x_]]] := True (* derived 2004 September 30 in EQV-THNP.NB *) or[EQUIVALENCE[composite[Id,x_]],not[EQUIVALENCE[x_]]] := True (* derived 2004 August 27 in TRV-COND.NB *) or[EQUIVALENCE[composite[inverse[x_],x_]],not[equal[x_,composite[x_,inverse[x_],x_]]]] := True (* derived 2004 August 27 in TRV-COND.NB *) or[EQUIVALENCE[composite[x_,inverse[x_]]],not[equal[x_,composite[x_,inverse[x_],x_]]]] := True (* derived 2004 April 1 in EQV-EQ.NB *) or[EQUIVALENCE[composite[inverse[x_],x_]],not[FUNCTION[x_]]] := True (* derived 2004 December 27 in FUN-TRV.NB *) or[EQUIVALENCE[composite[inverse[x_],y_,x_]],not[EQUIVALENCE[y_]],not[FUNCTION[x_]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[EQUIVALENCE[cross[x_,y_]],not[EQUIVALENCE[x_]],not[EQUIVALENCE[y_]]] := True (* derived 2004 April 4 in TRV-EQV.NB *) or[EQUIVALENCE[intersection[x_,inverse[x_]]],not[TRANSITIVE[x_]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[EQUIVALENCE[intersection[x_,y_]],not[EQUIVALENCE[x_]],not[EQUIVALENCE[y_]]] := True (* derived 2004 April 1 in EQV-EQ.NB *) or[EQUIVALENCE[x_],not[equal[x_,y_]],not[EQUIVALENCE[y_]]] := True (* derived 2004 April 1 in EQV-EQ.NB *) or[EQUIVALENCE[x_],not[subclass[x_,Id]]] := True (* derived 2004 September 30 in EQV-THNP.NB *) or[EQUIVALENCE[thinpart[x_]],not[EQUIVALENCE[x_]]] := True (* derived 2004 October 26 in AXCH.NB *) or[FUNCTION[CHOICE],not[AxCh]] := True (* derived 2004 October 26 in AXCH.NB *) or[FUNCTION[composite[CHOICE,id[x_]]],not[AxCh]] := True (* derived 2005 February 5 in X2863.NB *) or[FUNCTION[composite[x_,cross[Id,y_]]],not[FUNCTION[x_]],not[FUNCTION[y_]]] := True (* derived 2005 February 5 in X2863.NB *) or[FUNCTION[composite[x_,cross[y_,Id]]],not[FUNCTION[x_]],not[FUNCTION[y_]]] := True (* derived 2004 August 19 in X2896.NB *) or[FUNCTION[composite[funpart[x_],z_,funpart[y_]]],not[FUNCTION[z_]]] := True (* added 2001 November 23 based on FUN-1.NB *) or[FUNCTION[composite[x_,funpart[y_]]],not[FUNCTION[x_]]] := True (* added 2001 November 23 based on FUN-1.NB *) or[FUNCTION[composite[funpart[x_],y_]],not[FUNCTION[y_]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[FUNCTION[composite[w_,history[x_,y_]]],not[FUNCTION[w_]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) or[FUNCTION[composite[id[fix[x_]],inverse[VERTSECT[x_]]]], not[equal[V,domain[VERTSECT[x_]]]],not[PARTIALORDER[x_]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) or[FUNCTION[composite[id[fix[x_]],inverse[VERTSECT[x_]]]],not[member[x_,y_]],not[PARTIALORDER[x_]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) or[FUNCTION[composite[id[fix[setpart[x_]]],inverse[VERTSECT[setpart[x_]]]]],not[PARTIALORDER[setpart[x_]]]] := True (* added 2002 January 15 based on FU-RS.NB *) or[FUNCTION[composite[id[x_],y_,id[z_]]],not[FUNCTION[y_]]] := True (* derived 2004 June 14 in FU-F-O.NB *) or[FUNCTION[composite[Id,intersection[y_,complement[composite[Di,intersection[y_,complement[x_]]]]]]],not[FUNCTION[x_]]] := True (* derived 2004 July 27 in FUNCTION.NB *) or[FUNCTION[composite[x_,id[y_],inverse[FIRST]]],not[FUNCTION[x_]],not[FUNCTION[y_]]] := True (* added 2001 November 20 based on FUNCTION.NB *) or[FUNCTION[composite[Id,x_]],not[FUNCTION[x_]]] := True (* added 2002 January 15 based on FU-RS.NB *) or[FUNCTION[composite[x_,id[y_]]],not[FUNCTION[x_]]] := True (* added 2002 January 15 based on FU-RS.NB *) or[FUNCTION[composite[id[x_],y_]],not[FUNCTION[y_]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[FUNCTION[composite[id[P[range[x_]]],inverse[IMAGE[inverse[x_]]]]],not[FUNCTION[x_]]] := True (* derived 2004 October 2 in FUNCTION.NB *) or[FUNCTION[composite[x_,id[range[y_]]]],not[FUNCTION[composite[x_,y_]]]] := True (* derived 2004 October 2 in FUNCTION.NB *) or[FUNCTION[composite[x_,id[range[y_]]]],not[subclass[composite[x_,y_],Id]]] := True (* derived 2004 October 2 in FUNCTION.NB *) or[FUNCTION[composite[inverse[y_],id[domain[x_]]]],not[subclass[composite[x_,y_],Id]]] := True (* added 2001 November 23 based on FUN-1.NB *) or[FUNCTION[composite[x_,y_]],not[FUNCTION[x_]],not[FUNCTION[y_]]] := True (* derived 2005 February 5 in FU-X.NB *) or[FUNCTION[cross[x_,y_]],not[FUNCTION[x_]],not[FUNCTION[y_]]] := True (* derived 2004 February 14 in LUB-FU.NB *) or[FUNCTION[GLB[x_]],not[subclass[intersection[x_,inverse[x_]],Id]]] := True (* derived 2004 February 12 in LEASTFUN.NB *) or[FUNCTION[GREATEST[x_]],not[subclass[intersection[x_,inverse[x_]],Id]]] := True (* added 2003 May 5 based on POWER-EQ.NB *) or[FUNCTION[image[power[x_],set[y_]]],not[FUNCTION[x_]]] := True (* added 2003 June 9 based on VS-FUNS.NB *) or[FUNCTION[image[x_,set[y_]]], not[FUNCTION[rotate[inverse[x_]]]],not[subclass[range[x_],cart[V,V]]]] := True (* added 2001 November 24 based on FUN-1.NB *) or[FUNCTION[intersection[x_,y_]],not[FUNCTION[x_]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[FUNCTION[inverse[IMAGE[inverse[x_]]]],not[equal[V,range[x_]]],not[FUNCTION[x_]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[FUNCTION[inverse[IMAGE[x_]]],not[equal[V,domain[x_]]],not[FUNCTION[inverse[x_]]]] := True (* added 2001 December 21 based on OO.NB *) or[FUNCTION[inverse[x_]],not[FUNCTION[inverse[y_]]],not[subclass[x_,y_]]] := True (* added 2003 August 12 based on RO-ZADD.NB *) or[FUNCTION[inverse[x_]],not[member[x_,Z]]] := True (* derived 2004 June 17 in X1367.NB *) or[FUNCTION[inverse[x_]],not[subclass[composite[y_,x_],Id]],not[subclass[range[x_],domain[y_]]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[FUNCTION[inverse[x_]],not[subclass[x_,Id]]] := True (* added 2003 January 25 based on PROPITER.NB *) or[FUNCTION[iterate[x_,y_]],not[FUNCTION[x_]],not[member[y_,range[SINGLETON]]]] := True (* derived 2004 July 18 in WO-PO.NB *) or[FUNCTION[LEAST[x_]],not[PARTIALORDER[x_]]] := True (* derived 2004 February 12 in LEASTFUN.NB *) or[FUNCTION[LEAST[x_]],not[subclass[intersection[x_,inverse[x_]],Id]]] := True (* derived 2004 January 24 in WO-WRAP.NB *) or[FUNCTION[LEAST[x_]],not[WELLORDER[x_]]] := True (* derived 2004 February 14 in LUB-FU.NB *) or[FUNCTION[LUB[x_]],not[subclass[intersection[x_,inverse[x_]],Id]]] := True (* added 2002 May 20 based on FUNSUBST.NB *) or[FUNCTION[y_],not[equal[x_,y_]],not[FUNCTION[x_]]] := True (* derived 2004 December 5 in MAP-CO.NB *) or[FUNCTION[z_],not[FUNCTION[composite[Id,z_]]],not[subclass[z_,cart[x_,y_]]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[FUNCTION[w_],not[FUNCTION[x_]],not[member[w_,partrec[x_,y_]]]] := True (* added 2001 November 20 based on FUNCTION.NB *) or[FUNCTION[x_],not[FUNCTION[y_]],not[subclass[x_,y_]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[FUNCTION[u_],not[FUNCTION[x_]],not[subclass[u_,composite[x_,history[v_,y_]]]]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[FUNCTION[x_],not[FUNCTION[union[x_,y_]]]] := True (* derived 2004 December 5 in MAP-CO.NB *) or[FUNCTION[w_],not[member[w_,map[x_,y_]]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[FUNCTION[w_],not[member[w_,partrec[funpart[x_],thinpart[y_]]]]] := True (* added 2003 August 12 based on RO-ZADD.NB *) or[FUNCTION[x_],not[member[x_,Z]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[FUNCTION[u_],not[subclass[u_,composite[funpart[x_],history[v_,y_]]]]] := True (* added 2002 December 23 based on REPLACE.NB *) or[FUNCTION[x_],not[subclass[x_,funpart[y_]]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[FUNCTION[x_],not[subclass[x_,Id]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[FUNCTION[rec[composite[TC,IMAGE[SECOND],SECOND],y_]],not[equal[V,domain[VERTSECT[y_]]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[FUNCTION[rec[funpart[x_],thinpart[y_]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 August 5 in WF-REC-2.NB *) or[FUNCTION[rec[x_,y_]],not[equal[V,domain[VERTSECT[y_]]]],not[FUNCTION[x_]],not[WELLFOUNDED[inverse[y_]]]] := True (* added 2003 July 20 based on OOCANCEL.NB *) or[FUNCTION[rotate[composite[x_,SWAP]]],not[FUNCTION[inverse[x_]]]] := True (* derived 2004 November 19 in FU-RO-IN.NB *) or[FUNCTION[rotate[inverse[x_]]],not[FUNCTION[x_]]] := True (* derived 2004 August 18 in X2812-61.NB *) or[FUNCTION[rotate[inverse[x_]]],not[FUNCTION[rotate[inverse[y_]]]],not[subclass[x_,y_]]] := True (* added 2003 May 5 based on POWER-EQ.NB *) or[FUNCTION[rotate[inverse[power[x_]]]],not[FUNCTION[x_]]] := True (* added 2003 July 20 based on OOCANCEL.NB *) or[FUNCTION[rotate[x_]],not[FUNCTION[inverse[x_]]]] := True (* derived 2004 July 15 in X2310-57.NB *) or[FUNCTION[thinpart[x_]],not[FUNCTION[x_]]] := True (* derived 2004 August 18 in X2812-61.NB *) or[FUNCTION[U[x_]],not[subclass[x_,FUNS]],not[subclass[cart[x_,x_],union[S,inverse[S]]]]] := True (* derived 2004 August 31 in ADD-1-PT.NB *) or[FUNCTION[union[cart[set[x_],set[y_]],funpart[z_]]],member[x_,domain[funpart[z_]]]] := True (* derived 2004 August 31 in ADD-1-PT.NB *) or[FUNCTION[union[z_,cart[set[x_],set[y_]]]],member[x_,domain[z_]],not[FUNCTION[z_]]] := True (* derived 2004 November 2 in SELECT.NB *) or[FUNCTION[union[funpart[u_],funpart[v_]]],not[equal[0,intersection[domain[funpart[u_]],domain[funpart[v_]]]]]] := True (* derived 2004 July 27 in COMPAT.NB *) or[FUNCTION[union[funpart[x_],funpart[y_]]], not[subclass[intersection[domain[funpart[x_]],domain[funpart[y_]]],fix[composite[inverse[funpart[y_]],funpart[x_]]]]]] := True (* derived 2004 June 15 in X12--.NB *) or[FUNCTION[union[inverse[x_],inverse[y_]]],not[equal[0,intersection[range[x_],range[y_]]]], not[FUNCTION[inverse[x_]]],not[FUNCTION[inverse[y_]]]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[FUNCTION[union[x_,y_]], not[equal[0,intersection[domain[x_],domain[y_]]]], not[FUNCTION[x_]],not[FUNCTION[y_]]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[FUNCTION[union[x_,y_]],not[FUNCTION[x_]],not[FUNCTION[y_]], not[subclass[composite[x_,id[domain[y_]]],y_]]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[FUNCTION[union[x_,y_]],not[FUNCTION[x_]],not[FUNCTION[y_]], not[subclass[composite[x_,inverse[y_]],Id]]] := True (* derived 2004 July 27 in COMPAT.NB *) or[FUNCTION[union[x_,y_]],not[FUNCTION[x_]],not[FUNCTION[y_]], not[subclass[intersection[domain[x_],domain[y_]],fix[composite[inverse[y_],x_]]]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[FUNCTION[union[u_,v_]],not[member[u_,partrec[funpart[x_],thinpart[y_]]]], not[member[v_,partrec[funpart[x_],thinpart[y_]]]],not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[FUNCTION[union[u_,v_]], not[subclass[u_,composite[funpart[x_],history[u_,thinpart[y_]]]]], not[subclass[v_,composite[funpart[x_],history[v_,thinpart[y_]]]]], not[subclass[image[thinpart[y_],domain[u_]],domain[u_]]], not[subclass[image[thinpart[y_],domain[v_]],domain[v_]]], not[WELLFOUNDED[inverse[y_]]]] := True (* derived 2004 June 13 in X1232.NB *) or[FUNCTION[union[x_,set[y_]]],member[first[y_],domain[x_]], not[FUNCTION[x_]],not[member[first[y_],V]]] := True (* added 2003 April 17 based on IM-IMG.NB *) or[member[0,image[IMAGE[x_],y_]],not[member[0,y_]]] := True (* derived 2005 February 12 in IND.NB *) or[member[0,x_],member[0,y_],not[member[x_,omega]],not[member[x_,y_]]] := True (* derived 2004 October 26 in AXCH.NB *) or[member[0,x_],not[AxCh],subclass[x,domain[CHOICE]]] := True (* derived 2005 May 17 in NATRULES.NB *) or[member[0,x_],not[equal[0,A[x_]]],not[subclass[x_,omega]]] := True (* derived 2004 December 30 in FUL-REG3.NB *) or[member[0,x_],not[equal[0,intersection[x_,y_]]],not[member[y_,x_]],not[subclass[U[x_],x_]]] := True (* added 2003 June 19 based on EMPTY.NB *) or[member[0,x_],not[equal[x_,Uclosure[x_]]]] := True (* derived 2003 December 22 in POSITIVE.NB *) or[member[0,x_],not[equal[V,x_]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[member[0,x_],not[member[x_,TOPS]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[member[0,y_],not[subclass[Uclosure[x_],y_]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[x_,A[y_]],not[equal[0,y_]],not[member[x_,z_]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[A[x_],x_],not[member[x_,fix[composite[E,BIGCAP]]]]] := True (* derived 2004 February 1 in FINCHAIN.NB *) or[member[A[x_],x_],not[member[y_,x_]],not[subclass[y_,A[x_]]]] := True (* derived 2004 February 1 in FINCHAIN.NB *) or[member[A[x_],x_],not[subclass[cart[x_,x_],union[S,inverse[S]]]], subclass[x_,image[PS,x_]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[Aclosure[x_],image[ACLOSURE,y_]],not[member[x_,y_]]] := True (* derived 2005 April 21 in AP-FACT.NB *) or[member[APPLY[FACTORIAL,x_],range[FACTORIAL]],not[member[x_,omega]]] := True (* added 2003 November 12 based on CHARCORE.NB *) or[member[APPLY[z_,x_],fix[z_]],not[equal[z_,composite[z_,z_]]], not[FUNCTION[z_]],not[member[x_,domain[z_]]]] := True (* derived 2004 July 28 in FU-AP-VS.NB *) or[member[APPLY[x_,y_],z_],not[FUNCTION[x_]],not[member[y_,domain[x_]]], not[subclass[image[x_,set[y_]],z_]]] := True (* derived 2004 July 17 in FU-IM-IN.NB *) or[member[APPLY[x_,y_],z_],not[FUNCTION[x_]],not[member[y_,image[inverse[x_],z_]]]] := True (* added 2003 November 12 based on CHARCORE.NB *) or[member[APPLY[z_,x_],range[z_]],not[FUNCTION[z_]], not[member[x_,domain[z_]]]] := True (* derived 2004 June 28 in X1773-1800.NB *) or[member[cart[x_,y_],REGULAR],not[member[x_,REGULAR]],not[member[y_,REGULAR]]] := True (* derived 2004 December 5 in MAPRULES.NB *) or[member[cart[x_,set[y_]],map[x_,z_]],not[member[x_,w_]],not[member[y_,z_]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[cliques[x_],image[CLIQUES,y_]],not[member[x_,y_]]] := True (* derived 2004 October 17 in CMPCTCOA.NB *) or[member[x_,COMPACT],not[equal[U[x_],U[y_]]],not[member[y_,COMPACT]],not[subclass[x_,y_]]] := True (* derived 2004 October 17 in CMPCTCOA.NB *) or[member[x_,COMPACT],not[member[image[inverse[S],x_],COMPACT]]] := True (* derived 2004 October 17 in CMPCTCOA.NB *) or[member[x_,COMPACT],not[member[Uclosure[x_],COMPACT]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[member[composite[x_,y_],FINITE],not[FUNCTION[x_]],not[member[y_,FINITE]]] := True (* derived 2004 August 26 in WF-REC-3.NB *) or[member[composite[w_,id[z_]],partrec[x_,y_]], not[member[w_,partrec[x_,y_]]],not[subclass[image[y_,z_],z_]]] := True (* added 2002 May 9 based on RESTRICT.NB *) or[member[composite[x_,id[y_]],V], not[equal[V,domain[VERTSECT[x_]]]],not[member[y_,V]]] := True (* added 2003 July 25 based on CPS-ZXZ.NB *) or[member[composite[u_,v_],image[COMPOSE,cart[x_,y_]]], not[member[u_,x_]],not[member[v_,y_]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[member[composite[y_,inverse[x_]],FINITE],not[FUNCTION[x_]],not[member[y_,FINITE]]] := True (* derived 2004 December 7 in ASV-DIV.NB *) or[member[composite[x_,inverse[FIRST]],V],not[member[x_,y_]]] := True (* derived 2005 January 17 in BIJ-PO.NB *) or[member[composite[inverse[x_],y_,x_],V],not[member[x_,z_]]] := True (* added 2003 June 30 based on ASSOC.NB *) or[member[composite[x_,LEFT[y_]],V],not[member[x_,z_]]] := True (* derived 2004 December 5 in MAP-CO.NB *) or[member[composite[u_,v_],map[x_,z_]],not[member[u_,map[y_,z_]]],not[member[v_,map[x_,y_]]]] := True (* derived 2004 June 20 in X1505-11.NB *) or[member[composite[x_,oopart[y_]],V],not[member[x_,z_]]] := True (* derived 2004 August 26 in WF-REC-3.NB *) or[member[composite[rec[x_,y_],id[z_]],partrec[x_,y_]],not[equal[V,domain[VERTSECT[y_]]]], not[FUNCTION[x_]],not[member[z_,V]],not[subclass[image[y_,z_],z_]],not[WELLFOUNDED[inverse[y_]]]] := True (* added 2003 June 30 based on ASSOC.NB *) or[member[composite[x_,RIGHT[y_]],V],not[member[x_,z_]]] := True (* derived 2004 November 9 in AC2-AC3.NB *) or[member[composite[SECOND,x_],V],not[member[x_,y_]]] := True (* derived 2004 June 28 in X1773-1800.NB *) or[member[composite[x_,SWAP],REGULAR],not[member[x_,REGULAR]]] := True (* derived 2004 June 20 in X1505-11.NB *) or[member[composite[x_,SWAP],V],not[member[x_,y_]]] := True (* derived 2004 November 9 in AC2-AC3.NB *) or[member[composite[x_,y_],V],not[equal[V,domain[VERTSECT[x_]]]],not[member[y_,z_]]] := True (* derived 2004 November 19 in SETHOOD.NB *) or[member[composite[x_,y_],V],not[FUNCTION[inverse[y_]]],not[member[x_,z_]]] := True (* derived 2004 November 19 in SETHOOD.NB *) or[member[composite[x_,y_],V],not[FUNCTION[x_]],not[member[y_,z_]]] := True (* derived 2004 June 26 in X1493.NB *) or[member[composite[x_,y_],V],not[member[image[x_,range[y_]],u_]], not[member[image[inverse[y_],domain[x_]],v_]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[composite[u_,v_],V],not[member[u_,w_]],not[member[v_,x_]]] := True (* derived 2004 October 28 in AC2.NB *) or[member[composite[y_,VERTSECT[x_]],V],not[member[x_,V]],not[subclass[y_,inverse[E]]]] := True (* derived 2004 June 23 in CRHLTALK.NB *) or[member[core[t_,x_],t_],not[member[t_,TOPS]]] := True (* derived 2004 March 8 in X-SET.NB *) or[member[cross[x_,y_],V],not[equal[0,domain[x_]]]] := True (* derived 2004 March 8 in X-SET.NB *) or[member[cross[x_,y_],V],not[equal[0,domain[y_]]]] := True (* derived 2004 March 8 in X-SET.NB *) or[member[cross[x_,y_],V],not[member[domain[x_],V]],not[member[domain[y_],V]],not[member[range[x_],V]],not[member[range[y_],V]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[cross[u_,v_],V],not[member[u_,w_]],not[member[v_,x_]]] := True (* derived 2005 January 27 in DK-SU.NB *) or[member[x_,DEDEKIND],not[member[y_,DEDEKIND]],not[member[pair[x_,y_],Q]]] := True (* derived 2005 January 27 in DK-SU.NB *) or[member[y_,DEDEKIND],not[member[x_,DEDEKIND]],not[member[pair[x_,y_],Q]]] := True (* derived 2005 January 27 in DK-SU.NB *) or[member[x_,DEDEKIND],not[member[y_,DEDEKIND]],not[subclass[x_,y_]]] := True (* derived 2005 February 8 in X1730.NB *) or[member[x_,DESCENDING],not[equal[0,intersection[x_,P[complement[x_]]]]],not[member[x_,y_]]] := True (* derived 2004 June 20 in X1505-11.NB *) or[member[domain[domain[x_]],V],not[member[x_,y_]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[member[domain[x_],FINITE],not[member[x_,FINITE]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[domain[funpart[x_]],V],not[member[x_,y_]]] := True (* derived 2004 August 18 in X3080.NB *) or[member[domain[x_],image[IMAGE[FIRST],y_]],not[member[x_,y_]]] := True (* derived 2004 August 1 in COMMON2.NB *) or[member[z_,domain[y_]],not[equal[APPLY[x_,z_],APPLY[y_,z_]]],not[member[z_,domain[x_]]]] := True (* derived 2004 June 20 in X1604-56.NB *) or[member[domain[x_],y_],not[equal[x_,inverse[x_]]],not[member[range[x_],y_]]] := True (* added 2003 October 28 based on APPLY.NB *) or[member[y_,domain[x_]],not[member[APPLY[x_,y_],z_]]] := True (* derived 2004 February 8 in DO-RA-IM.NB *) or[member[x_,domain[z_]],not[member[x_,u_]],not[member[y_,v_]],not[member[pair[x_,y_],z_]]] := True (* derived 2004 March 5 in CO-DO-RA.NB *) or[member[u_,domain[y_]],not[member[pair[u_,v_],composite[x_,y_]]]] := True (* derived 2004 February 8 in DO-RA-IM.NB *) or[member[x_,domain[z_]],not[member[pair[x_,y_],z_]],not[subclass[z_,cart[u_,v_]]]] := True (* derived 2004 December 11 in OO-Q.NB *) or[member[domain[oopart[x_]],image[Q,y_]],not[member[range[oopart[x_]],y_]]] := True (* derived 2004 December 11 in OO-Q.NB *) or[member[domain[oopart[x_]],V],not[member[range[oopart[x_]],y_]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[member[z_,domain[rec[x_,y_]]],not[member[w_,partrec[x_,y_]]],not[member[z_,domain[w_]]]] := True (* added 2003 June 5 based on REG.NB *) or[member[domain[x_],REGULAR],not[member[x_,REGULAR]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[domain[x_],V],not[member[x_,y_]]] := True (* derived 2004 May 12 in EQUIV.NB *) or[member[eqv[x_],V],not[member[x_,y_]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) or[member[eqv[x_],V],not[member[domain[x_],V]],not[member[range[x_],V]]] := True (* derived 2005 January 31 in X4210.NB *) or[member[x_,FINITE],not[FUNCTION[x_]],not[member[domain[x_],FINITE]]] := True (* derived 2005 January 7 in CARD-K.NB *) or[member[y_,FINITE],not[member[x_,FINITE]],not[member[pair[x_,y_],K]]] := True (* derived 2005 January 27 in FINITE.NB *) or[member[x_,FINITE],not[member[y_,FINITE]],not[member[pair[x_,y_],Q]]] := True (* derived 2005 January 27 in FINITE.NB *) or[member[y_,FINITE],not[member[x_,FINITE]],not[member[pair[x_,y_],Q]]] := True (* derived 2003 December 27 based on COFINITE.TXT *) or[member[x_,FINITE],not[member[y_,FINITE]],not[subclass[x_,y_]]] := True (* derived 2005 February 3 in X4224.NB *) or[member[x_,FINITE],not[member[y_,FINITE]],not[subclass[U[x_],y_]]] := True (* derived 2004 January 13 based on FIN-SUPC.NB *) or[member[x_,FINITE],not[member[x_,y_]],not[subclass[P[x_],FINITE]]] := True (* derived 2004 February 26 in DORA-1-2.NB *) or[member[first[x_],domain[y_]],not[member[x_,y_]],not[member[first[x_],z_]]] := True (* derived 2004 February 26 in DORA-1-2.NB *) or[member[first[x_],domain[y_]],not[member[x_,y_]],not[member[second[x_],z_]]] := True (* derived 2004 February 26 in DORA-1-2.NB *) or[member[first[x_],range[y_]],not[member[x_,inverse[y_]]]] := True (* derived 2004 June 12 in X1190.NB *) or[member[first[x_],V],not[FUNCTION[y_]],not[member[x_,y_]]] := True (* derived 2004 March 4 in PAIRSET.NB *) or[member[first[x_],V],not[FUNCTION[set[x_,y_]]],not[member[x_,z_]]] := True (* added 2002 November 3 based on FLIP.NB *) or[member[first[x_],V],not[member[first[second[x_]],y_]]] := True (* derived 2004 June 12 in X1190.NB *) or[member[first[x_],V],not[member[x_,funpart[y_]]]] := True (* derived 2004 February 26 in DORA-1-2.NB *) or[member[first[x_],V],not[member[x_,inverse[y_]]]] := True (* added 2003 May 30 based on RESTRICT.NB *) or[member[first[x_],V],not[member[second[x_],y_]]] := True (* added 2003 June 25 based on ACL-UCL.NB *) or[member[x_,fix[ACLOSURE]],not[equal[x_,Aclosure[x_]]],not[member[x_,y_]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[x_,fix[composite[E,y_]]], not[member[x_,image[inverse[y_],x_]]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[x_,fix[composite[y_,E]]], not[member[x_,U[image[inverse[y_],set[x_]]]]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[x_,fix[composite[E,BIGCAP]]],not[member[x_,y_]], not[member[A[x_],x_]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[x_,fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]],not[member[U[x_],x_]]] := True (* derived 2005 March 29 in CA.NB *) or[member[x_,fix[composite[inverse[E],y_]]],not[member[x_,U[image[y_,set[x_]]]]]] := True (* derived 2004 August 1 in COMMON2.NB *) or[member[z_,fix[composite[inverse[x_],y_]]],not[equal[APPLY[x_,z_],APPLY[y_,z_]]], not[FUNCTION[x_]],not[FUNCTION[y_]],not[member[z_,domain[x_]]]] := True (* derived 2004 August 1 in FIXRULES.NB *) or[member[fix[composite[x_,y_]],V],not[member[x_,z_]]] := True (* derived 2004 August 1 in FIXRULES.NB *) or[member[fix[composite[x_,y_]],V],not[member[y_,z_]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[x_,fix[E]],not[member[x_,x_]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[member[fix[x_],FINITE],not[member[x_,FINITE]]] := True (* derived 2004 August 18 in X3080.NB *) or[member[fix[x_],image[IMAGE[inverse[DUP]],y_]],not[member[x_,y_]]] := True (* revised 2003 November 9 based on FUN-FIX.NB *) or[member[x_,fix[y_]],not[equal[x_,APPLY[y_,x_]]],not[FUNCTION[y_]],not[member[x_,z_]]] := True (* added 2003 June 25 based on FP-MEMBER.NB *) or[member[x_,fix[y_]],not[member[x_,z_]],not[member[pair[x_,x_],y_]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[member[u_,fix[x_]],not[member[pair[u_,v_],x_]],not[REFLEXIVE[x_]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[member[v_,fix[x_]],not[member[pair[u_,v_],x_]],not[REFLEXIVE[x_]]] := True (* added 2003 June 25 based on ACL-UCL.NB *) or[member[x_,fix[UCLOSURE]],not[equal[x_,Uclosure[x_]]],not[member[x_,y_]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[fix[x_],V],not[member[x_,y_]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[funpart[x_],image[FUNPART,y_]],not[member[x_,y_]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[funpart[x_],V],not[member[x_,y_]]] := True (* derived 2004 December 11 in OO-Q.NB *) or[member[funpart[x_],V],not[member[domain[funpart[x_]],y_]]] := True (* derived 2004 February 14 in LUB-SET.NB *) or[member[GLB[x_],V],not[member[x_,y_]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[H[x_],image[HC,y_]],not[member[x_,y_]]] := True (* added 2003 June 4 based on SETHOOD.NB *) or[member[H[x_],V],not[member[x_,y_]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[HULL[x_],image[LAMBHULL,y_]],not[member[x_,y_]]] := True (* derived 2005 February 11 in X3567.NB *) or[member[x_,image[BIGCUP,y_]],not[member[succ[x_],y_]],not[subclass[y_,omega]]] := True (* derived 2004 October 26 in AXCH-AC1.NB *) or[member[image[CHOICE,x_],V],not[AxCh],not[member[x_,y_]]] := True (* derived 2004 February 7 in COMPACT.NB *) or[member[x_,image[COARSER,FINITE]],not[equal[U[x_],U[y_]]], not[member[y_,COMPACT]],not[subclass[x_,y_]]] := True (* derived 2004 August 10 in RS-3.NB *) or[member[image[COMPOSE,cart[x_,P[Id]]],V],not[member[x_,y_]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[member[y_,image[DIV,z_]],not[member[x_,image[DIV,z_]]],not[member[pair[x_,y_],DIV]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[member[image[x_,y_],FINITE],not[FUNCTION[x_]],not[member[y_,FINITE]]] := True (* derived 2004 June 20 in X1505-11.NB *) or[member[image[funpart[y_],domain[x_]],V],not[member[x_,z_]]] := True (* derived 2004 May 4 in FIN-IMG.NB *) or[member[image[funpart[x_],y_],FINITE],not[member[y_,FINITE]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[image[funpart[x_],y_],V],not[member[y_,z_]]] := True (* derived 2004 May 4 in FIN-IMG.NB *) or[member[image[IMAGE[x_],y_],FINITE],not[member[y_,FINITE]]] := True (* derived 2004 January 1 in SUB-T1.NB *) or[member[image[IMAGE[id[x_]],t_],T1],not[member[t_,T1]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[image[x_,y_],image[IMAGE[x_],z_]],not[member[y_,z_]], not[member[image[x_,y_],w_]]] := True (* derived 2004 May 7 in OO-TOPS.NB *) or[member[image[IMAGE[x_],t_],TOPS],not[FUNCTION[x_]], not[FUNCTION[inverse[x_]]],not[member[t_,TOPS]]] := True (* derived 2005 January 25 in SETHOOD.NB *) or[member[image[IMAGE[x_],y_],V],not[member[y_,z_]]] := True (* derived 2004 June 19 in X14--.NB *) or[member[image[inverse[y_],domain[x_]],V],not[member[composite[x_,y_],z_]]] := True (* derived 2004 July 17 in FU-IM-IN.NB *) or[member[y_,image[inverse[x_],z_]],not[FUNCTION[x_]],not[member[APPLY[x_,y_],z_]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[x_,image[inverse[y_],x_]],not[member[x_,fix[composite[E,y_]]]]] := True (* derived 2004 February 8 in DO-RA-IM.NB *) or[member[u_,image[inverse[z_],y_]],not[member[u_,x_]],not[member[v_,y_]],not[member[pair[u_,v_],z_]]] := True (* derived 2004 February 8 in DO-RA-IM.NB *) or[member[u_,image[inverse[z_],y_]],not[member[pair[u_,v_],z_]],not[subclass[z_,cart[x_,y_]]]] := True (* added 2001 December 21 based on DO-RA-IM.NB *) or[member[x_,image[inverse[S],z_]],not[member[y_,z_]],not[subclass[x_,y_]]] := True (* derived 2005 February 4 *) or[member[x_,image[inverse[S],y_]],not[member[tc[x_],y_]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[member[x_,image[inverse[S],omega]],not[member[U[x_],omega]],not[subclass[x_,omega]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[image[inverse[x_],y_],V],not[member[x_,z_]]] := True (* derived 2004 June 11 in x713-x744-x793-x801.NB *) or[member[x_,image[inverse[y],z]],not[member[x,domain[y]]],not[subclass[range[y],z]]] == True (* derived 2005 April 26 in DICHOT.NB *) or[member[x_,image[inverse[S],omega]],not[subclass[x_,nat[y_]]]] := True (* derived 2004 February 8 in DO-RA-IM.NB *) or[member[v_,image[z_,x_]],not[member[u_,x_]],not[member[v_,y_]],not[member[pair[u_,v_],z_]]] := True (* derived 2004 February 28 in RA-IM.NB *) or[member[v_,image[w_,x_]],not[member[u_,x_]],not[member[pair[u_,v_],w_]],not[subclass[w_,cart[y_,z_]]]] := True (* derived 2004 February 8 in DO-RA-IM.NB *) or[member[v_,image[z_,x_]],not[member[pair[u_,v_],z_]],not[subclass[z_,cart[x_,y_]]]] := True (* derived 2005 February 20 in CARD-TWO.NB *) or[member[x_,image[PAIRSET,Di]],not[member[y_,image[PAIRSET,Di]]],not[member[pair[x_,y_],Q]]] := True (* derived 2005 February 20 in CARD-TWO.NB *) or[member[x_,image[PAIRSET,Di]],not[member[y_,image[PAIRSET,Di]]],not[member[pair[y_,x_],Q]]] := True (* derived 2004 June 19 in X14--.NB *) or[member[image[x_,range[y_]],V],not[member[composite[x_,y_],z_]]] := True (* derived 2003 December 20 in RK-TC-3.NB *) or[member[image[RANK,x_],V],not[member[x_,y_]]] := True (* derived 2004 February 1 in FINCHAIN.NB *) or[member[image[RC[x_],y_],FINITE],not[member[y_,FINITE]]] := True (* derived 2004 March 23 in ADJECT.NB *) or[member[image[x_,set[y_]],range[SINGLETON]],not[FUNCTION[x_]],not[member[y_,domain[x_]]]] := True (* derived 2005 January 25 *) or[member[image[x_,set[u_]],range[VERTSECT[x_]]],not[member[u_,v_]],not[member[image[x_,set[u_]],V]]] := True (* added 2002 May 11 based on THIN.NB *) or[member[image[x_,set[y_]],V],not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2004 July 17 in FU-IM-IN.NB *) or[member[image[x_,set[y_]],V],not[FUNCTION[x_]]] := True (* derived 2004 August 1 in THINNESS.NB *) or[member[image[thinpart[x_],y_],V],not[member[y_,z_]]] := True (* derived 2004 August 1 in THINNESS.NB *) or[member[image[trv[thinpart[x_]],y_],V],not[member[y_,z_]]] := True (* derived 2004 September 12 in WF-REC-5.NB *) or[member[image[trv[x_],set[y_]],V],not[equal[V,domain[VERTSECT[x_]]]]] := True (* derived 2005 February 6 in X3398.NB *) or[member[image[x_,y_],V],not[equal[V,domain[VERTSECT[x_]]]],not[member[y_,z_]]] := True (* derived 2004 June 20 in X1505-11.NB *) or[member[image[x_,y_],V],not[FUNCTION[x_]],not[member[y_,z_]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[image[x_,y_],V],not[member[x_,z_]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[member[image[x_,y_],V],not[member[image[x_,z_],V]],not[subclass[y_,z_]]] := True (* derived 2004 June 26 in X1509.NB *) or[member[image[x_,y_],V],not[member[range[x_],z_]]] := True (* added 2002 May 19 based on THIN.NB *) or[member[image[x_,y_],V],not[member[y_,V]],not[subclass[y_,domain[VERTSECT[x_]]]]] := True (* added 2003 June 11 based on VS.NB *) or[member[image[VERTSECT[x_],y_],V],not[member[x_,V]]] := True (* derived 2005 January 4 in IMINRANK.NB *) or[member[image[ZN,x_],V],not[member[x_,OMEGA]]] := True (* derived 2003 December 20 in ZN-SUC.NB *) or[member[image[ZN,x_],V],not[member[x_,REGULAR]]] := True (* added 2002 October 8 based on INVAR-I.NB *) or[member[intersection[x_,y_],Aclosure[z_]],not[member[x_,z_]],not[member[y_,z_]]] := True (* derived 2005 January 9 *) or[member[intersection[y_,complement[x_]],range[SINGLETON]],not[member[pair[x_,y_],K]]] := True (* derived 2004 November 17 in INTERVAL.NB *) or[member[intersection[x_,complement[y_]],V],not[member[y_,z_]]] := or[member[x,V],not[member[y,z]]] (* derived 2003 December 28 in PTCLOSED.NB *) or[member[intersection[complement[set[x_]],U[t_]],t_],not[member[t_,PointClosed]],not[member[x_,U[t_]]]] := True (* derived 2005 February 19 in X3446.NB *) or[member[intersection[x_,y_],DESCENDING],not[member[y_,DESCENDING]],not[subclass[U[x_],x_]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[member[intersection[x_,y_],FINITE],not[member[x_,FINITE]]] := True (* added 2002 October 8 based on INVAR-I.NB *) or[member[intersection[u_,v_],image[CAP,cart[x_,y_]]],not[member[u_,x_]],not[member[v_,y_]]] := True (* derived 2004 August 18 in X3080.NB *) or[member[intersection[x_,z_],image[IMAGE[id[z_]],y_]],not[member[x_,y_]]] := True (* derived 2005 April 28 in MAX-MIN.NB *) or[member[intersection[nat[x_],nat[y_]],z_],not[member[nat[x_],z_]],not[member[nat[y_],z_]]] := True (* added 2002 November 24 based on VERTSECT.NB *) or[member[intersection[x_,y_],omega],not[member[x_,omega]],not[member[y_,omega]]] := True (* derived 2005 February 12 in X3634-39.NB *) or[member[intersection[OMEGA,x_],OMEGA],not[member[x_,OMEGA]]] := True (* derived 2004 January 24 in FIN-DJ3.NB *) or[member[intersection[x_,P[y_]],FINITE],not[member[y_,FINITE]]] := True (* derived 2004 May 4 in REPLACE.NB *) or[member[intersection[x_,P[y_]],V],not[member[y_,z_]]] := True (* added 2003 June 5 based on REG.NB *) or[member[intersection[x_,y_],REGULAR],not[member[x_,REGULAR]]] := True (* derived 2003 December 20 in RK-TC-3.NB *) or[member[intersection[REGULAR,x_],REGULAR],not[member[x_,V]]] := True (* derived 2005 February 10 in X3614.NB *) or[member[intersection[RUSSELL,x_],OMEGA],not[member[x_,OMEGA]]] := True (* added 2003 July 3 based on PTCLOSED.NB *) or[member[intersection[x_,U[y_]],V],not[member[y_,z_]]] := True (* added 2002 October 8 based on INVAR-I.NB *) or[member[intersection[x_,y_],V],not[member[x_,z_]]] := True (* derived 2005 January 30 in IVR-V.NB *) or[member[invar[x_],V],not[member[domain[VERTSECT[x_]],y_]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[member[inverse[x_],FINITE],not[member[x_,FINITE]]] := True (* derived 2004 August 18 in X3080.NB *) or[member[inverse[x_],image[IMAGE[SWAP],y_]],not[member[x_,y_]]] := True (* derived 2005 February 5 in X2417.NB *) or[member[x_,inverse[y_]],not[member[first[x_],z_]],not[member[pair[second[x_],first[x_]],y_]]] := True (* derived 2004 June 28 in X1773-1800.NB *) or[member[inverse[x_],REGULAR],not[member[x_,REGULAR]]] := True (* added 2003 August 10 based on ZADD-INV.NB *) or[member[inverse[x_],Z],not[member[x_,Z]]] := True (* added 2002 May 19 based on THIN.NB *) or[member[iterate[x_,y_],V], not[equal[V,domain[VERTSECT[x_]]]],not[member[y_,V]]] := True (* derived 2004 February 14 in LUB-SET.NB *) or[member[LUB[x_],V],not[member[x_,y_]]] := True (* derived 2004 December 5 in MAPRULES.NB *) or[member[x_,map[domain[x_],y_]],not[FUNCTION[x_]],not[member[x_,z_]],not[subclass[range[x_],y_]]] := True (* derived 2004 December 5 in MAPRULES.NB *) or[member[x_,map[domain[x_],V]],not[FUNCTION[x_]],not[member[x_,y_]]] := True (* derived 2004 December 5 in MAP-CO.NB *) or[member[w_,map[x_,y_]],not[equal[x_,domain[w_]]],not[FUNCTION[w_]],not[member[w_,z_]],not[subclass[w_,cart[v_,y_]]]] := True (* derived 2004 December 5 in MAP-CO.NB *) or[member[w_,map[x_,y_]],not[equal[x_,domain[w_]]],not[FUNCTION[w_]],not[member[w_,z_]],not[subclass[range[w_],y_]]] := True (* derived 2004 March 4 in RELATION.NB *) or[member[x_,y_],member[x,composite[Id,complement[y_]]],not[member[first[x_],z_]]] := True (* derived 2005 June 27 in CXL-SUB.NB *) or[member[x_,z_],member[z_,y_],not[member[natsub[x_,y_],natsub[x_,z_]]],not[member[z_,omega]]] := True (* derived 2005 June 27 in CXL-SUB.NB *) or[member[x_,y_],member[y_,z_],not[member[natsub[x_,z_],natsub[y_,z_]]],not[member[y_,omega]]] := True (* derived 2005 June 7 in O7COR1.NB *) or[member[x_,z_],member[z_,y_],not[member[x_,y_]],not[member[y_,omega]],not[member[z_,omega]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[member[w_,x_],member[w_,y_],not[member[w_,z_]],not[subclass[z_,union[x_,y_]]]] := True (* derived 2005 June 27 in MOD-UNIQ.NB *) or[member[u_,v_],member[pair[y_,natsub[u_,v_]],DIV],not[member[pair[y_,u_],DIV]],not[member[pair[y_,v_],DIV]]] := True (* derived 2005 February 13 in NAT.NB *) or[member[nat[x_],nat[y_]],member[nat[y_],nat[x_]]] := not[equal[nat[x],nat[y]]] (* derived 2005 February 13 in NAT.NB *) or[member[nat[x_],nat[y_]],member[nat[y_],nat[z_]],not[member[nat[x_],nat[z_]]]] := True (* derived 2005 June 24 in TRANSPOS.NB *) or[member[nat[y_],nat[z_]],member[natadd[nat[z_],x_],nat[y_]],not[member[x_,natsub[nat[y_],nat[z_]]]]] := True (* derived 2005 April 28 in MAX-MIN.NB *) or[member[nat[x_],nat[y_]],not[member[union[nat[x_],nat[z_]],nat[y_]]]] := True (* derived 2005 April 26 in TRICHOT.NB *) or[member[x_,nat[y_]],not[equal[x_,nat[y_]]]] := not[equal[x,nat[y]]] (* derived 2005 April 26 in TRICHOT.NB *) or[member[nat[x_],y_],not[member[y_,nat[x_]]]] := not[member[y,nat[x]]] (* derived 2005 April 28 in NATORDER.NB *) or[member[x_,nat[z_]],not[member[x_,y_]],not[member[y_,nat[z_]]]] := True (* derived 2005 June 24 in TRANSPOS.NB *) or[member[x_,natadd[nat[z_],y_]],not[member[natsub[x_,y_],nat[z_]]]] := True (* derived 2005 June 24 in TRANSPOS.NB *) or[member[natsub[x_,nat[y_]],nat[z_]],member[x_,nat[y_]],not[member[x_,natadd[nat[y_],nat[z_]]]]] := True (* derived 2005 June 24 in TRANSPOS.NB *) or[member[y_,natsub[nat[x_],z_]],not[member[natadd[y_,z_],nat[x_]]]] := True (* added 2001 October 11 based on EQUALMEM.NB *) or[member[x_,y_],not[equal[y_,z_]],not[member[x_,z_]]] := True (* added 2001 October 11 based on EQUALMEM.NB *) or[member[x_,y_],not[equal[z_,y_]],not[member[x_,z_]]] := True (* added 2001 October 11 based on EQUALMEM.NB *) or[member[x_,y_],not[equal[x_,z_]],not[member[z_,y_]]] := True (* added 2001 October 11 based on EQUALMEM.NB *) or[member[x_,y_],not[equal[z_,x_]],not[member[z_,y_]]] := True (* added 2002 October 6 based on OMEGA-1.NB *) or[member[y_,x_],not[equal[x_,succ[y_]]]] := or[member[y,V],not[equal[x,y]]] (* added 2002 April 25 based on FUL-A.NB *) or[member[x_,y_],not[member[x_,A[z_]]],not[member[y_,z_]]] := True (* derived 2004 March 4 in RELATION.NB *) or[member[x_,y_],not[member[first[x_],z_]], not[member[pair[first[x_],second[x_]],y_]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[x_,x_],not[member[x_,fix[E]]]] := True (* derived 2005 February 6 in X3432.NB *) or[member[x_,z_],not[member[x_,y_]],not[member[y_,z_]],not[subclass[U[z_],z_]]] := True (* added 2002 October 6 based on OMEGA-1.NB *) or[member[x_,z_],not[member[x_,y_]],not[member[y_,z_]],not[member[z_,omega]]] := True (* derived 2004 July 31 in SETPART.NB *) or[member[x_,y_],not[member[x_,z_]],not[member[setpart[x_],y_]]] := True (* added 2000 October 4 based on NONEMPTY.LOG *) or[member[x_,z_],not[member[x_,y_]],not[subclass[y_,z_]]] := True (* added 2002 October 3 based on MONOSUB1.NB *) or[member[y_,x_],not[member[x_,omega]],not[member[y_,omega]],subclass[x_,y_]] := True (* added 2002 May 31 based on DICHOT.NB *) or[member[x_,y_],not[member[x_,OMEGA]],not[member[y_,OMEGA]],subclass[y_,x_]] := True (* added 2002 May 11 based on OM-2.NB *) or[member[x_,y_],not[member[y_,omega]],not[member[succ[x_],y_]]] := True (* derived 2005 February 10 in X3575.NB *) or[member[x_,y_],not[member[x_,omega]],not[subclass[x_,y_]],not[subclass[intersection[omega,P[y_]],y_]]] := True (* derived 2005 January 7 in CARD-K.NB *) or[member[y_,z_],not[member[pair[x_,y_],K]],not[subclass[image[K,set[x_]],z_]]] := True (* derived 2004 February 28 in RA-IM.NB *) or[member[u_,x_],not[member[pair[u_,v_],w_]],not[subclass[w_,cart[x_,y_]]]] := True (* derived 2004 February 28 in RA-IM.NB *) or[member[v_,y_],not[member[pair[u_,v_],w_]],not[subclass[w_,cart[x_,y_]]]] := True (* derived 2004 July 22 in X22--.NB *) or[member[z_,y_],not[member[x_,V]],not[subclass[z_,x_]],not[subclass[P[x_],y_]]] := True (* added 2002 April 27 based on FULSUC-F.NB *) or[member[x_,y_],not[subclass[y_,succ[x_]]],subclass[y_,x_]] := True (* derived 2004 February 8 in BASICS.NB *) or[member[x_,y_],not[subclass[y_,union[z_,set[x_]]]],subclass[y_,z_]] := True (* derived 2005 April 21 in AP-FACT.NB *) or[member[x_,omega],not[member[APPLY[FACTORIAL,x_],y_]]] := True (* derived 2005 June 1 in O18-O20.NB *) or[member[x_,omega],not[member[natadd[x_,y_],z_]]] := True (* derived 2005 May 25 in NATSUB.NB *) or[member[x_,omega],not[member[natsub[x_,y_],z_]]] := True (* derived 2005 May 25 in NATSUB.NB *) or[member[y_,omega],not[member[natsub[x_,y_],z_]]] := True (* added 2002 May 11 based on OM-1.NB *) or[member[x_,omega],not[member[x_,y_]],not[member[y_,omega]]] := True (* derived 2005 January 30 in X3837.NB *) or[member[x_,OMEGA],not[member[x_,y_]],not[member[y_,OMEGA]]] := True (* derived 2005 February 12 in X3634-39.NB *) or[member[x_,OMEGA],not[member[x_,y_]],not[subclass[intersection[FULL,P[x_]],succ[x_]]]] := True (* derived 2005 February 12 in X3634-39.NB *) or[member[x_,OMEGA],not[member[x_,y_]],not[subclass[x_,OMEGA]],not[subclass[U[x_],x_]]] := True (* added 2002 May 28 based on CARD-OM.NB *) or[member[x_,OMEGA],not[member[x_,omega]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[member[x_,omega],not[member[pair[x_,y_],DIV]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[member[y_,omega],not[member[pair[x_,y_],DIV]]] := True (* derived 2005 February 11 in X3567.NB *) or[member[x_,omega],not[member[succ[x_],y_]],not[subclass[y_,omega]]] := True (* derived 2005 April 26 in DICHOT.NB *) or[member[x_,omega],not[member[x_,U[y_]]],not[member[y_,omega]]] := True (* added 2002 May 27 based on ON-DEFN.NB *) or[member[x_,OMEGA],not[member[x_,V]],not[subclass[intersection[FULL,P[x_]],succ[x_]]]] := True (* derived 2005 February 22 in DIVRULES.NB *) or[member[x_,omega],subclass[image[inverse[DIV],set[x_]],y_]] := True (* derived 2004 November 19 in SETHOOD.NB *) or[member[oopart[x_],V],not[member[x_,y_]]] := True (* derived 2004 December 11 in OO-Q.NB *) or[member[oopart[x_],V],not[member[domain[oopart[x_]],y_]]] := True (* derived 2005 January 15 in HILBERT.NB *) or[member[P[x_],y_],not[member[x_,z_]],not[subclass[image[POWER,z_],y_]]] := True (* added 2003 November 12 based on CHARCORE.NB *) or[member[pair[x_,APPLY[z_,x_]],z_],not[FUNCTION[z_]],not[member[x_,domain[z_]]]] := True (* derived 2005 January 18 in CP-Q.NB *) or[member[pair[cart[cart[u_,v_],w_],cart[u_,cart[v_,w_]]],Q],not[member[u_,x_]],not[member[v_,y_]],not[member[w_,z_]]] := True (* derived 2005 January 18 in CP-Q.NB *) or[member[pair[cart[u_,v_],cart[v_,u_]],Q],not[member[u_,x_]],not[member[v_,y_]]] := True (* derived 2005 February 5 in X3321.NB similar to Theorem Q-RT-2 in Q proved 2000 May 9 *) or[member[pair[x_,cart[x_,set[y_]]],Q],not[member[x_,u_]],not[member[y_,v_]]] := True (* derived 2005 February 5 in X3321.NB *) or[member[pair[cart[x_,set[y_]],x_],Q],not[member[x_,u_]],not[member[y_,v_]]] := True (* derived 2005 February 3 in MEMB-CO.NB *) or[member[pair[u_,w_],composite[x_,inverse[y_]]],not[member[pair[v_,u_],y_]], not[member[pair[v_,w_],x_]],not[subclass[x_,cart[V,V]]],not[subclass[y_,cart[V,V]]]] := True (* derived 2005 February 3 in MEMB-CO.NB *) or[member[pair[u_,w_],composite[x_,inverse[y_]]],not[member[u_,V]],not[member[v_,V]],not[member[w_,V]], not[member[pair[v_,u_],y_]],not[member[pair[v_,w_],x_]]] := True (* derived 2005 February 3 in MEMB-CO.NB *) or[member[pair[u_,w_],composite[x_,y_]],not[member[pair[u_,v_],y_]], not[member[pair[v_,w_],x_]],not[subclass[x_,cart[V,V]]],not[subclass[y_,cart[V,V]]]] := True (* added 2002 October 15 based on MEMBER.NB *) or[member[pair[u_,w_],composite[x_,y_]],not[member[u_,V]],not[member[v_,V]],not[member[w_,V]], not[member[pair[u_,v_],y_]],not[member[pair[v_,w_],x_]]] := True (* derived 2005 January 29 in DIV.NB *) or[member[pair[x_,z_],DIV],not[member[pair[x_,y_],DIV]],not[member[pair[y_,z_],DIV]]] := True (* derived 2004 July 26 in DORAFUNS.NB *) or[member[pair[domain[x_],range[x_]],image[DORA,FUNS]],not[FUNCTION[x_]],not[member[x_,V]]] := True (* derived 2004 August 12 in DORAFUNS.NB *) or[member[pair[domain[x_],range[x_]],image[DORA,y_]],not[member[x_,y_]]] := True (* added 2001 December 20 based on Q-POW.NB *) or[member[pair[domain[x_],range[x_]],Q],not[FUNCTION[x_]],not[FUNCTION[inverse[x_]]],not[member[x_,V]]] := True (* derived 2005 January 16 in RFX-EQV.NB *) or[member[pair[u_,u_],eqv[x_]],not[member[pair[u_,v_],eqv[x_]]]] := True (* derived 2005 January 16 in RFX-EQV.NB *) or[member[pair[v_,v_],eqv[x_]],not[member[pair[u_,v_],eqv[x_]]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) or[member[pair[v_,u_],eqv[x_]],not[member[pair[u_,v_],eqv[x_]]]] := True (* derived 2003 February 3 in Q.NB *) or[member[pair[x_,z_],eqv[w_]],not[member[pair[x_,y_],eqv[w_]]],not[member[pair[y_,z_],eqv[w_]]]] := True (* derived 2004 June 17 in X2417-21.NB *) or[member[pair[first[x_],second[x_]],y_],not[member[x_,y_]],not[member[first[x_],z_]]] := True (* derived 2005 January 18 in OO-Q.NB *) or[member[pair[x_,image[oopart[z_],x_]],Q],not[member[x_,y_]],not[subclass[x_,domain[oopart[z_]]]]] := True (* derived 2005 February 5 in X3279.NB *) or[member[pair[y_,image[x_,y_]],Q],not[FUNCTION[x_]],not[FUNCTION[inverse[x_]]],not[member[x_,z_]],not[subclass[y_,domain[x_]]]] := True (* derived 2005 February 5 in X3279.NB *) or[member[pair[y_,image[x_,y_]],Q],not[FUNCTION[x_]],not[FUNCTION[inverse[x_]]],not[member[y_,z_]],not[subclass[y_,domain[x_]]]] := True (* derived 2005 January 9 *) or[member[pair[x_,y_],K],not[member[y_,z_]],not[member[intersection[y_,complement[x_]],range[SINGLETON]]],not[subclass[x_,y_]]] := True (* derived 2004 June 27 in X1655-61.NB *) or[member[pair[u_,v_],x_],member[pair[v_,u_],x_], not[member[u_,fix[x_]]],not[member[v_,fix[x_]]],not[TOTALORDER[x_]]] := True (* derived 2005 May 22 in DIV-ADD.NB *) or[member[pair[x_,natadd[y_,z_]],DIV],not[member[pair[x_,y_],DIV]],not[member[pair[x_,z_],DIV]]] := True (* added 2002 November 24 based on VERTSECT.NB *) or[member[pair[x_,natadd[x_,y_]],iterate[SUCC,set[y_]]],not[member[x_,omega]],not[member[y_,omega]]] := True (* derived 2005 May 22 in DIV-ADD.NB *) or[member[pair[x_,natsub[y_,z_]],DIV],not[member[pair[x_,y_],DIV]],not[member[pair[x_,z_],DIV]],not[subclass[z_,y_]]] := True (* derived 2005 May 22 in DIV-ADD.NB *) or[member[pair[x_,natsub[y_,x_]],DIV],not[member[pair[x_,y_],DIV]],not[subclass[x_,y_]]] := True (* derived 2004 June 20 in X1604-56.NB *) or[member[pair[x_,y_],z_],not[equal[inverse[z_],z_]],not[member[pair[y_,x_],z_]]] := True (* added 2001 December 21 based on Q-RT-2.NB *) or[member[pair[y_,z_],w_],not[equal[x_,y_]],not[member[pair[x_,z_],w_]]] := True (* added 2001 December 21 based on Q-RT-2.NB *) or[member[pair[w_,y_],z_],not[equal[x_,y_]],not[member[pair[w_,x_],z_]]] := True (* derived 2004 June 27 in X1670-73.NB *) or[member[pair[u_,v_],x_],not[EQUIVALENCE[x_]],not[member[pair[v_,u_],x_]]] := True (* derived 2004 June 27 in X1670-73.NB *) or[member[pair[u_,u_],x_],not[EQUIVALENCE[x_]],not[member[pair[u_,v_],x_]]] := True (* derived 2004 June 27 in X1670-73.NB *) or[member[pair[v_,v_],x_],not[EQUIVALENCE[x_]],not[member[pair[u_,v_],x_]]] := True (* derived 2005 January 25 in X1697.NB *) or[member[pair[x_,y_],z_],not[EQUIVALENCE[z_]],not[member[pair[x_,y_],composite[inverse[z_],z_]]]] := True (* derived 2005 January 25 in X1697.NB *) or[member[pair[x_,y_],z_],not[EQUIVALENCE[z_]],not[member[pair[y_,x_],composite[inverse[z_],z_]]]] := True (* derived 2004 June 27 in X1670-73.NB *) or[member[pair[u_,w_],x_],not[EQUIVALENCE[x_]],not[member[pair[u_,v_],x_]],not[member[pair[v_,w_],x_]]] := True (* derived 2004 April 8 in SU-ID.NB *) or[member[pair[x_,x_],y_],not[member[x_,domain[y_]]],not[subclass[y_,Id]]] := True (* added 2003 June 25 based on FP-MEMBER.NB *) or[member[pair[x_,x_],y_],not[member[x_,fix[y_]]]] := True (* derived 2004 June 20 in X1563.NB *) or[member[pair[x_,y_],z_],not[member[y_,u_]],not[member[x_,v_]],not[subclass[u_,image[z_,set[x_]]]]] := True (* derived 2004 June 20 in X1604-56.NB *) or[member[pair[u_,w_],x_],not[member[pair[u_,v_],x_]],not[member[pair[v_,w_],x_]],not[TRANSITIVE[x_]]] := True (* derived 2005 February 5 in X2076-79.NB *) or[member[pair[u_,w_],x_],not[member[pair[u_,v_],x_]],not[member[pair[v_,w_],x_]],not[WELLORDER[x_]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[member[pair[u_,u_],x_],not[member[pair[u_,v_],x_]],not[REFLEXIVE[x_]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[member[pair[v_,v_],x_],not[member[pair[u_,v_],x_]],not[REFLEXIVE[x_]]] := True (* added 2001 December 20 based on Q-POW.NB *) or[member[pair[P[range[x_]],P[domain[x_]]],Q],not[FUNCTION[x_]], not[FUNCTION[inverse[x_]]],not[member[x_,V]]] := True (* derived 2004 June 17 in X2417-21.NB *) or[member[pair[pair[first[x_],second[x_]],y_],z_],not[member[first[x_],w_]],not[member[pair[x_,y_],z_]]] := True (* derived 2005 February 20 in CARD-TWO.NB *) or[member[pair[x_,y_],Q],not[member[x_,image[PAIRSET,Di]]],not[member[y_,image[PAIRSET,Di]]]] := True (* derived 2003 February 3 in Q.NB *) or[member[pair[x_,y_],Q],not[member[pair[y_,x_],Q]]] := True (* derived 2003 February 3 in Q.NB *) or[member[pair[x_,z_],Q],not[member[pair[x_,y_],Q]],not[member[pair[y_,z_],Q]]] := True (* derived 2005 February 20 in CARD-ONE.NB *) or[member[pair[x_,y_],Q],not[member[x_,range[SINGLETON]]],not[member[y_,range[SINGLETON]]]] := True (* derived 2004 Agust 13 in X4015-56.NB *) or[member[pair[rank[x_],x_],ZN],not[member[x_,REGULAR]]] := True (* derived 2004 June 17 in X2417-21.NB *) or[member[pair[second[x_],first[x_]],y_],not[member[x_,inverse[y_]]]] := True (* Theorem Q-SS in Q proved 2000 April 27 *) or[member[pair[set[x_],set[y_]],Q],not[member[x_,V]],not[member[y_,V]]] := True (* derived 2004 June 20 in X1604-56.NB *) or[member[pair[u_,w_],trv[x_]],not[member[pair[u_,v_],trv[x_]]],not[member[pair[v_,w_],trv[x_]]]] := True (* derived 2005 January 20 in X1924.NB *) or[member[pair[y_,union[x_,y_]],K],not[equal[0,intersection[x_,y_]]],not[member[x_,range[SINGLETON]]],not[member[y_,z_]]] := True (* derived 2005 February 5 in X1925.NB *) or[member[pair[x_,union[x_,y_]],K],not[member[x_,z_]],not[member[y_,range[SINGLETON]]],subclass[y_,x_]] := True (* derived 2005 January 27 in DK-SU.NB *) or[member[pair[union[x_,z_],union[y_,z_]],Q],not[equal[0,intersection[x_,z_]]],not[equal[0,intersection[y_,z_]]], not[member[z_,w_]],not[member[pair[x_,y_],Q]]] := True (* derived 2005 January 27 in DK-SU.NB *) or[member[pair[union[u_,v_],union[x_,y_]],Q],not[equal[0,intersection[u_,v_]]],not[equal[0,intersection[x_,y_]]], not[member[pair[u_,x_],Q]],not[member[pair[v_,y_],Q]]] := True (* derived 2004 April 10 in UP-RULES.NB *) or[member[set[x_,y_],REGULAR],not[member[x_,REGULAR]],not[member[y_,REGULAR]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[member[w_,partrec[x_,y_]],not[member[w_,V]],not[subclass[w_,composite[x_,history[w_,y_]]]], not[subclass[image[y_,domain[w_]],domain[w_]]]] := True (* derived 204 August 22 in PARTREC.NB *) or[member[w_,partrec[x_,y_]],not[member[w_,V]], not[subclass[w_,composite[x_,id[composite[IMAGE[composite[id[w_],inverse[FIRST]]],VERTSECT[y_]]],inverse[FIRST]]]], not[subclass[image[y_,domain[w_]],domain[w_]]]] := True (* added 2003 August 8 based on REPLACE.NB *) or[member[plus[x_],image[PLUS,y_]],not[member[x_,omega]],not[member[x_,y_]]] := True (* derived 2003 December 28 in PTCLOSED.NB *) or[member[x_,PointClosed],not[member[x_,y_]], not[subclass[image[SINGLETON,U[x_]],image[RC[U[x_]],x_]]]] := True (* derived 2004 June 20 in X1505-11.NB *) or[member[range[domain[x_]],V],not[member[x_,y_]]] := True (* derived 2004 January 4 in VS-IMIN.NB *) or[member[range[x_],FINITE],not[FUNCTION[x_]],not[member[domain[x_],FINITE]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[member[range[x_],FINITE],not[member[x_,FINITE]]] := True (* derived 2004 August 11 in X1993.NB *) or[member[range[funpart[x_]],range[SINGLETON]],not[member[domain[funpart[x_]],range[SINGLETON]]]] := True (* derived 2004 August 11 in X1993.NB *) or[member[range[funpart[x_]],V],not[member[domain[funpart[x_]],y_]]] := True (* derived 2004 August 18 in X3080.NB *) or[member[range[x_],image[IMAGE[SECOND],y_]],not[member[x_,y_]]] := True (* derived 2004 June 20 in X1604-56.NB *) or[member[range[x_],y_],not[equal[x_,inverse[x_]]],not[member[domain[x_],y_]]] := True (* derived 2004 February 8 in DO-RA-IM.NB *) or[member[y_,range[z_]],not[member[x_,u_]],not[member[y_,v_]],not[member[pair[x_,y_],z_]]] := True (* derived 2004 March 5 in CO-DO-RA.NB *) or[member[v_,range[x_]],not[member[pair[u_,v_],composite[x_,y_]]]] := True (* derived 2004 February 8 in DO-RA-IM.NB *) or[member[y_,range[z_]],not[member[pair[x_,y_],z_]],not[subclass[z_,cart[u_,v_]]]] := True (* derived 2004 December 11 in OO-Q.NB *) or[member[range[oopart[y_]],image[Q,z_]],not[member[domain[oopart[y_]],z_]]] := True (* derived 2004 August 11 in X1993.NB *) or[member[range[x_],range[SINGLETON]],not[FUNCTION[x_]],not[member[domain[x_],range[SINGLETON]]]] := True (* derived 2004 June 28 in X1780.NB *) or[member[range[x_],REGULAR],not[member[x_,REGULAR]]] := True (* derived 2005 January 21 in SS-0.NB *) or[member[x_,range[SINGLETON]],not[equal[0,x_]]] := not[equal[0,x]] (* derived 2004 March 23 in ADJECT.NB *) or[member[y_,range[SINGLETON]],not[equal[y_,set[APPLY[z_,x_]]]],not[member[x_,domain[z_]]]] := True (* added 2003 July 5 based on EQ-SS.NB *) or[member[x_,range[SINGLETON]],not[equal[x_,set[y_]]],not[member[y_,z_]]] := True (* derived 2005 February 20 in CARD-ONE.NB *) or[member[x_,range[SINGLETON]],not[member[y_,range[SINGLETON]]],not[member[pair[x_,y_],Q]]] := True (* derived 2005 February 20 in CARD-ONE.NB *) or[member[x_,range[SINGLETON]],not[member[y_,range[SINGLETON]]],not[member[pair[y_,x_],Q]]] := True (* derived 2005 January 21 in SS-A.NB *) or[member[x_,range[SINGLETON]],subclass[x_,union[y_,image[Di,x_]]]] := True (* derived 2004 January 4 in VS-IMIN.NB *) or[member[range[x_],V],not[FUNCTION[x_]],not[member[domain[x_],y_]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[range[x_],V],not[member[x_,y_]]] := True (* added 2003 June 11 based on VS.NB *) or[member[range[VERTSECT[x_]],V],not[member[x_,V]]] := True (* derived 2004 August 14 in RANK.NB *) or[member[rank[x_],rank[y_]],not[member[x_,REGULAR]],not[member[x_,y_]]] := True (* derived 2004 June 27 in X1735.NB *) or[member[x_,REGULAR],not[member[x_,y_]],not[member[y_,REGULAR]]] := True (* added 2003 June 5 based on REG.NB *) or[member[x_,REGULAR],not[member[y_,REGULAR]],not[subclass[x_,y_]]] := True (* derived 2004 August 18 in X3080.NB *) or[member[rotate[x_],image[IMAGE[ROT],y_]],not[member[x_,y_]]] := True (* derived 2004 June 28 in X1773-1800.NB *) or[member[rotate[x_],REGULAR],not[member[x_,REGULAR]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[rotate[x_],V],not[member[x_,y_]]] := True (* added 2003 June 25 based on RUSSELL.NB *) or[member[x_,RUSSELL],member[x_,x_],not[member[x_,V]]] := True (* derived 2004 June 27 in X1704-09.NB *) or[member[x_,RUSSELL],not[member[x_,y_]],not[subclass[x_,RUSSELL]]] := True (* derived 2004 February 26 in DORA-1-2.NB *) or[member[second[x_],domain[y_]],not[member[x_,inverse[y_]]]] := True (* derived 2004 February 26 in DORA-1-2.NB *) or[member[second[x_],range[y_]],not[member[x_,y_]],not[member[first[x_],z_]]] := True (* derived 2004 February 26 in DORA-1-2.NB *) or[member[second[x_],range[y_]],not[member[x_,y_]],not[member[second[x_],z_]]] := True (* derived 2005 June 17 in DF.NB *) or[member[set[0],nat[x_]],subclass[nat[x_],set[0]]] := True (* derived 2005 February 8 in X1739.NB *) or[member[set[x_,y_],DESCENDING],not[member[x_,y_]],not[member[y_,x_]]] := True (* added 2003 June 25 based on RUSSELL.NB *) or[member[set[x_],RUSSELL],not[member[x_,RUSSELL]]] := True (* derived 2004 July 31 in SETPART.NB *) or[member[setpart[x_],y_],not[member[x_,y_]]] := True (* derived 2004 July 22 in X22--.NB *) or[member[z_,y_],subclass[image[S,set[z_]],image[S,complement[y_]]]] := True (* derived 2004 August 14 in X4205.NB *) or[member[subvar[x_],FINITE],not[member[x_,FINITE]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[subvar[x_],image[SUBVAR,y_]],not[member[x_,y_]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[subvar[x_],V],not[member[x_,y_]]] := True (* derived 2005 January 30 in SBV-V.NB *) or[member[subvar[x_],V],not[member[range[x_],y_]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[succ[x_],image[SUCC,y_]],not[member[x_,y_]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[member[succ[x_],nat[y_]],not[member[x_,U[nat[y_]]]]] := True (* derived 2005 February 16 in X3730-38.NB *) or[member[succ[y_],x_],not[equal[x_,U[x_]]],not[member[x_,OMEGA]],not[member[y_,x_]]] := True (* added 2002 May 25 based on ON-SUC-1.NB *) or[member[succ[x_],y_],not[member[x_,z_]],not[subclass[image[SUCC,z_],y_]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[member[succ[x_],y_],not[member[x_,OMEGA]],not[member[y_,OMEGA]],subclass[y_,succ[x_]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[member[succ[x_],y_],not[member[x_,U[y_]]],not[member[y_,OMEGA]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[member[succ[x_],TOPS],not[member[x_,OMEGA]]] := True (* derived 2003 December 27 in T1.NB *) or[member[y_,T1],not[equal[U[x_],U[y_]]],not[member[x_,T1]], not[member[y_,V]],not[subclass[x_,y_]]] := True (* derived 2003 December 30 in T2.NB *) or[member[x_,T1],not[member[x_,y_]], not[subclass[image[SINGLETON,U[x_]],image[RC[U[x_]],Uclosure[x_]]]]] := True (* derived 2003 December 27 in T1.NB *) or[member[x_,T1],not[member[x_,V]],not[subclass[composite[Di,id[U[x_]]], composite[complement[inverse[E]],id[x_],E]]]] := True (* derived 2003 December 30 in T2.NB *) or[member[x_,T2],not[member[x_,y_]],not[subclass[composite[id[U[x_]],Di,id[U[x_]]], composite[inverse[E],id[x_],DISJOINT,id[x_],E]]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[tc[x_],image[TC,y_]],not[member[x_,y_]]] := True (* derived 2005 February 4 in X3943.NB *) or[member[x_,tc[z_]],not[member[x_,tc[y_]]],not[member[y_,tc[z_]]]] := True (* derived 2004 May 14 in THINPART.NB *) or[member[thinpart[x_],V],not[member[x_,y_]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[member[x_,TOPS],not[equal[x_,Uclosure[x_]]],not[member[x_,y_]], not[subclass[image[CAP,cart[x_,x_]],x_]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[member[x_,TOPS],not[member[x_,y_]],not[subclass[image[CAP,cart[x_,x_]],x_]], not[subclass[Uclosure[x_],x_]]] := True (* added 2002 March 28 based on COMMUTE.NB *) or[member[trv[x_],V],not[member[x_,V]]] := True (* derived 2005 February 6 in X3398.NB *) or[member[twist[x_],V],not[member[x_,y_]]] := True (* derived 2005 February 8 in X1733.NB *) or[member[U[x_],DESCENDING],not[member[x_,y_]],not[subclass[x_,DESCENDING]]] := True (* added 2001 October 16 based on UCL-IMSG.NB *) or[member[U[x_],image[BIGCUP,z_]],not[member[x_,z_]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[x_,U[image[inverse[y_],set[x_]]]],not[member[x_,fix[composite[y_,E]]]]] := True (* derived 2005 March 29 in CA.NB *) or[member[x_,U[image[y_,set[x_]]]],not[member[x_,fix[composite[inverse[E],y_]]]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[member[U[x_],x_],not[equal[x_,Uclosure[x_]]],not[member[x_,y_]]] := True (* added 2003 June 29 based on FIX-E.NB *) or[member[U[x_],x_],not[member[x_,fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]]]] := True (* added 2002 January 9 based on ACLOSURE.NB *) or[member[x_,U[z_]],not[member[x_,y_]],not[member[y_,z_]]] := True (* derived 2005 January 30 in X3837.NB *) or[member[U[x_],y_],not[member[x_,y_]],not[member[y_,OMEGA]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[member[U[x_],y_],not[member[x_,z_]],not[subclass[Uclosure[x_],y_]]] := True (* derived 2004 June 19 based on X1421-45.NB *) or[member[U[x_],x_],not[member[x_,range[SINGLETON]]]] := True (* derived 2005 January 21 in REPLACE.NB *) or[member[U[x_],y_],not[member[x_,range[SINGLETON]]],not[subclass[x_,y_]]] := True (* added 2003 February 6 based on OM-SC-2B.NB *) or[member[x_,U[y_]],not[member[succ[x_],y_]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[member[U[x_],x_],not[member[x_,TOPS]]] := True (* derived 2005 April 26 in DICHOT.NB *) or[member[U[x_],omega],not[member[x_,image[inverse[S],omega]]]] := True (* added 2002 May 13 based on OM-SC-3.NB *) or[member[U[x_],omega],not[member[x_,omega]]] := True (* derived 2005 April 26 in DICHOT.NB *) or[member[U[x_],omega],not[member[y_,omega]],not[subclass[x_,y_]]] := True (* Theorem ON-PC-2 added 2003 June 4 based on ON-PC.NB *) or[member[U[x_],OMEGA],not[member[x_,OMEGA]]] := True (* Theorem ON-PC-1 added 2003 June 4 based on ON-PC.NB *) or[member[U[x_],OMEGA],not[member[x_,V]],not[subclass[x_,OMEGA]]] := True (* derived 2005 April 26 in DICHOT.NB *) or[member[U[x_],omega],not[subclass[x_,nat[y_]]]] := True (* derived 2005 February 6 in X3425.NB *) or[member[U[x_],U[x_]],not[member[U[x_],x_]],not[subclass[image[SUCC,x_],x_]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[Uclosure[x_],image[UCLOSURE,y_]],not[member[x_,y_]]] := True (* derived 2003 December 24 in UCL-ON.NB *) or[member[Uclosure[x_],OMEGA],not[member[x_,OMEGA]]] := True (* derived 2004 October 12 in CMPCT-OM.NB *) or[member[Uclosure[x_],TOPS],not[member[x_,y_]],not[subclass[image[CAP,cart[x_,x_]],x_]]] := True (* derived 2005 February 4 in DK-K.NB *) or[member[union[x_,y_],DEDEKIND],not[member[x_,FINITE]],not[member[y_,DEDEKIND]]] := True (* added 2003 June 4 based on IMAGE.NB *) or[member[union[x_,y_],image[ADJOIN[y_],z_]],not[member[x_,z_]],not[member[y_,V]]] := True (* derived 2005 April 28 in MAX-MIN.NB *) or[member[union[nat[x_],nat[y_]],z_],not[member[nat[x_],z_]],not[member[nat[y_],z_]]] := True (* added 2002 November 24 based on VERTSECT.NB *) or[member[union[x_,y_],omega],not[member[x_,omega]],not[member[y_,omega]]] := True (* derived 2004 January 1 in COFIN-T1.NB *) or[member[union[x_,set[0]],PointClosed],not[member[x_,PointClosed]]] := True (* derived 2005 January 25 in X2759.NB *) or[member[union[x_,set[z_]],y_],not[member[x_,y_]],not[subclass[image[K,y_],y_]]] := True (* added 2002 April 26 based on SIMPLIFY.NB *) or[member[x_,V],member[x_,y_]] := member[x,V] (* added 1998 August 31 *) or[member[x_,V],not[equal[0,x_]]] := True (* derived 2004 June 20 in X1604-56.NB *) or[member[x_,V],not[equal[x_,inverse[x_]]],not[member[domain[x_],y_]]] := True (* derived 2004 June 20 in X1604-56.NB *) or[member[x_,V],not[equal[x_,inverse[x_]]],not[member[range[x_],y_]]] := True (* derived 2004 January 4 in VS-IMIN.NB *) or[member[x_,V],not[FUNCTION[x_]],not[member[domain[x_],y_]]] := True (* added 2001 November 15 based on EQ-V.NB *) or[member[x_,V],not[member[x_,y_]]] := True (* derived 2004 June 19 in X14--.NB *) or[member[y_,V],not[member[complement[x_],u_]],not[member[intersection[x_,y_],v_]]] := True (* derived 2004 January 4 in VS-IMIN.NB *) or[member[x_,V],not[member[domain[x_],u_]], not[member[range[x_],v_]],not[subclass[x_,cart[y_,z_]]]] := True (* added 2002 November 3 based on FIRST.NB *) or[member[x_,V],not[member[first[x_],y_]]] := True (* added 2002 June 22 based on X-RO-ASS.NB *) or[member[x_,V],not[member[first[first[x_]],V]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[member[x_,V],not[member[fix[x_],y_]],not[REFLEXIVE[x_]]] := True (* derived 2004 March 29 based on HULL.NB *) or[member[y_,V],not[member[hull[x_,y_],z_]]] := True (* derived 2004 January 13 in RA-RCF.NB *) or[member[x_,V],not[member[id[x_],y_]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[member[x_,V],not[member[image[SINGLETON,x_],y_]]] := True (* derived 2004 August 1 in THINNESS.NB *) or[member[y_,V],not[member[iterate[x_,y_],V]]] := True (* added 2001 December 20 based on SUBSET.NB *) or[member[x_,V],not[member[y_,z_]],not[subclass[x_,y_]]] := True (* added 2002 October 15 based on MEMBER.NB *) or[member[u_,V],not[member[pair[u_,v_],composite[x_,y_]]]] := True (* added 2002 October 15 based on MEMBER.NB *) or[member[v_,V],not[member[pair[u_,v_],composite[x_,y_]]]] := True (* derived 2005 January 27 in DIV.NB *) or[member[x_,V],not[member[pair[x_,y_],DIV]]] := True (* derived 2005 January 27 in DIV.NB *) or[member[y_,V],not[member[pair[x_,y_],DIV]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) or[member[u_,V],not[member[pair[u_,v_],eqv[x_]]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) or[member[v_,V],not[member[pair[u_,v_],eqv[x_]]]] := True (* derived 2005 January 7 in K-RULES.NB *) or[member[x_,V],not[member[pair[x_,y_],K]]] := True (* derived 2005 January 7 in K-RULES.NB *) or[member[y_,V],not[member[pair[x_,y_],K]]] := True (* derived 2005 January 27 in Q.NB *) or[member[x_,V],not[member[pair[x_,y_],Q]]] := True (* derived 2005 January 27 in Q.NB *) or[member[y_,V],not[member[pair[x_,y_],Q]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) or[member[u_,V],not[member[pair[u_,v_],trv[x_]]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) or[member[v_,V],not[member[pair[u_,v_],trv[x_]]]] := True (* derived 2005 January 27 in ZN.NB *) or[member[x_,V],not[member[pair[x_,y_],ZN]]] := True (* derived 2005 January 27 in ZN.NB *) or[member[y_,V],not[member[pair[x_,y_],ZN]]] := True (* added 2002 November 3 based on FIRST.NB *) or[member[x_,V],not[member[second[x_],y_]]] := True (* added 2003 May 18 based on TOPS.NB *) or[member[x_,V],not[member[U[x_],y_]]] := True (* derived 2003 December 24 in UCL-ON.NB *) or[member[x_,V],not[member[Uclosure[x_],y_]]] := True (* derived 2004 August 17 in AP-PAIR.NB *) or[member[x_,V],not[member[y_,V]],not[member[intersection[x_,complement[y_]],V]]] := True (* added 2002 May 14 based on IND-C.NB *) or[member[x_,V],not[subclass[x_,omega]]] := True (* added 2001 November 15 *) or[member[x_,V],not[subclass[x_,set[y_]]]] := True (* added 2002 May 11 based on OM-1.NB *) or[member[x_,V],not[subclass[x_,y_]],subclass[succ[x_],y_]] := True (* added 2002 October 6 based on OMEGA-1.NB *) or[member[y_,V],not[subclass[x_,succ[y_]]]] := or[member[y,V],not[subclass[x,y]]] (* added 2002 January 26 based on IMV.NB *) or[member[x_,V],subclass[cart[set[x_],y_],z_]] := True (* derived 2004 November 19 in SETHOOD.NB *) or[member[wf[x_],V],not[member[x_,y_]]] := True (* derived 2004 December 10 in DIV-TRV.NB *) or[not[associative[x_]],not[subclass[image[x_,cart[y_,y_]],y_]], TRANSITIVE[composite[x_,id[cart[V,y_]],inverse[FIRST]]]] := True (* derived 2004 December 10 in DIV-TRV.NB *) or[not[associative[x_]],not[subclass[image[x_,cart[y_,y_]],y_]], TRANSITIVE[composite[x_,id[cart[y_,V]],inverse[SECOND]]]] := True (* added 2003 July 1 based on ASSOC.NB *) or[not[associative[x_]],subclass[x_,cart[cart[V,V],V]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) or[not[associative[x_]],subclass[domain[x_],cart[V,V]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) or[not[associative[x_]],TRANSITIVE[composite[x_,inverse[FIRST]]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) or[not[associative[x_]],TRANSITIVE[composite[x_,inverse[SECOND]]]] := True (* derived 2004 November 28 in SKOLEM.NB *) or[not[axch],not[equal[0,intersection[map[x_,y_],P[z_]]]], not[member[x_,u_]],not[member[y_,v_]],not[subclass[x_,image[inverse[z_],y_]]]] := True (* derived 2004 November 28 in SKOLEM.NB *) or[not[axch],not[equal[0,intersection[map[setpart[x_],setpart[y_]],P[z_]]]], not[subclass[setpart[x_],image[inverse[z_],setpart[y_]]]]] := True (* derived 2004 November 28 in SKOLEM.NB *) or[not[axch],not[equal[0,X[composite[id[setpart[y_]],z_,id[setpart[x_]]]]]]] := True (* derived 2004 November 28 in SKOLEM.NB *) or[not[axch],not[equal[0,X[x_]]],not[member[x_,y_]]] := True (* derived 2004 November 28 in SKOLEM.NB *) or[not[axch],not[equal[0,X[setpart[x_]]]]] := True (* derived 2004 October 26 in AXCH.NB *) or[not[AxCh],not[member[CHOICE,x_]]] := True (* derived 2004 October 26 in AXCH.NB *) or[not[AxCh],subclass[CHOICE,inverse[E]]] := True (* derived 2004 October 26 in AXCH.NB *) or[not[AxCh],subclass[composite[id[x_],inverse[CHOICE]],E]] := True (* derived 2004 October 26 in AXCH.NB *) or[not[AxCh],subclass[inverse[CHOICE],E_]] := True (* derived 2004 November 7 in AXCH-RE.NB *) or[not[axch],subclass[x_,SELECT]] := True (* derived 2004 December 31 in X4291-99.NB *) or[not[AxReg],not[equal[x_,set[x_]]]] := True (* derived 2004 December 31 in X4291-99.NB *) or[not[AxReg],not[equal[x_,U[x_]]],not[member[x_,range[SINGLETON]]]] := True (* derived 2004 December 30 in AXREG.NB *) or[not[AxReg],not[member[x_,x_]]] := True (* derived 2004 December 31 in X4291-99.NB *) or[not[AxReg],not[member[x_,image[inverse[S],x_]]]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) or[not[AxReg],not[member[y_,x_]],not[member[y_,A[x_]]]] := True (* derived 2004 December 31 in X4291-99.NB *) or[not[AxReg],not[member[x_,y_]],not[subclass[y_,x_]]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) or[not[AxReg],subclass[x_,REGULAR]] := True (* derived 2004 November 18 in XS-IN-AC.NB *) or[not[equal[0,domain[x_]]],not[equal[0,X[x_]]]] := True (* derived 2004 December 30 in AXREG.NB *) or[not[equal[0,fix[E]]],not[member[x_,x_]]] := True (* derived 2004 June 26 in X1640.NB *) or[not[equal[0,fix[x_]]],not[TRANSITIVE[x_]],subclass[intersection[x_,inverse[x_]],Id]] := True (* derived 2004 June 26 in X1640.NB *) or[not[equal[0,fix[x_]]],not[subclass[x_,cart[y_,y_]]],REFLEXIVE[union[x_,id[y_]]]] := True (* derived 2004 June 26 in X1640.NB *) or[not[equal[0,fix[x_]]],not[subclass[x_,cart[y_,y_]]],not[TRANSITIVE[x_]],PARTIALORDER[union[x_,id[y_]]]] := True (* added 2002 December 23 based on REPLACE.NB *) or[not[equal[0,intersection[y_,domain[x_]]]],subclass[image[x_,y_],z_]] := True (* added 2003 January 14 based on CHAIN-C.NB *) or[not[equal[0,intersection[x_,y_]]],not[equal[V,union[y_,z_]]],subclass[x_,z_]] := True (* derived 2004 February 8 in BASICS.NB *) or[not[equal[0,intersection[x_,y_]]],not[member[z_,x_]],not[member[z_,y_]]] := True (* derived 2005 February 6 in DESCEND.NB *) or[not[equal[0,intersection[x_,y_]]],not[member[x_,y_]],not[member[y_,DESCENDING]]] := True (* derived 2004 February 8 in BASICS.NB *) or[not[equal[0,intersection[x_,y_]]],not[subclass[x_,union[y_,z_]]],subclass[x_,z_]] := True (* derived 2004 June 14 in FU-F-O.NB *) or[not[equal[0,intersection[u_,x_]]],not[subclass[v_,union[x_,y_]]],subclass[intersection[u_,v_],y_]] := True (* derived 2004 January 2 in CUT-EQNS.NB *) or[not[equal[0,x_]],not[equal[V,x_]]] := True (* added 2000 October 4 based on NONEMPTY.LOG *) or[not[equal[0,x_]],not[member[y_,x_]]] := True (* added 2002 May 10 based on U-A.NB *) or[not[equal[0,x_]],not[member[x_,range[SINGLETON]]]] := True (* added 1998 August 22 *) or[not[equal[0,x_]],subclass[x_,y_]] := True (* derived 2004 February 28 in IM-CP-3.NB *) or[not[equal[0,ub[x_,y_]]],not[subclass[cart[y_,y_],x_]]] := True (* derived 2004 December 6 in FIN-AXCH.NB *) or[not[equal[0,X[composite[inverse[E],id[x_]]]]],not[member[x_,FINITE]]] := True (* derived 2004 December 24 in SEL-ON.NB *) or[not[equal[0,X[x_]]],not[member[x_,y_]],not[subclass[range[x_],OMEGA]]] := True (* derived 2004 July 14 in X1656.NB *) or[not[equal[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]]],not[PARTIALORDER[x_]]] := not[TOTALORDER[x]] (* derived 2004 June 27 in X1655-61.NB *) or[not[equal[cart[fix[x_],fix[x_]],union[inverse[x_],x_]]], not[subclass[intersection[inverse[x_],x_],Id]], not[TRANSITIVE[composite[Id,x_]]],TOTALORDER[x_]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[not[equal[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]]], not[subclass[intersection[x_,inverse[x_]],Id]],not[TRANSITIVE[x_]],TOTALORDER[x_]] := True (* derived 2004 June 26 in TOTALORD.NB *) or[not[equal[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]]],REFLEXIVE[x_]] := True (* derived 2004 June 26 in TOTALORD.NB *) or[not[equal[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]]],subclass[x_,cart[V,V]]] := True (* derived 2005 April 19 in XVR-TRV.NB *) or[not[equal[composite[x_,y_],composite[y_,x_]]],not[subclass[image[x_,z_],image[y_,z_]]], subclass[image[trv[x_],z_],image[trv[y_],z_]]] := True (* derived 2005 April 17 in XVR-ITER.NB *) or[not[equal[composite[x_,y_],composite[y_,x_]]],not[subclass[image[x_,z_],image[y_,z_]]], subclass[iterate[x_,z_],iterate[y_,z_]]] := True (* derived 2004 August 28 in TRV-CO.NB *) or[not[equal[composite[x_,y_],composite[y_,x_]]],not[TRANSITIVE[x_]],not[TRANSITIVE[y_]],TRANSITIVE[composite[x_,y_]]] := True (* derived 2005 February 5 in X2894.NB *) or[not[equal[composite[x_,y_],composite[z_,x_]]],subclass[image[IMAGE[x_],fix[IMAGE[y_]]],fix[IMAGE[z_]]]] := True (* derived 2005 April 19 in XVR-TRV.NB *) or[not[equal[composite[x_,y_],composite[y_,x_]]],subclass[transvar[x_,y_],transvar[trv[x_],trv[y_]]]] := True (* added 2002 December 23 based on REPLACE.NB *) or[not[equal[x_,composite[funpart[y_],id[domain[x_]]]]],subclass[x_,funpart[y_]]] := True (* added 2001 October 28 based on EQV.NB *) or[not[equal[composite[x_,y_],z_]],subclass[z_,cart[V,V]]] := True (* derived 2004 March 31 in EQV-DEFN.NB *) or[not[equal[x_,composite[x_,x_]]],TRANSITIVE[x_]] := True (* derived 2004 August 28 in TRV-CO.NB *) or[not[equal[composite[trv[x_],trv[y_]],composite[trv[y_],trv[x_]]]],TRANSITIVE[composite[trv[x_],trv[y_]]]] := True (* derived 2004 August 2 in FU-SU.NB *) or[not[equal[domain[x_],fix[composite[inverse[y_],x_]]]],not[FUNCTION[x_]],subclass[x_,y_]] := True (* derived 2004 August 2 in FU-SU.NB *) or[not[equal[domain[funpart[x_]],fix[composite[inverse[y_],funpart[x_]]]]],subclass[funpart[x_],y_]] := True (* generalization of Theorem ZER-2 proved 2002 January 13 in ZER-2.NB *) or[not[equal[domain[x_],image[inverse[y_],domain[x_]]]], not[subclass[composite[x_,y_,inverse[x_]],y_]], subclass[composite[x_,y_],composite[y_,x_]]] := True (* derived 2004 April 9 in SU-ID.NB *) or[not[equal[x_,id[y_]]],subclass[x_,Id]] := True (* added 2002 May 24 based on OMEGA.NB *) or[not[equal[x_,intersection[y_,z_]]],subclass[x_,y_]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[equal[x_,inverse[x_]]],not[TRANSITIVE[x_]]] := not[EQUIVALENCE[x]] (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[equal[x_,inverse[x_]]],not[TRANSITIVE[composite[Id,x_]]]] := not[EQUIVALENCE[x]] (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[equal[x_,inverse[x_]]],subclass[x_,cart[V,V]]] := True (* derived 2005 January 7 in K-RULES.NB *) or[not[equal[x_,y_]],not[member[pair[x_,y_],K]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[equal[x_,y_]],not[REFLEXIVE[x_]],REFLEXIVE[y_]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[not[equal[x_,y_]],not[subclass[composite[y_,z_],composite[z_,y_]]], subclass[composite[x_,z_],composite[z_,x_]]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[not[equal[x_,y_]],not[subclass[composite[z_,y_],composite[y_,z_]]], subclass[composite[z_,x_],composite[x_,z_]]] := True (* added 2003 January 8 based on HULL-IVR.NB *) or[not[equal[y_,z_]],not[subclass[image[x_,y_],y_]],subclass[image[x_,z_],z_]] := True (* derived 2004 May 9 in IMGFU-FP.NB *) or[not[equal[x_,y_]],not[subclass[P[y_],z_]],subclass[P[x_],z_]] := True (* added 2001 March 4 based on SU-IN.NB *) or[not[equal[x_,y_]],not[subclass[x_,z_]],subclass[y_,z_]] := True (* added 2001 March 4 based on SU-IN.NB *) or[not[equal[x_,y_]],not[subclass[z_,x_]],subclass[z_,y_]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[not[equal[x_,y_]],not[TOTALORDER[x_]],TOTALORDER[y_]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) or[not[equal[x_,y_]],not[TRANSITIVE[composite[z_,x_]]],TRANSITIVE[composite[z_,y_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) or[not[equal[x_,y_]],not[TRANSITIVE[x_]],TRANSITIVE[y_]] := True (* added 2003 January 9 based on OM-SUC.NB *) or[not[equal[omega,x_]],not[member[x_,omega]]] := True (* derived 2004 December 30 in AXREG.NB *) or[not[equal[RUSSELL,V]],not[member[x_,x_]]] := True (* added 2001 January 11 based on AXIOM1.NB *) or[not[equal[x_,y_]],subclass[x_,y_]] := True (* added 2001 January 11 based on AXIOM1.NB *) or[not[equal[x_,y_]],subclass[y_,x_]] := True (* added 2001 December 20 based on SUBST-1.NB *) or[not[equal[x_,y_]],subclass[composite[Id,x_],y_]] := True (* added 2002 October 11 based on MUL-SU-S.NB *) or[not[equal[y_,z_]],subclass[intersection[x_,y_],z_]] := True (* added 2002 September 10 based on IMV-RULE.NB *) or[not[equal[x_,y_]],subclass[x_,union[y_,z_]]] := True (* derived 2003 December 24 based on ON-SC.NB *) or[not[equal[x_,U[x_]]],not[member[x_,OMEGA]],not[member[U[x_],x_]]] := True (* added 2003 January 20 based on ONSUC7OT.NB *) (* limit ordinals are successor-invariant *) (* Theorem ON-SUC-6 in ON7 proved 1997 June 6 *) or[not[equal[x_,U[x_]]],not[member[x_,OMEGA]],subclass[image[SUCC,x_],x_]] := True (* added 2002 May 24 based on ADJOIN.NB *) or[not[equal[x_,union[y_,z_]]],subclass[y_,x_]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[not[equal[V,domain[w_]]],not[equal[w,composite[TC,IMAGE[w_],VERTSECT[y_]]]], not[subclass[range[w_],REGULAR]],WELLFOUNDED[inverse[y_]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[not[equal[V,domain[w_]]],not[equal[w_,composite[TC,IMAGE[w_],VERTSECT[y_]]]], subclass[composite[w_,y_],composite[inverse[E],w_]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[not[equal[V,domain[w_]]],not[equal[V,image[inverse[w_],x_]]],not[FUNCTION[w_]],subclass[range[w_],x_]] := True (*derived 2004 June 18 in X1400.NB *) or[not[equal[V,domain[x_]]],not[FUNCTION[x_]],not[FUNCTION[inverse[x_]]],subclass[composite[x_,Di],composite[Di_,x]]] := True (* derived 2004 June 17 in X1366.NB *) or[not[equal[V,domain[x_]]],not[FUNCTION[x_]],not[subclass[composite[x_,y_],composite[y_,x_]]], subclass[composite[x_,inverse[y_]],composite[inverse[y_],x_]]] := True (* derived 2004 July 27 in FUNCTION.NB *) or[not[equal[V,domain[x_]]],not[FUNCTION[union[x_,y_]]],subclass[y_,x_]] := True (* added 2003 October 20 based on MONOPLUS.NB *) or[not[equal[V,domain[x_]]],not[subclass[composite[x_,S],composite[S,x_]]], subclass[S,composite[inverse[x_],S,x_]]] := True (* added 2003 October 20 based on MONOPLUS.NB *) or[not[equal[V,domain[x_]]],not[subclass[composite[x_,S,inverse[x_]],S]], subclass[S,composite[inverse[x_],S,x_]]] := True (* added 2003 October 7 based on WF-IND.NB *) or[not[equal[V,domain[VERTSECT[inverse[x_]]]]],not[WELLFOUNDED[x_]],WELLFOUNDED[trv[x_]]] := True (* derived 2004 September 14 in WF-REC-6.NB *) or[not[equal[V,domain[VERTSECT[y_]]]],not[equal[cart[V,V],domain[x_]]],not[FUNCTION[x_]], not[subclass[image[y_,domain[w_]],domain[w_]]],not[subclass[w_,composite[x_,history[w_,y_]]]], not[WELLFOUNDED[inverse[y_]]],subclass[w_,rec[x_,y_]]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[not[equal[V,domain[VERTSECT[y_]]]],not[equal[w_,composite[TC,IMAGE[w_],VERTSECT[y_]]]], not[WELLFOUNDED[inverse[y_]]],subclass[range[w_],OMEGA]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) or[not[equal[V,domain[VERTSECT[x_]]]],not[FUNCTION[composite[id[fix[x_]],inverse[VERTSECT[x_]]]]], not[REFLEXIVE[x_]],not[TRANSITIVE[x_]],subclass[intersection[x_,inverse[x_]],Id]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[not[equal[V,domain[VERTSECT[y_]]]],not[FUNCTION[x_]],not[WELLFOUNDED[inverse[y_]]], subclass[rec[x_,y_],composite[x_,history[rec[x_,y_],y_]]]] := True (* derived 2004 August 5 in WF-REC-2.NB *) or[not[equal[V,domain[VERTSECT[y_]]]],not[FUNCTION[x_]],not[WELLFOUNDED[inverse[y_]]],subclass[rec[x_,y_], composite[x_,id[composite[IMAGE[composite[id[rec[x_,y_]],inverse[FIRST]]],VERTSECT[y_]]],inverse[FIRST]]]] := True (* derived 2004 August 1 in SETHOOD.NB *) or[not[equal[V,domain[VERTSECT[x_]]]],not[member[invar[x_],y_]]] := True (* derived 2004 July 23 in X23--.NB *) or[not[equal[V,domain[VERTSECT[x_]]]],not[TRANSITIVE[x_]],subclass[composite[thinpart[x_],x_],x_]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[not[equal[V,domain[VERTSECT[y_]]]],not[WELLFOUNDED[inverse[y_]]], subclass[range[rec[composite[TC,IMAGE[SECOND],SECOND],y_]],OMEGA]] := True (* derived 2004 February 1 in FINCHAIN.NB *) or[not[equal[V,domain[VERTSECT[x_]]]], subclass[image[IMAGE[x_],cliques[y_]],cliques[composite[x_,y_,inverse[x_]]]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[not[equal[V,fix[composite[x_,y_]]]],not[subclass[composite[w_,u_],Id]], not[subclass[composite[z_,x_],composite[u_,v_]]],subclass[composite[w_,z_],composite[v_,y_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[equal[V,fix[x_]]],REFLEXIVE[composite[Id,x_]]] := True (* derived 2005 April 19 in XVR-TRV.NB *) or[not[equal[V,fix[x_]]],subclass[cart[omega,Id],power[x_]]] := True (* derived 2004 June 15 in HULIVRSW.NB *) or[not[equal[V,fix[x_]]],subclass[y_,image[x_,y_]]] := True (* derived 2004 June 15 in HULIVRSW.NB *) or[not[equal[V,fix[x_]]],subclass[IMAGE[x_],S]] := True (* derived 2005 February 6 in IVR-SBV.NB *) or[not[equal[V,image[inverse[S],x_]]],subclass[y_,image[CAP,cart[x_,y_]]]] := True (* derived 2005 February 6 in IVR-SBV.NB *) or[not[equal[V,image[inverse[S],y_]]],subclass[x_,image[CAP,cart[x_,y_]]]] := True (* revised 2003 June 2 based on SETHOOD.NB *) or[not[equal[V,x_]],not[member[x_,y_]]] := True (* added 1998 August 22 *) or[not[equal[V,y_]],subclass[x_,y_]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[EQUIVALENCE[x_]],REFLEXIVE[x_]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[EQUIVALENCE[x_]],subclass[x_,cart[V,V]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[EQUIVALENCE[x_]],subclass[range[VERTSECT[x_]],cliques[x_]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[EQUIVALENCE[x_]],TRANSITIVE[x_]] := True (* added 1999 August 19 *) or[not[FUNCTION[composite[Id,x_]]],not[subclass[x_,cart[V,V]]]] := not[FUNCTION[x]] (* derived 2005 February 5 in X2076-79.NB *) or[not[FUNCTION[LEAST[x_]]],not[REFLEXIVE[x_]],not[subclass[P[fix[x_]],union[domain[LEAST[x_]],set[0]]]],WELLORDER[x_]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[FUNCTION[LEAST[x_]]],not[REFLEXIVE[x_]],subclass[intersection[x_,inverse[x_]],Id]] := True (* Theorem Q-OO in Q proved 2000 May 3 *) or[not[FUNCTION[x_]],not[FUNCTION[inverse[x_]]],subclass[composite[IMAGE[x_],id[P[domain[x_]]]],Q]] := True (* derived 2004 August 19 in X2896.NB *) or[not[FUNCTION[y_]],not[FUNCTION[inverse[x_]]],subclass[image[IMAGE[cross[x_,y_]],FUNS],FUNS]] := True (* derived 2004 May 7 in OO-TOPS.NB *) or[not[FUNCTION[x_]],not[FUNCTION[inverse[x_]]],subclass[image[IMAGE[IMAGE[x_]],TOPS],TOPS]] := True (* derived 2004 June 21 in X18--.NB *) or[not[FUNCTION[x_]],not[member[complement[x_],y_]]] := True (* derived 2005 February 5 in X2409.NB *) or[not[FUNCTION[x_]],not[member[domain[x_],y_]],not[subclass[P[domain[x_]],range[x_]]]] := True (* derived 2004 July 25 in CANTOR.NB *) or[not[FUNCTION[x_]],not[member[fix[composite[complement[inverse[E]],x_]],range[x_]]]] := True (* derived 2004 July 25 in CANTOR.NB *) or[not[FUNCTION[x_]],not[member[x_,V]],not[subclass[P[domain[x_]],range[x_]]]] := True (* derived 2005 January 16 in FUN-RFX.NB *) or[not[FUNCTION[x_]],not[REFLEXIVE[y_]],REFLEXIVE[composite[inverse[x_],y_,x_]]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[not[FUNCTION[x_]],not[subclass[composite[x_,y_],composite[z_,x_]]],subclass[image[x_,fix[y_]],fix[z_]]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[not[FUNCTION[y_]],not[subclass[composite[x_,id[domain[y_]]],y_]],subclass[composite[x_,inverse[y_]],Id]] := True (* derived 2004 June 19 in X14--.NB *) or[not[FUNCTION[x_]],not[subclass[composite[Id,x_],y_]],subclass[x_,y_]] := True (* derived 2004 June 12 in X1191.NB *) or[not[FUNCTION[z_]],not[subclass[x_,composite[inverse[z_],y_]]],subclass[composite[z_,x_],y_]] := True (* added 2003 October 20 based on MONOPLUS.NB *) or[not[FUNCTION[x_]],not[subclass[composite[x_,S],composite[S,x_]]],subclass[composite[x_,S,inverse[x_]],S]] := True (* derived 2004 June 12 in X1187.NB *) or[not[FUNCTION[z_]],not[subclass[x_,composite[y_,z_]]],subclass[composite[x_,inverse[z_]],y_]] := True (* derived 2004 June 19 *) or[not[FUNCTION[x_]],not[subclass[x_,composite[y_,x_]]],subclass[range[x_],fix[y_]]] := True (* derived 2004 June 12 in X1228.NB *) or[not[FUNCTION[x_]],not[subclass[domain[x_],fix[composite[inverse[y_],x_]]]],subclass[x_,y_]] := True (* derived 2004 June 12 in X1228.NB *) or[not[FUNCTION[x_]],not[subclass[domain[x_],fix[composite[inverse[x_],y_]]]],subclass[x_,y_]] := True (* derived 2004 October 26 in AXCH.NB *) or[not[FUNCTION[x_]],not[subclass[domain[x_],fix[composite[y_,x_]]]],subclass[x_,inverse[y_]]] := True (* derived 2005 May 5 in FU-DORA.NB *) or[not[FUNCTION[x_]],not[subclass[domain[x_],image[inverse[x_],y_]]],subclass[range[x_],y_]] := True (* derived 2004 June 18 in X13-FUNP.NB *) or[not[FUNCTION[x_]],not[subclass[image[inverse[x_],y_],image[inverse[x_],z_]]],not[subclass[y_,range[x_]]],subclass[y_,z_]] := True (* derived 2004 June 18 in X13-FUNP.NB *) or[not[FUNCTION[x_]],not[subclass[y_,image[inverse[x_],z_]]],subclass[image[x_,y_],z_]] := True (* derived 2004 November 13 in AC1-A8.NB *) or[not[FUNCTION[z_]],not[subclass[z_,inverse[E]]], not[subclass[cart[domain[z_],domain[z_]],union[DISJOINT,Id]]], subclass[image[IMAGE[id[range[z_]]],domain[z_]],range[SINGLETON]]] := True (* derived 2004 June 17 in X1368.NB *) or[not[FUNCTION[x_]],not[subclass[y_,inverse[x_]]],subclass[composite[x_,y_],Id]] := True (* derived 2004 September 29 in WF-REC-7.NB *) or[not[FUNCTION[x_]],not[subclass[range[x_],REGULAR]],WELLFOUNDED[composite[inverse[x_],E,x_]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[not[FUNCTION[x_]],not[subclass[range[x_],y_]],subclass[x_,cart[V,y_]]] := True (* added 2003 October 20 based on MONOPLUS.NB *) or[not[FUNCTION[x_]],not[subclass[S,composite[inverse[x_],S,x_]]], subclass[composite[x_,S],composite[S,x_]]] := True (* derived 2004 December 27 in FUN-TRV.NB *) or[not[FUNCTION[x_]],not[TRANSITIVE[y_]],TRANSITIVE[composite[inverse[x_],y_,x_]]] := True (* derived 2004 September 23 in WF-FU.NB *) or[not[FUNCTION[x_]],not[WELLFOUNDED[y_]],WELLFOUNDED[composite[inverse[x_],y_,x_]]] := True (* added 2003 June 9 based on VS-FUNS.NB *) or[not[FUNCTION[rotate[inverse[x_]]]],not[subclass[range[x_],cart[V,V]]], subclass[range[VERTSECT[x_]],FUNS]] := True (* derived 2004 November 14 in DJ-U.NB *) or[not[FUNCTION[x_]],subclass[cart[image[CART,composite[x_,inverse[SINGLETON]]], image[CART,composite[x_,inverse[SINGLETON]]]],union[DISJOINT,Id]]] := True (* added 2001 November 20 based on FUNCTION.NB *) or[not[FUNCTION[x_]],subclass[x_,cart[V,V]]] := True (* derived 2004 August 19 in X2901-93.NB *) or[not[FUNCTION[x_]],subclass[composite[id[P[range[x_]]],inverse[IMAGE[inverse[x_]]]],IMAGE[x_]]] := True (* Theorem ZER-3 proved 2002 January 13 in ZER-3.NB *) or[not[FUNCTION[x_]],subclass[image[x_,fix[composite[y_,x_]]],fix[composite[x_,y_]]]] := True (* derived 2004 January 8 in FIN-FU.NB *) or[not[FUNCTION[x_]],subclass[image[IMAGE[x_],FINITE],FINITE]] := True (* derived 2004 June 18 in X1372-82.NB *) or[not[FUNCTION[x_]],subclass[image[x_,image[inverse[x_],y_]],y_]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[not[FUNCTION[x_]],subclass[image[IMAGE[inverse[DUP]],subcommutant[x_]],invar[x_]]] := True (* derived 2004 May 9 in IMGFU-FP.NB *) or[not[FUNCTION[x_]],subclass[P[fix[x_]],fix[IMAGE[x_]]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[not[FUNCTION[x_]],subclass[partrec[x_,y_],FUNS]] := True (* derived 2004 August 27 in TRV-COND.NB *) or[not[FUNCTION[x_]],TRANSITIVE[composite[inverse[x_],x_]]] := True (* derived 2004 December 27 in FUN-TRV.NB *) or[not[FUNCTION[x_]],TRANSITIVE[composite[inverse[x_],trv[y_],x_]]] := True (* derived 2004 August 18 in X2812-61.NB *) or[not[FUNCTION[U[x_]]],subclass[x_,FUNS]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[not[FUNCTION[union[x_,y_]]],subclass[composite[x_,id[domain[y_]]],y_]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[not[FUNCTION[union[x_,y_]]],subclass[composite[x_,inverse[y_]],Id]] := True (* derived 2005 February 6 in DESCEND.NB *) or[not[member[0,x_]],not[member[x_,DESCENDING]]] := True (* derived 2003 December 22 in EMPTY.NB *) or[not[member[0,x_]],not[subclass[x_,cart[y_,z_]]]] := True (* derived 2004 January 2 in BNCL-FIN.NB *) or[not[member[0,x_]],not[subclass[image[CUP,cart[x_,x_]],x_]], not[subclass[image[SINGLETON,y_],x_]],subclass[intersection[FINITE,P[y_]],x_]] := True (* derived 2004 January 2 in BNCL-FIN.NB *) or[not[member[0,x_]],not[subclass[image[CUP,cart[x_,x_]],x_]], not[subclass[range[SINGLETON],x_]],subclass[FINITE,x_]] := True (* added 2003 November 28 based on FIN-IND.NB *) or[not[member[0,x_]],not[subclass[image[K,x_],x_]],subclass[FINITE,x_]] := True (* Axiom AX-OM-3 in AXC-REF *) or[not[member[0,x_]],not[subclass[image[SUCC,x_],x_]],subclass[omega,x_]] := True (* derived 2005 February 10 in X3571.NB *) or[not[member[0,x_]],not[subclass[intersection[omega,image[SUCC,x_]],x_]],subclass[omega,x_]] := True (* added 2002 September 1 based on MONO-MUL.NB *) or[not[member[0,x_]],subclass[composite[NATMUL,LEFT[x_]],S]] := True (* added 2002 September 1 based on MONO-MUL.NB *) or[not[member[0,x_]],subclass[y_,natmul[x_,y_]]] := True (* derived 2005 January 27 in DK-SU.NB *) or[not[member[x_,DEDEKIND]],not[member[pair[x_,omega],Q]]] := True (* added 2003 November 8 based on APPLMONO.NB *) or[not[member[x_,domain[z_]]],not[subclass[x_,y_]], not[subclass[composite[z_,S,inverse[z_]],S]],subclass[APPLY[z_,x_],APPLY[z_,y_]]] := True (* derived 2005 January 27 in FINITE.NB *) or[not[member[x_,FINITE]],not[member[pair[x_,omega],Q]]] := True (* derived 2004 January 13 based on FIN-SUPC.NB *) or[not[member[x_,FINITE]],not[subclass[x_,FINITE]],subclass[P[U[x_]],FINITE]] := True (* derived 2005 February 3 in X4224.NB *) or[not[member[x_,FINITE]],not[subclass[U[y_],x_]],subclass[y_,FINITE]] := True (* derived 2005 January 7 in CARD-K.NB *) or[not[member[x_,FINITE]],subclass[image[K,set[x_]],FINITE]] := True (* derived 2004 January 13 based on FIN-SUPC.NB *) or[not[member[x_,FINITE]],subclass[P[x_],FINITE]] := True (* added 2002 April 27 based on FULIND-5.NB *) or[not[member[H[x_],x_]],not[subclass[x_,RUSSELL]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[not[member[x_,image[inverse[S],omega]]],subclass[cart[x_,x_],union[S,inverse[S]]]] := True (* derived 2004 January 13 based on FIN-SUPC.NB *) or[not[member[x_,image[inverse[S],y_]]],subclass[P[x_],image[inverse[S],y_]]] := True (* derived 2005 February 20 in CARD-TWO.NB *) or[not[member[y_,image[PAIRSET,Di]]],not[subclass[x_,y_]],subclass[card[x_],succ[set[0]]]] := True (* derived 2005 February 20 in CARD-TWO.NB *) or[not[member[x_,image[PAIRSET,Di]]],subclass[card[x_],succ[set[0]]]] := True (* derived 2004 July 23 in X23--.NB *) or[not[member[image[x_,y_],V]],subclass[y_,domain[VERTSECT[x_]]]] := True (* derived 2004 December 5 in MAP-CO.NB *) or[not[member[w_,map[x_,y_]]],subclass[w_,cart[V,y_]]] := True (* derived 2004 December 5 in MAP-CO.NB *) or[not[member[w_,map[x_,y_]]],subclass[range[w_],y_]] := True (* derived 2005 February 13 in NAT.NB *) or[not[member[y_,nat[x_]]],not[member[nat[x_],y_]]] := True (* derived 2005 April 28 in NATORDER.NB *) or[not[member[x_,nat[y_]]],not[subclass[nat[y_],x_]]] := True (* derived 2005 April 28 in NATORDER.NB *) or[not[member[nat[x_],y_]],not[subclass[y_,nat[x_]]]] := True (* derived 2005 April 28 in NATORDER.NB *) or[not[member[x_,nat[y_]]],subclass[x_,nat[y_]]] := True (* derived 2005 May 25 in NATSUB.NB *) or[not[member[natsub[x_,y_],z_]],subclass[y_,x_]] := True (* derived 2005 February 15 in ON-IND-4.NB *) or[not[member[y_,x_]],not[member[y_,A[x_]]],not[subclass[x_,omega]]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) or[not[member[y_,x_]],not[member[y_,A[x_]]],not[subclass[x_,REGULAR]]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) or[not[member[y_,x_]],not[member[y_,A[x_]]],not[subclass[x_,RUSSELL]]] := True (* added 2003 June 4 based on SETHOOD.NB *) or[not[member[x_,y_]],not[member[complement[x_],z_]]] := True (* derived 2005 January 18 in OO-Q.NB *) or[not[member[x_,y_]],not[member[intersection[x_,z_],V]]] := not[member[x,y]] (* added 2003 June 4 based on SETHOOD.NB *) or[not[member[x_,y_]],not[member[invar[x_],z_]]]:=True (* derived 2005 May 25 in NATSUB.NB *) or[not[member[x_,y_]],not[member[natsub[x_,y_],z_]]] := True (* added 2002 April 27 based on FULIND-5.NB *) or[not[member[x_,x_]],not[member[x_,y_]],not[subclass[y_,RUSSELL]]] := True (* derived 2005 April 23 in FACT-S.NB *) or[not[member[x_,y_]],not[member[y_,omega]],not[subclass[y_,x_]]] := True (* added 2002 May 11 based on OM-1.NB *) or[not[member[x_,y_]],not[member[y_,omega]],subclass[x_,y_]] := True (* added 2002 May 7 based on EXAMPLES.NB *) or[not[member[x_,y_]],not[member[y_,OMEGA]],subclass[x_,y_]] := True (* added 2002 May 11 based on OM-1.NB *) or[not[member[x_,y_]],not[member[y_,omega]],subclass[succ[x_],y_]] := True (* added 2003 February 26 based on ACL-Z.NB *) or[not[member[x_,z_]],not[member[y_,z_]],subclass[set[x_,y_],z_]] := True (* derived 2005 January 25 in X2759.NB *) or[not[member[x_,y_]],not[subclass[image[K,y_],y_]],subclass[range[SINGLETON],image[inverse[ADJOIN[x_]],y_]]] := True (* derived 2005 January 15 in HILBERT.NB *) or[not[member[x_,y_]],not[subclass[image[POWER,x_],x_]],not[subclass[Uclosure[x_],x_]]] := True (* derived 2005 January 15 in HILBERT.NB *) or[not[member[x_,y_]],not[subclass[P[x_],x_]]] := True (* derived 2005 January 15 in HILBERT.NB *) or[not[member[x_,y_]],not[subclass[P[U[x_]],U[x_]]]] := True (* derived 2004 June 27 in X1704-09.NB *) or[not[member[x_,y_]],not[subclass[x_,RUSSELL]],subclass[succ[x_],RUSSELL]] := True (* added 2004 April 17 based on CORE.NB *) or[not[member[x_,y_]],not[subclass[x_,z_]],subclass[x_,core[y_,z_]]] := True (* added 2002 April 27 based on FULSUC-F.NB *) or[not[member[x_,y_]],not[subclass[x_,y_]],subclass[succ[x_],y_]] := True (* added 2002 April 26 based on MYSTERY.NB *) or[not[member[x_,y_]],not[subclass[U[y_],z_]],subclass[x_,z_]] := True (* added 2002 April 27 based on FULSUC-F.NB *) or[not[member[x_,y_]],not[subclass[U[y_],y_]],subclass[succ[x_],y_]] := True (* derived 2004 April 28 in WF.NB *) or[not[member[x_,y_]],not[WELLFOUNDED[x_]],WELLFOUNDED[trv[x_]]] := True (* derived 2003 January 3 in OO-SUC-OM.NB *) or[not[member[x_,omega]],not[member[x_,x_]]] := True (* added 2002 May 15 based on TRICHOT.NB *) or[not[member[x_,OMEGA]],not[member[x_,x_]]] := True (* Theorem IND-RUS-6 added 2003 July 5 based on IND-RUS-6.NB *) or[not[member[x_,omega]],not[member[x_,y_]],not[member[y_,x_]]] := True (* derived 2005 February 11 in X3625.NB *) or[not[member[x_,OMEGA]],not[member[x_,y_]],not[member[y_,x_]]] := True (* derived 2005 February 4 in X3583.NB *) or[not[member[x_,omega]],not[member[x_,y_]],not[subclass[y_,x_]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[not[member[x_,OMEGA]],not[member[x_,y_]],not[subclass[y_,x_]]] := True (* derived 2005 February 12 in IND.NB *) or[not[member[x_,omega]],not[member[x_,y_]],not[subclass[image[SUCC,y_],y_]],subclass[omega,union[x_,y_]]] := True (* derived 2005 February 16 in X3730-38.NB *) or[not[member[x_,OMEGA]],not[member[y_,OMEGA]],not[subclass[x_,y_]],subclass[succ[x_],succ[y_]]] := True (* added 2002 October 13 based on THM-M8.NB *) or[not[member[x_,omega]],not[member[y_,omega]],subclass[x_,y_],subclass[y_,x_]] := True (* added 2002 May 7 based on EXAMPLES.NB *) or[not[member[x_,OMEGA]],not[member[y_,OMEGA]],subclass[x_,y_],subclass[y_,x_]] := True (* derived 2004 February 3 in FIN-RANK.NB *) or[not[member[x_,OMEGA]],not[member[pair[x_,y_],ZN]],subclass[rank[y_],x_]] := True (* derived 2005 February 12 in IND.NB *) or[not[member[x_,omega]],not[member[x_,y_]],subclass[image[SUCC,x_],union[x_,y_]]] := True (* added 2002 May 15 based on TRICHOT.NB *) or[not[member[x_,OMEGA]],not[member[x_,U[x_]]]] := True (* derived 2004 August 15 in X4055-56.NB *) or[not[member[x_,OMEGA]],not[subclass[y_,image[ZN,x_]]],subclass[rank[y_],x_]] := True (* derived 2005 January 22 in ON-IND.NB *) or[not[member[x_,OMEGA]],not[subclass[intersection[x_,P[y_]],y_]],subclass[x_,y_]] := True (* derived 2005 February 10 in X3575.NB *) or[not[member[x_,omega]],not[subclass[x_,y_]],not[subclass[intersection[omega,P[y_]],y_]],subclass[succ[x_],y_]] := True (* added 2003 January 9 based on OM-SUC.NB *) or[not[member[x_,omega]],not[subclass[omega,x_]]] := True (* added 2001 December 5 based on CARD-ON.NB *) or[not[member[x_,OMEGA]],subclass[card[x_],x_]] := True (* derived 2005 January 30 in X3837.NB *) or[not[member[x_,OMEGA]],subclass[image[BIGCUP,x_],x_]] := True (* added 2002 October 6 based on OMEGA-2.NB *) or[not[member[x_,omega]],subclass[image[inverse[SUCC],x_],x_]] := True (* derived 2005 February 10 in X3557.NB *) or[not[member[x_,omega]],subclass[image[inverse[SUCC],intersection[omega,x_]],x_]] := True (* added 2003 June 2 based on ON-SUC-1.NB *) or[not[member[x_,OMEGA]],subclass[image[SUCC,x_],succ[x_]]] := True (* added 2002 May 24 based on ADJOIN.NB *) or[not[member[x_,omega]],subclass[image[SUCC,x_],succ[x_]]] := True (* derived 2005 April 26 in DICHOT.NB *) or[not[member[x_,omega]],subclass[image[SUCC,U[x_]],x_]] := True (* derived 2005 February 17 in X3741-49.NB *) or[not[member[x_,OMEGA]],subclass[image[SUCC,U[x_]],x_]] := True (* derived 2003 December 19 in RA-ITER.NB *) or[not[member[x_,omega]],subclass[image[trv[iterate[SUCC,set[x_]]],y_],omega]] := True (* derived 2003 December 18 in RA-ITER.NB *) or[not[member[x_,omega]],subclass[image[trv[SUCC],set[x_]],omega]] := True (* added 2002 May 27 based on ON-DEFN.NB *) or[not[member[x_,OMEGA]],subclass[intersection[FULL,P[x_]],succ[x_]]] := True (* added 2002 May 11 based on OM-1.NB *) or[not[member[x_,omega]],subclass[x_,omega]] := True (* added 2002 April 21 based on ON.NB *) or[not[member[x_,OMEGA]],subclass[x_,OMEGA]] := True (* added 2002 May 31 based on DICHOT.NB *) or[not[member[x_,OMEGA]],subclass[OMEGA,union[x_,image[S,set[x_]]]]] := True (* derived 2005 January 22 in ON-IND.NB *) or[not[member[x_,OMEGA]],subclass[x_,REGULAR]] := True (* derived 2005 February 12 in X3673-76.NB *) or[not[member[x_,OMEGA]],subclass[succ[x_],OMEGA]] := True (* derived 2005 February 16 in X3730-38.NB *) or[not[member[x_,OMEGA]],subclass[succ[U[x_]],succ[x_]]] := True (* added 2002 May 24 based on ADJOIN.NB *) or[not[member[x_,omega]],subclass[succ[x_],union[image[SUCC,x_],set[0]]]] := True (* added 2002 May 11 based on OM-1.NB *) or[not[member[x_,omega]],subclass[U[x_],x_]] := True (* added 2002 April 21 based on ON.NB *) or[not[member[x_,OMEGA]],subclass[U[x_],x_]] := True (* derived 2005 April 26 in DICHOT.NB *) or[not[member[x_,omega]],subclass[U[x_],omega]] := True (* derived 2005 February 16 in X3730-38.NB *) or[not[member[x_,OMEGA]],subclass[Uclosure[x_],succ[x_]]] := True (* added 2003 January 30 based on OMEGA.NB *) (* Theorem ON-SUC16 in ON7 proved 2000 February 10 *) or[not[member[x_,omega]],subclass[x_,union[image[SUCC,x_],set[0]]]] := True (* added 2002 May 13 based on OM-SUC.NB *) or[not[member[x_,omega]],subclass[x_,union[range[SUCC],set[0]]]] := True (* derived 2005 January 7 in K-RULES.NB *) or[not[member[pair[x_,y_],K]],not[subclass[y_,x_]]] := True (* derived 2005 January 7 in K-RULES.NB *) or[not[member[pair[x_,y_],K]],subclass[x_,y_]] := True (* derived 2005 May 25 in MOD-A.NB *) or[not[member[pair[y_,natsub[x_,z_]],DIV]],subclass[natmod[x_,y_],z_]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[not[member[pair[x_,y_],z_]],not[member[x_,V]],not[subclass[composite[u_,z_],v_]], subclass[image[u_,set[y_]],image[v_,set[x_]]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[member[pair[u_,v_],x_]],not[REFLEXIVE[x_]],subclass[set[u_,v_],fix[x_]]] := True (* added 2003 August 8 based on CLIQEQDF.NB *) or[not[member[pair[x_,y_],z_]],not[subclass[cart[z_,z_],EQUIDIFF]], subclass[z_,composite[inverse[plus[x_]],plus[y_]]]] := True (* derived 2004 June 5 in THPT-TRV.NB *) or[not[member[pair[u_,v_],x_]],not[TRANSITIVE[x_]], subclass[image[x_,set[v_]],image[x_,set[u_]]]] := True (* derived 2004 June 5 in THPT-TRV.NB *) or[not[member[pair[u_,v_],trv[x_]]], subclass[image[trv[x_],set[v_]],image[trv[x_],set[u_]]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[not[member[w_,partrec[x_,y_]]],not[member[z_,domain[w_]]],subclass[image[y_,set[z_]],domain[w_]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[not[member[w_,partrec[x_,y_]]],subclass[w_,cart[V,V]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[not[member[w_,partrec[x_,y_]]],subclass[w_,composite[x_,history[w_,y_]]]] := True (* derived 204 August 22 in PARTREC.NB *) or[not[member[w_,partrec[x_,y_]]], subclass[w_,composite[x_,id[composite[IMAGE[composite[id[w_],inverse[FIRST]]],VERTSECT[y_]]],inverse[FIRST]]]] := True (* derived 204 August 22 in PARTREC.NB *) or[not[member[w_,partrec[x_,y_]]],subclass[domain[w_],domain[VERTSECT[y_]]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[not[member[w_,partrec[x_,y_]]],subclass[image[y_,domain[w_]],domain[w_]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[not[member[w_,partrec[x_,y_]]],subclass[w_,rec[x_,y_]]] := True (* derived 2003 December 28 in PTCLOSED.NB *) or[not[member[x_,PointClosed]],subclass[image[SINGLETON,U[x_]],image[RC[U[x_]],x_]]] := True (* derived 2005 January 21 in REPLACE.NB *) or[not[member[x_,range[SINGLETON]]],not[member[U[x_],y_]],subclass[x_,y_]] := True (* derived 2005 February 20 in CARD-TWO.NB *) or[not[member[x_,range[SINGLETON]]],subclass[card[x_],succ[set[0]]]] := True (* derived 2005 January 13 in REG-RUS.NB *) or[not[member[x_,REGULAR]],not[member[x_,x_]]] := True (* derived 2004 August 15 in X4055-56.NB *) or[not[member[x_,REGULAR]],not[member[x_,image[ZN,rank[x_]]]]] := True (* derived 2005 January 13 in REG-RUS.NB *) or[not[member[x_,REGULAR]],not[member[x_,y_]],not[member[y_,x_]]] := True (* derived 2004 August 21 in X1775.NB *) or[not[member[x_,REGULAR]],not[subclass[P[y_],y_]],subclass[x_,y_]] := True (* added 2003 June 5 based on REG.NB *) or[not[member[x_,REGULAR]],subclass[x_,REGULAR]] := True (* derived 2005 January 13 in REG-RUS.NB *) or[not[member[x_,REGULAR]],subclass[x_,RUSSELL]] := True (* derived 2004 September 24 in COREDESC.NB *) or[not[member[x_,REGULAR]],WELLFOUNDED[composite[id[x_],E]]] := True (* added 2003 June 25 based on RUSSELL.NB *) or[not[member[x_,RUSSELL]],not[member[x_,x_]]] := True (* derived 2005 February 10 in X3572.NB *) or[not[member[set[0],x_]],not[subclass[image[SUCC,x_],x_]],subclass[omega,union[x_,set[0]]]] := True (* Corollary A-1A in A1 proved 1994 December 31 *) or[not[member[x_,y_]],subclass[A[y_],x_]] := True (* added 2002 November 24 based on VERTSECT.NB *) or[not[member[x_,y_]],subclass[image[z_,set[x_]],image[z_,y_]]] := True (* derived 2004 December 22 in UCL-COMT.NB *) or[not[member[x_,y_]],subclass[lb[COMMUTE,y_],commutant[x_]]] := True (* derived 2004 June 20 in X1563.NB *) or[not[member[x_,y_]],subclass[lb[z_,y_],image[inverse[z_],set[x_]]]] := True (* added 2003 March 1 based on HER-UCL.NB *) or[not[member[x_,y_]],subclass[P[x_],image[inverse[S],y_]]] := True (* derived 2005 January 30 in X4069.NB *) or[not[member[x_,y_]],subclass[rank[x_],rank[y_]]] := True (* derived 2005 January 30 in X4069.NB *) or[not[member[x_,y_]],subclass[succ[rank[x_]],rank[y_]]] := True (* derived 2005 February 12 in IND.NB *) or[not[member[x_,y_]],subclass[succ[x_],union[x_,y_]]] := True (* derived 2005 January 30 in X3942.NB *) or[not[member[x_,y_]],subclass[x_,tc[y_]]] := True (* derived 2005 January 30 in X3942.NB *) or[not[member[x_,y_]],subclass[tc[x_],tc[y_]]] := True (* added 2001 November 1 based on RFX.NB *) or[not[member[x_,y_]],subclass[x_,U[y_]]] := True (* derived 2004 June 20 in X1563.NB *) or[not[member[x_,y_]],subclass[ub[z_,y_],image[z_,set[x_]]]] := True (* derived 2004 December 23 in UCLSBCMT.NB *) or[not[member[x_,y_]],subclass[ub[SUBCOMMUTE,y_],subcommutant[x_]]] := True (* derived 2003 December 27 in T1.NB *) or[not[member[x_,T1]],subclass[composite[Di,id[U[x_]]], composite[complement[inverse[E]],id[x_],E]]] := True (* derived 2003 December 30 in T2.NB *) or[not[member[x_,T1]],subclass[image[SINGLETON,U[x_]],image[RC[U[x_]],Uclosure[x_]]]] := True (* derived 2003 December 30 in T2.NB *) or[not[member[x_,T2]],subclass[composite[id[U[x_]],Di,id[U[x_]]], composite[inverse[E],id[x_],DISJOINT,id[x_],E]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[not[member[x_,TOPS]],subclass[image[CAP,cart[x_,x_]],x_]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) or[not[member[x_,TOPS]],subclass[Uclosure[x_],x_]] := True (* rule proposed 1998 September 13 *) or[not[member[x_,V]],not[member[x_,y_]]] := not[member[x,y]] (* added 2003 May 20 based on SU-DO-VS.NB *) or[not[member[y_,V]],not[member[image[x_,y_],V]],subclass[y_,domain[VERTSECT[x_]]]] := True (* derived 2005 January 27 in DIV.NB *) or[not[member[x_,V]],not[member[pair[x_,y_],DIV]]] := not[member[pair[x,y],DIV]] (* derived 2005 January 27 in DIV.NB *) or[not[member[y_,V]],not[member[pair[x_,y_],DIV]]] := not[member[pair[x,y],DIV]] (* derived 2005 January 27 in K.NB *) or[not[member[x_,V]],not[member[pair[x_,y_],K]]] := not[member[pair[x,y],K]] (* derived 2005 January 27 in K.NB *) or[not[member[y_,V]],not[member[pair[x_,y_],K]]] := not[member[pair[x,y],K]] (* derived 2005 January 27 in Q.NB *) or[not[member[x_,V]],not[member[pair[x_,y_],Q]]] := not[member[pair[x,y],Q]] (* derived 2005 January 27 in Q.NB *) or[not[member[y_,V]],not[member[pair[x_,y_],Q]]] := not[member[pair[x,y],Q]] (* derived 2005 January 27 in ZN.NB *) or[not[member[x_,V]],not[member[pair[x_,y_],ZN]]] := not[member[pair[x,y],ZN]] (* derived 2005 January 27 in ZN.NB *) or[not[member[y_,V]],not[member[pair[x_,y_],ZN]]] := not[member[pair[x,y],ZN]] (* derived 2004 July 17 in FU-IM-IN.NB *) or[not[member[x_,V]],not[member[y_,V]],not[member[pair[x_,y_],z_]],subclass[APPLY[z_,x_],y_]] := True (* added 2003 June 25 based on RUSSELL.NB *) or[not[member[x_,V]],not[subclass[P[x_],x_]]] := True (* added 2003 August 12 based on RO-ZADD.NB *) or[not[member[x_,Z]],subclass[domain[x_],omega]] := True (* added 2003 August 12 based on RO-ZADD.NB *) or[not[member[x_,Z]],subclass[range[x_],omega]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[PARTIALORDER[x_]],not[PARTIALORDER[y_]],PARTIALORDER[cross[x_,y_]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[PARTIALORDER[x_]],not[PARTIALORDER[y_]],PARTIALORDER[intersection[x_,y_]]] := True (* derived 2004 June 26 in X1650.NB *) or[not[PARTIALORDER[x_]],not[REFLEXIVE[y_]],not[TRANSITIVE[y_]],PARTIALORDER[intersection[x_,y_]]] := True (* derived 2005 April 7 in WF-TO.NB *) or[not[PARTIALORDER[x_]],not[subclass[cart[fix[x_],fix[x_]],union[x_,inverse[x_]]]]] := not[TOTALORDER[x]] (* derived 2005 February 5 in X2076-79.NB *) or[not[PARTIALORDER[x_]],not[subclass[P[fix[x_]],union[domain[LEAST[x_]],set[0]]]],WELLORDER[x_]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[PARTIALORDER[x_]],PARTIALORDER[composite[Id,x_]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[PARTIALORDER[x_]],PARTIALORDER[composite[id[y_],x_,id[y_]]]] := True (* derived 2004 June 26 in X1639.NB *) or[not[PARTIALORDER[x_]],PARTIALORDER[union[Id,x_]]] := True (* derived 2004 June 26 in X1639.NB *) or[not[PARTIALORDER[x_]],PARTIALORDER[union[x_,id[y_]]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[PARTIALORDER[x_]],REFLEXIVE[x_]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[PARTIALORDER[x_]],subclass[x_,cart[V,V]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[PARTIALORDER[x_]],subclass[intersection[x_,inverse[x_]],Id]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[PARTIALORDER[x_]],TRANSITIVE[x_]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[composite[Id,x_]]],not[subclass[x_,cart[y_,z_]]],REFLEXIVE[x_]] := True (* derived 2005 April 7 in WF-TO.NB *) or[not[REFLEXIVE[composite[Id,x_]]],not[TRANSITIVE[x_]]] := or[not[REFLEXIVE[x]],not[TRANSITIVE[x]]] (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[x_]],not[REFLEXIVE[y_]],REFLEXIVE[cross[x_,y_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[x_]],not[REFLEXIVE[y_]],REFLEXIVE[intersection[x_,y_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[x_]],not[REFLEXIVE[y_]],REFLEXIVE[union[x_,y_]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[not[REFLEXIVE[x_]],not[subclass[x_,cart[V,V]]]] := not[REFLEXIVE[x]] (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[x_]],not[subclass[image[x_,y_],y_]],REFLEXIVE[composite[x_,id[y_]]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[REFLEXIVE[x_]],not[subclass[intersection[x_,inverse[x_]],Id]],not[TRANSITIVE[x_]]] := not[PARTIALORDER[x]] (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[x_]],not[subclass[P[fix[x_]],union[domain[funpart[LEAST[x_]]],set[0]]]]] := not[WELLORDER[x]] (* derived 2004 June 20 in X1604-56.NB *) or[not[REFLEXIVE[x_]],not[TRANSITIVE[composite[Id,x_]]]] := or[not[REFLEXIVE[x]],not[TRANSITIVE[x]]] (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[x_]],REFLEXIVE[composite[Id,x_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[x_]],REFLEXIVE[composite[id[y_],x_,id[y_]]]] := True (* derived 2004 June 26 in X1639.NB *) or[not[REFLEXIVE[x_]],REFLEXIVE[union[x_,id[y_]]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[REFLEXIVE[x_]],subclass[x_,cart[V,V]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[not[REFLEXIVE[x_]],subclass[x_,composite[x_,x_]]] := True (* derived 2004 July 18 in RFX-FP.NB *) or[not[REFLEXIVE[x_]],subclass[fix[composite[y_,x_]],fix[x_]]] := True (* derived 2004 July 18 in RFX-FP.NB *) or[not[REFLEXIVE[x_]],subclass[fix[composite[x_,y_]],fix[x_]]] := True (* derived 2004 July 18 in WO-PO.NB *) or[not[REFLEXIVE[x_]],subclass[image[x_,fix[x_]],fix[x_]]] := True (* derived 2004 June 10 in X1586.NB *) or[not[REFLEXIVE[x_]],subclass[intersection[x_,inverse[x_]],composite[LEAST[x_],inverse[LEAST[x_]]]]] := True (* derived 2004 June 26 in X1639.NB *) or[not[REFLEXIVE[union[x_,y_]]],subclass[x_,cart[V,V]]] := True (* added 2003 May 21 based on BINCLOSE.NB *) or[not[subclass[z_,binclosed[x_]]], subclass[image[x_,cart[A[z_],A[z_]]],A[z_]]] := True (* added 2003 August 8 based on CLIQEQDF.NB *) or[not[subclass[cart[x_,x_],EQUIDIFF]], subclass[x_,cart[omega,omega]]] := True (* derived 2004 February 26 in IN-DJ-SU.NB *) or[not[subclass[x_,cart[u_,v_]]],not[subclass[composite[Id,x_],y_]],subclass[x_,y_]] := True (* derived 2004 March 4 in RELATION.NB *) or[not[subclass[x_,cart[u_,v_]]],subclass[x_,cart[domain[x_],range[x_]]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) or[not[subclass[x_,cart[y_,z_]]],subclass[domain[x_],y_]] := True (* derived 2004 January 24 in WO-WRAP.NB *) or[not[subclass[x_,cart[y_,z_]]],subclass[image[x_,y_],z_]] := True (* added 2003 July 1 based on ASS-TRV.NB *) or[not[subclass[x_,cart[y_,z_]]],subclass[range[x_],z_]] := True (* added 2000 December 9 based on IM-CP-0.NB *) or[not[subclass[cart[x_,x_],y_]],subclass[x_,image[y_,x_]]] := True (* added 2001 November 11 based on CLIQUES.NB *) or[not[subclass[cart[x_,x_],y_]],subclass[P[x_],cliques[y_]]] := True (* derived 2004 August 18 in X2812-61.NB *) or[not[subclass[cart[x_,x_],union[S,inverse[S]]]],subclass[image[CUP,cart[x_,x_]],x_]] := True (* derived 2004 March 14 in WO-TRV.NB *) or[not[subclass[x_,cart[V,z_]]],not[subclass[x_,cart[y_,V]]]] := not[subclass[x,cart[y,z]]] (* derived 2004 February 10 in TOTORDER.NB *) or[not[subclass[x_,cart[V,V]]],not[TOTALORDER[composite[Id,x_]]],TOTALORDER[x_]] := True (* derived 2004 March 18 in RFX-TRV.NB *) or[not[subclass[x_,cart[V,V]]],not[TRANSITIVE[x_]]] := not[TRANSITIVE[x]] (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[subclass[x_,cart[V,V]]],not[TRANSITIVE[composite[Id,x_]]]] := not[TRANSITIVE[x]] (* derived 2004 March 30 in CO-ES-ID.NB *) or[not[subclass[x_,cart[V,V]]],subclass[x_,composite[x_,S]]] := True (* added 2001 December 25 based on SCHRODER.NB *) or[not[subclass[composite[complement[z_],inverse[y_]],complement[x_]]], subclass[composite[x_,y_],z_]] := True (* derived 2004 August 28 in TRV-CO.NB *) or[not[subclass[composite[x_,y_],composite[y_,x_]]],not[TRANSITIVE[x_]],not[TRANSITIVE[y_]],TRANSITIVE[composite[y_,x_]]] := True (* derived 2005 April 17 in XVR-ITER.NB *) or[not[subclass[composite[y_,z_],composite[x_,y_]]], subclass[composite[cross[Id,y_],power[z_]],composite[cross[inverse[y_],Id],power[x_]]]] := True (* derived 2005 April 17 in XVR-ITER.NB *) or[not[subclass[composite[x_,y_],composite[y_,z_]]], subclass[composite[cross[inverse[y_],Id],power[x_]],composite[cross[Id,y_],power[z_]]]] := True (* derived 2005 April 17 in XVR-ITER.NB *) or[not[subclass[composite[y_,z_],composite[x_,y_]]], subclass[composite[y_,image[power[z_],w_]],composite[image[power[x_],w_],y_]]] := True (* derived 2005 April 17 in XVR-ITER.NB *) or[not[subclass[composite[x_,y_],composite[y_,z_]]], subclass[composite[trv[x_],y_],composite[y_,trv[z_]]]] := True (* derived 2005 April 17 in XVR-ITER.NB *) or[not[subclass[composite[y_,z_],composite[x_,y_]]], subclass[composite[y_,trv[z_]],composite[trv[x_],y_]]] := True (* derived 2004 March 4 in RELATION.NB *) or[not[subclass[composite[x_,y_],composite[y_,x_]]],subclass[image[inverse[y_],domain[x_]],domain[x_]]] := True (* added 2003 March 16 based on IMG-UCL.NB *) or[not[subclass[composite[x_,y_],composite[y_,x_]]],subclass[image[x_,range[y_]],range[y_]]] := True (* derived 2004 Agust 13 in X4015-56.NB *) or[not[subclass[composite[x_,E],composite[E,x_]]],subclass[inverse[x_],ZN]] := True (* derived 2004 July 17 in FU-RULES.NB *) or[not[subclass[composite[funpart[x_],y_],composite[z_,funpart[x_]]]],subclass[image[funpart[x_],fix[y_]],fix[z_]]] := True (* derived 2004 June 12 in X1187.NB *) or[not[subclass[x_,composite[y_,funpart[z_]]]],subclass[composite[x_,inverse[funpart[z_]]],y_]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[not[subclass[w_,composite[x_,history[w_,y_]]]],not[subclass[image[y_,z_],z_]], subclass[composite[w_,id[z_]],composite[x_,history[composite[w_,id[z_]],y_]]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[not[subclass[composite[Id,x_],y_]],subclass[composite[z_,x_],composite[z_,y_]]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) or[not[subclass[composite[Id,x_],y_]],subclass[composite[x_,z_],composite[y_,z_]]] := True (* added 2001 December 25 based on SCHRODER.NB *) or[not[subclass[composite[inverse[x_],complement[z_]],complement[y_]]], subclass[composite[x_,y_],z_]] := True (* Theorem ZN-SU1 in ZN3 proved 2001 July 11 *) or[not[subclass[composite[inverse[E],x_],composite[x_,inverse[E]]]], subclass[composite[Id,x_],ZN]] := True (* derived 2004 Agust 13 in X4015-56.NB *) or[not[subclass[composite[inverse[E],x_],composite[x_,inverse[E]]]], subclass[U[image[x_,set[y_]]],image[x_,y_]]] := True (* derived 2004 June 12 in X1191.NB *) or[not[subclass[x_,composite[inverse[funpart[z_]],y_]]],subclass[composite[funpart[z_],x_],y_]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[not[subclass[composite[x_,inverse[y_]],Id]],subclass[composite[x_,id[domain[y_]]],y_]] := True (* added 2003 October 8 based on FS-CUP.NB *) or[not[subclass[composite[x_,inverse[y_]],Id]], subclass[composite[y_,inverse[x_]],Id]] := True (* derived 2004 April 26 in ANTITONE.NB *) or[not[subclass[composite[x_,inverse[u_],inverse[x_]],v_]], not[subclass[composite[y_,w_,inverse[y_]],u_]], subclass[composite[x_,y_,inverse[w_],inverse[y_],inverse[x_]],v_]] := True (* derived 2004 April 26 in ANTITONE.NB *) or[not[subclass[composite[x_,inverse[u_],inverse[x_]],v_]], not[subclass[composite[y_,inverse[w_],inverse[y_]],u_]], subclass[composite[x_,y_,w_,inverse[y_],inverse[x_]],v_]] := True (* derived 2004 April 26 in ANTITONE.NB *) or[not[subclass[composite[x_,u_,inverse[x_]],v_]], not[subclass[composite[y_,w_,inverse[y_]],u_]], subclass[composite[x_,y_,w_,inverse[y_],inverse[x_]],v_]] := True (* derived 2004 September 21 in WF-X.NB *) or[not[subclass[w_,composite[y_,w_,inverse[x_]]]],subclass[domain[w_],image[x_,domain[w_]]]] := True (* derived 2005 February 3 in IVR-FP.NB *) or[not[subclass[composite[x_,y_,inverse[x_]],z_]],subclass[image[x_,fix[y_]],fix[z_]]] := True (* added 2003 June 9 based on VS-CLIQ.NB *) or[not[subclass[composite[x_,inverse[x_]],y_]],subclass[range[VERTSECT[x_]],cliques[y_]]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[not[subclass[u_,composite[v_,w_]]], not[subclass[composite[w_,x_],y_]], subclass[composite[u_,x_],composite[v_,y_]]] := True (* added 2003 November 4 based on SBCOMMUT.NB *) or[not[subclass[u_,composite[v_,w_]]], not[subclass[composite[x_,v_],y_]], subclass[composite[x_,u_],composite[y_,w_]]] := True (* derived 2004 September 23 in WF-U.NB *) or[not[subclass[composite[x_,y_],y_]],not[WELLFOUNDED[x_]],not[WELLFOUNDED[y_]],WELLFOUNDED[union[x_,y_]]] := True (* added 2001 December 25 based on SCHRODER.NB *) or[not[subclass[composite[x_,y_],z_]], subclass[composite[complement[z_],inverse[y_]],complement[x_]]] := True (* added 2001 December 25 based on SCHRODER.NB *) or[not[subclass[composite[x_,y_],z_]], subclass[composite[inverse[x_],complement[z_]],complement[y_]]] := True (* derived 2004 August 28 in TRV-CO.NB *) or[not[subclass[composite[trv[y_],trv[x_]],composite[trv[x_],trv[y_]]]],TRANSITIVE[composite[trv[x_],trv[y_]]]] := True (* derived 2004 September 23 in WF-U.NB *) or[not[subclass[composite[wf[x_],wf[y_]],wf[y_]]],WELLFOUNDED[union[wf[x_],wf[y_]]]] := True (* derived 2005 April 7 in WF-TO.NB *) or[not[subclass[domain[x_],fix[x_]]],not[subclass[range[x_],fix[x_]]]] := not[REFLEXIVE[composite[Id,x]]] (* derived 2005 May 5 in FU-DORA.NB *) or[not[subclass[domain[funpart[x_]],image[inverse[funpart[x_]],y_]]],subclass[range[funpart[x_]],y_]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) or[not[subclass[E,x_]],not[TRANSITIVE[x_]],subclass[composite[inverse[TC],E],x_]] := True (* derived 2004 May 4 in ALLCLOSED.NB *) or[not[subclass[z_,fix[composite[S,IMAGE[x_],POWER]]]],subclass[image[x_,P[A[z_]]],A[z_]]] := True (* added 2002 April 25 based on FUL-A.NB *) or[not[subclass[x_,FULL]],subclass[U[A[x_]],A[x_]]] := True (* added 2002 April 25 based on FUL-SC-4.NB *) or[not[subclass[x_,FULL]],subclass[U[U[x_]],U[x_]]] := True (* derived 2005 January 5 in TC-HC.NB *) or[not[subclass[x_,H[y_]]],subclass[tc[x_],y_]] := True (* derived 2005 January 5 in TC-HC.NB *) or[not[subclass[x_,H[y_]]],subclass[tc[x_],H[y_]]] := True (* derived 2004 April 20 in ID-REVU.NB *) or[not[subclass[x_,Id]],not[subclass[y_,Id]],not[subclass[domain[x_],domain[y_]]]] := or[not[subclass[x,y]],not[subclass[y,Id]]] (* derived 2004 March 30 in CO-ES-ID.NB *) or[not[subclass[x_,Id]],not[subclass[y_,Id]],subclass[composite[x_,y_],Id]] := True (* derived 2004 August 11 in X2612.NB *) or[not[subclass[x_,Id]],not[subclass[y_,Id]],subclass[cross[x_,y_],Id]] := True (* added 2003 July 5 based on TRANSTIV.NB *) or[not[subclass[x_,Id]],not[TRANSITIVE[y_]],TRANSITIVE[union[x_,y_]]] := True (* added 2003 July 5 based on TRANSTIV.NB *) or[not[subclass[x_,Id]],subclass[composite[x_,y_],y_]] := True (* added 2003 July 5 based on TRANSTIV.NB *) or[not[subclass[x_,Id]],subclass[composite[y_,x_],y_]] := True (* added 2003 July 5 based on TRANSTIV.NB *) or[not[subclass[x_,Id]],TRANSITIVE[x_]] := True (* derived 2004 June 17 in X2124.NB *) or[not[subclass[image[BIGCUP,x_],x_]],subclass[U[x_],image[inverse[S],x_]]] := True (* added 2002 April 27 based on FUL-BC.NB *) or[not[subclass[image[BIGCUP,x_],x_]],subclass[U[U[x_]],U[x_]]] := True (* added 2003 August 30 based on UCL-CAP.NB *) or[not[subclass[image[CAP,cart[x_,x_]],x_]], subclass[image[CAP,cart[Uclosure[x_],Uclosure[x_]]],Uclosure[x_]]] := True (* derived 2003 January 13 in CAPCUPRC.NB *) or[not[subclass[image[CAP,cart[x_,x_]],x_]], subclass[image[CUP,cart[image[RC[y_],x_],image[RC[y_],x_]]],image[RC[y_],x_]]] := True (* derived 2003 January 13 in CAPCUPRC.NB *) or[not[subclass[image[CUP,cart[x_,x_]],x_]], subclass[image[CAP,cart[image[RC[y_],x_],image[RC[y_],x_]]],image[RC[y_],x_]]] := True (* added 2003 August 31 based on ACL-CUP.NB *) or[not[subclass[image[CUP,cart[x_,x_]],x_]], subclass[image[CUP,cart[Aclosure[x_],Aclosure[x_]]],Aclosure[x_]]] := True (* added 2003 September 6 based on CUP-HULL.NB *) or[not[subclass[image[CUP,cart[x_,x_]],x_]], subclass[image[CUP,cart[fix[HULL[x_]],fix[HULL[x_]]]],fix[HULL[x_]]]] := True (* derived 2004 April 1 in EQV-EQ.NB *) or[not[subclass[x_,image[inverse[funpart[y_]],z_]]],subclass[image[funpart[y_],x_],z_]] := True (* derived 2005 February 6 in IVR-SBV.NB *) or[not[subclass[image[inverse[x_],z_],z_]],not[subclass[y_,image[x_,y_]]], subclass[intersection[y_,z_],image[x_,intersection[y_,z_]]]] := True (* derived 2005 February 18 in X3446.NB *) or[not[subclass[image[inverse[x_],y_],y_]],subclass[image[IMAGE[id[y_]],subvar[x_]],subvar[x_]]] := True (* derived 2005 February 5 in X3112.NB *) or[not[subclass[image[K,x_],x_]],subclass[image[ADJOIN[set[y_]],x_],x_]] := True (* derived 2004 August 26 in WF-REC-3.NB *) or[not[subclass[image[y_,z_],z_]], not[subclass[w_,composite[x_,id[composite[IMAGE[composite[id[w_],inverse[FIRST]]],VERTSECT[y_]]],inverse[FIRST]]]], subclass[composite[w_,id[z_]], composite[x_,id[composite[IMAGE[composite[id[composite[w_,id[z_]]],inverse[FIRST]]],VERTSECT[y_]]],inverse[FIRST]]]] := True (* derived 2004 April 26 in ANTITONE.NB *) or[not[subclass[image[u_,v_],w_]],not[subclass[image[x_,w_],y_]],subclass[image[x_,image[u_,v_]],y_]] := True (* derived 2004 August 27 in IVR-TRV.NB *) or[not[subclass[image[x_,y_],z_]],not[subclass[image[x_,z_],z_]],subclass[image[trv[x_],y_],z_]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[not[subclass[image[z_,y_],y_]],not[subclass[y_,union[image[inverse[z_],complement[x_]],x_]]], subclass[y_,union[image[inverse[z_],intersection[complement[x_],y_]],x_]]] := True (* derived 2005 January 25 in X2288.NB *) or[not[subclass[image[POWER,x_],x_]],subclass[image[inverse[S],x_],U[x_]]] := True (* derived 2004 July 22 in X22--.NB *) or[not[subclass[image[POWER,x_],y_]],subclass[x_,U[y_]]] := True (* derived 2004 January 18 in SBV-PS1.NB *) or[not[subclass[x_,image[PS,x_]]],subclass[intersection[x_,P[y_]],image[PS,intersection[x_,P[y_]]]]] := True (* derived 2005 April 19 in XVR-TRV.NB *) or[not[subclass[y_,image[x_,y_]]],subclass[cart[omega,y_],iterate[x_,y_]]] := True (* derived 2004 August 26 in WF-REC-3.NB *) or[not[subclass[image[y_,z_],z_]],subclass[composite[VERTSECT[y_],id[z_]],composite[IMAGE[id[z_]],VERTSECT[y_]]]] := True (* derived 2005 February 1 in DIV-WF.NB *) or[not[subclass[y_,image[x_,y_]]],subclass[y_,image[x_,image[x_,y_]]]] := True (* derived 2004 August 26 in WF-REC-3.NB *) or[not[subclass[image[y_,z_],z_]],subclass[image[IMAGE[id[cart[z_,V]]],partrec[x_,y_]],partrec[x_,y_]]] := True (* added 2003 September 18 based on IVR-I-U.NB *) or[not[subclass[image[x_,y_],y_]],subclass[image[IMAGE[id[y_]],invar[x_]],invar[x_]]] := True (* derived 2004 February 28 in IM-IN.NB *) or[not[subclass[x_,image[y_,z_]]],subclass[x_,image[y_,intersection[z_,image[inverse[y_],x_]]]]] := True (* derived 2005 January 6 in DJ-U-Q.NB *) or[not[subclass[image[x_,y_],z_]],subclass[intersection[y_,domain[x_]],image[inverse[x_],z_]]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[not[subclass[y_,image[x_,y_]]],subvariant[x_,y_]] := True (* derived 2005 February 12 in IND.NB *) or[not[subclass[image[SUCC,x_],x_]],subclass[omega,union[x_,A[intersection[omega,x_]]]]] := True (* added 2002 May 28 based on IND-SC-1.NB *) or[not[subclass[image[SUCC,x_],x_]],subclass[x_,U[x_]]] := True (* derived 2004 August 15 in X4055-56.NB *) or[not[subclass[x_,image[ZN,y_]]],subclass[rank[x_],rank[y_]]] := True (* derived 2005 January 1 in ON-IND.NB *) or[not[subclass[intersection[FULL,P[x_]],x_]],subclass[OMEGA,x_]] := True (* added 2002 October 6 based on IND-2ND.NB *) or[not[subclass[intersection[omega,P[x_]],x_]],subclass[omega,x_]] := True (* derived 2005 January 22 in ON-IND.NB *) or[not[subclass[intersection[OMEGA,P[x_]],x_]],subclass[OMEGA,x_]] := True (* derived 2004 December 29 in EPSILON.NB *) or[not[subclass[intersection[x_,P[y_]],y_]],not[subclass[U[x_],x_]],subclass[intersection[REGULAR,x_],y_]] := True (* added 2003 September 14 based on FXHL-BCL.NB *) or[not[subclass[x_,invar[y_]]],subclass[image[y_,A[x_]],A[x_]]] := True (* added 2003 September 18 based on IVR-I-U.NB *) or[not[subclass[y_,invar[x_]]],subclass[image[x_,U[y_]],U[y_]]] := True (* derived 2004 October 28 in AC2.NB *) or[not[subclass[x_,inverse[E]]],subclass[composite[x_,VERTSECT[y_]],y_]] := True (* derived 2004 October 28 in AC2.NB *) or[not[subclass[x_,inverse[E]]],subclass[composite[x_,VERTSECT[y_]],thinpart[y_]]] := True (* derived 2004 July 15 in X2310-57.NB *) or[not[subclass[inverse[E],x_]],subclass[VERTSECT[x_],S]] := True (* derived 2004 June 17 in X1368.NB *) or[not[subclass[y_,inverse[funpart[x_]]]],subclass[composite[funpart[x_],y_],Id]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[subclass[inverse[x_],x_]],not[TRANSITIVE[x_]]] := not[EQUIVALENCE[x]] (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[subclass[x_,inverse[x_]]],not[TRANSITIVE[x_]]] := not[EQUIVALENCE[x]] (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[subclass[x_,inverse[x_]]],not[TRANSITIVE[composite[Id,x_]]]] := not[EQUIVALENCE[x]] (* derived 2004 June 17 in X1337-65.NB *) or[not[subclass[x_,inverse[y_]]],subclass[domain[x_],fix[composite[y_,x_]]]] := True (* added 2001 November 6 based on CP-SU.NB *) or[not[subclass[x_,inverse[y_]]],subclass[inverse[x_],y_]] := True (* derived 2005 April 26 in DICHOT.NB *) or[not[subclass[nat[x_],succ[nat[y_]]]],subclass[U[nat[x_]],nat[y_]]] := True (* added 1998 October 8 *) or[not[subclass[x_,y_]],not[subclass[y_,x_]]] := not[equal[x,y]] (* derived 2004 December 25 in SELCO-LT.NB *) or[not[subclass[x_,y_]],not[subclass[composite[Id,x_],y_]]] := not[subclass[x,y]] (* added 2003 November 2 based on CHARHULL.NB *) or[not[subclass[x_,y_]],not[subclass[composite[z_,S],composite[S,z_]]], subclass[APPLY[z_,x_],APPLY[z_,y_]]] := True (* derived 2003 December 18 in RA-ITER.NB *) or[not[subclass[w_,x_]],not[subclass[image[x_,y_],z_]],subclass[image[w_,y_],z_]] := True (* derived 2003 December 18 in RA-ITER.NB *) or[not[subclass[y_,z_]],not[subclass[image[x_,z_],z_]],subclass[image[trv[x_],y_],z_]] := True (* derived 2004 February 7 in T1-FIN.NB *) or[not[subclass[x_,y_]],not[subclass[intersection[x_,y_],z_]],subclass[x_,z_]] := True (* derived 2004 August 18 in X2812-61.NB *) or[not[subclass[x_,y_]],not[subclass[range[y_],z_]],subclass[range[x_],z_]] := True (* added 2000 October 4 based on NONEMPTY.LOG *) or[not[subclass[x_,y_]],not[subclass[y_,z_]],subclass[x_,z_]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[u_,x_]],not[subclass[v_,y_]], subclass[composite[u_,v_],composite[x_,y_]]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[u_,x_]],not[subclass[v_,y_]], subclass[cross[u_,v_],cross[x_,y_]]] := True (* derived 2005 January 5 in SU-HC.NB *) or[not[subclass[x_,y_]],not[subclass[U[x_],x_]],subclass[x_,H[y_]]] := True (* added 2003 September 6 based on CUP-HULL.NB *) or[not[subclass[u_,x_]],not[subclass[v_,y_]], subclass[image[z_,cart[u_,v_]],image[z_,cart[x_,y_]]]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[u_,x_]],not[subclass[v_,y_]], subclass[image[u_,v_],image[x_,y_]]] := True (* added 2001 December 29 based on X-FU-FP.NB *) or[not[subclass[u_,v_]],not[subclass[x_,y_]], subclass[image[inverse[x_],u_],image[inverse[y_],v_]]] := True (* added 2002 April 27 based on H-TC.NB *) or[not[subclass[x_,y_]],not[subclass[U[x_],x_]],subclass[tc[x_],y_]] := True (* added 2002 March 24 based on TRV-2.NB *) or[not[subclass[x_,y_]],not[subclass[U[y_],y_]],subclass[tc[x_],y_]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) or[not[subclass[x_,y_]],not[TRANSITIVE[x_]],subclass[trv[x_],y_]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) or[not[subclass[x_,y_]],not[TRANSITIVE[y_]],subclass[trv[x_],y_]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) or[not[subclass[x_,y_]],not[TRANSITIVE[y_]],subclass[x_,trv[y_]]] := True (* added 2003 September 29 based on WF.NB *) or[not[subclass[x_,y_]],not[WELLFOUNDED[y_]],WELLFOUNDED[x_]] := True (* derived 2005 February 10 in X3557.NB *) or[not[subclass[x_,omega]],not[subclass[image[BIGCUP,x_],x_]],subclass[image[inverse[SUCC],x_],x_]] := True (* derived 2005 February 10 in X3557.NB *) or[not[subclass[x_,omega]],not[subclass[image[BIGCUP,x_],x_]],subclass[image[inverse[SUCC],intersection[omega,x_]],x_]] := True (* added 2003 June 4 based on LIMITORD.NB *) or[not[subclass[x_,OMEGA]],not[subclass[image[SUCC,x_],x_]],subclass[image[SUCC,U[x_]],U[x_]]] := True (* derived 2005 February 9 in ON-1.NB *) or[not[subclass[x_,OMEGA]],subclass[intersection[FULL,image[inverse[S],x_]],union[x_,U[x_]]]] := True (* derived 2005 February 9 in ON-1.NB *) or[not[subclass[x_,OMEGA]],subclass[U[x_],image[inverse[S],x_]]] := True (* derived 2005 February 17 in X3741-49.NB *) or[not[subclass[x_,omega]],subclass[U[x_],omega]] := True (* derived 2005 February 9 in ON-1.NB *) or[not[subclass[x_,OMEGA]],subclass[U[x_],OMEGA]] := True (* derived 2005 January 30 in X3949.NB *) or[not[subclass[P[x_],FULL]],subclass[U[x_],x_]] := True (* added 2003 October 7 based on WF-IND.NB *) or[not[subclass[P[intersection[REGULAR,x_]],x_]],subclass[REGULAR,x_]] := True (* derived 2005 February 8 in X3675.NB *) or[not[subclass[P[x_],x_]],subclass[OMEGA,x_]] := True (* Theorem TC-REG1 in TC2 proved 2001 January 4 *) or[not[subclass[P[x_],x_]],subclass[REGULAR,x_]] := True (* derived 2004 March 4 in A-SC-PC.NB *) or[not[subclass[P[x_],y_]],subclass[x_,U[y_]]] := True (* derived 2004 March 4 in PAIRSET.NB *) or[not[subclass[set[u_,v_],x_]],not[subclass[set[v_,w_],x_]],subclass[set[u_,w_],x_]] := True (* derived 2004 November 12 in XS-CO.NB *) or[not[subclass[range[y_],domain[x_]]],subclass[image[COMPOSE,cart[X[x_],X[y_]]],X[composite[x_,y_]]]] := True (* derived 2004 October 18 in XVR-V.NB *) or[not[subclass[range[x_],OMEGA]],subclass[composite[BIGCAP,VERTSECT[x_]],x_]] := True (* derived 2004 February 28 in IM-IN.NB *) or[not[subclass[x_,range[y_]]],subclass[x_,image[y_,image[inverse[y_],x_]]]] := True (* derived 2005 January 22 in ON-IND.NB *) or[not[subclass[x_,REGULAR]],not[subclass[intersection[x_,P[y_]],y_]],not[subclass[U[x_],x_]],subclass[x_,y_]] := True (* derived 2004 August 21 in X1775.NB *) or[not[subclass[x_,REGULAR]],not[subclass[P[y_],y_]],subclass[x_,y_]] := True (* added 2003 June 5 based on REG.NB *) or[not[subclass[x_,REGULAR]],subclass[domain[x_],REGULAR]] := True (* derived 2005 January 5 in REG-ZN.NB *) or[not[subclass[x_,REGULAR]],subclass[image[ZN,x_],REGULAR]] := True (* derived 2004 June 28 in X1780.NB *) or[not[subclass[x_,REGULAR]],subclass[range[x_],REGULAR]] := True (* derived 2004 September 24 in COREDESC.NB *) or[not[subclass[x_,REGULAR]],WELLFOUNDED[composite[id[x_],E]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[subclass[x_,RFX]],REFLEXIVE[U[x_]]] := True (* derived 2004 June 28 in X1719.NB *) or[not[subclass[RUSSELL,x_]],subclass[P[x_],x_]] := True (* derived 2004 June 27 in X1712-20.NB *) or[not[subclass[x_,RUSSELL]],subclass[P[x_],RUSSELL]] := True (* added 2003 October 28 based on APPLY.NB *) or[not[subclass[x_,S]],subclass[y_,APPLY[x_,y_]]] := True (* derived 2004 March 23 in ADJECT.NB *) or[not[subclass[x_,S]],subclass[intersection[x_,inverse[x_]],Id]] := True (* Theorem A-6 in A1 *) or[not[subclass[x_,y_]],subclass[A[y_],A[x_]]] := True (* Theorem ACL-SU2 in ACL1 proved 2001 September 29 *) or[not[subclass[x_,y_]],subclass[Aclosure[x_],Aclosure[y_]]] := True (* added 2003 October 28 based on APPLY.NB *) or[not[subclass[x_,y_]],subclass[APPLY[y_,z_],APPLY[x_,z_]]] := True (* added 2003 May 23 based on BCL-SU.NB *) or[not[subclass[x_,y_]],subclass[binclosed[y_],binclosed[x_]]] := True (* derived 2004 February 19 in REPLACE2.NB *) or[not[subclass[y_,z_]],subclass[cart[lb[x_,z_],y_],x_]] := True (* derived 2004 February 19 in REPLACE2.NB *) or[not[subclass[y_,z_]],subclass[cart[y_,ub[x_,z_]],x_]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[x_,y_]],subclass[cliques[x_],cliques[y_]]] := True (* Theorems CO-SU1 and CO-SU2 in CO2 proved 1994 July 26 *) or[not[subclass[x_,y_]], subclass[composite[u___,x_,v___],composite[u___,y_,v___]]] := True (* added 2002 March 28 based on TRV.NB *) or[not[subclass[x_,y_]],subclass[composite[x_,x_],composite[y_,y_]]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[x_,y_]],subclass[composite[Id,x_],y_]] := True (* added 2002 January 14 based on RS-SU.NB *) or[not[subclass[x_,z_]],subclass[composite[id[w_],x_,id[y_]],z_]] := True (* added 2002 January 14 based on RS-SU.NB *) or[not[subclass[y_,z_]],subclass[composite[id[x_],y_],z_]] := True (* added 2002 January 14 based on RS-SU.NB *) or[not[subclass[x_,z_]],subclass[composite[x_,id[y_]],z_]] := True (* added 2003 May 30 based on RESTRICT.NB *) or[not[subclass[u_,v_]],subclass[composite[x___,id[u_],y___], composite[x___,id[v_],y___]]] := True (* added 2002 November 24 based on VERTSECT.NB *) or[not[subclass[x_,y_]],subclass[composite[VERTSECT[y_],inverse[x_]],E]] := True (* added 2002 January 27 based on IMAGE.NB *) or[not[subclass[x_,y_]],subclass[CORE[y_],composite[S,CORE[x_]]]] := True (* added 2004 April 17 based on CORE.NB *) or[not[subclass[x_,y_]],subclass[core[x_,z_],core[y_,z_]]] := True (* added 2004 April 17 based on CORE.NB *) or[not[subclass[y_,z_]],subclass[core[x_,y_],core[x_,z_]]] := True (* added 2001 December 25 based on CROSS.NB *) or[not[subclass[x_,y_]],subclass[cross[x_,z_],cross[y_,z_]]] := True (* added 2001 December 25 based on CROSS.NB *) or[not[subclass[x_,y_]],subclass[cross[z_,x_],cross[z_,y_]]] := True (* added 2000 December 15 based on OFFICE1.NB *) or[not[subclass[x_,y_]],subclass[domain[x_],domain[y_]]] := True (* derived 2004 July 18 in MONODOLT.NB *) or[not[subclass[x_,y_]],subclass[domain[GREATEST[x_]],domain[GREATEST[y_]]]] := True (* added 2003 June 9 based on BOUNDED.NB *) or[not[subclass[x_,y_]],subclass[domain[LB[x_]],domain[LB[y_]]]] := True (* derived 2004 July 18 in MONODOLT.NB *) or[not[subclass[x_,y_]],subclass[domain[LEAST[x_]],domain[LEAST[y_]]]] := True (* added 2003 June 9 based on BOUNDED.NB *) or[not[subclass[x_,y_]],subclass[domain[UB[x_]],domain[UB[y_]]]] := True (* added 2001 November 22 based on THIN.NB *) or[not[subclass[x_,y_]],subclass[domain[VERTSECT[y_]],domain[VERTSECT[x_]]]] := True (* derived 2004 May 11 in EQV-GEN.NB *) or[not[subclass[x_,y_]],subclass[eqv[x_],eqv[y_]]] := True (* Theorem FP-SU in FP1 proved 1995 February 3 *) or[not[subclass[x_,y_]],subclass[fix[x_],fix[y_]]] := True (* added 2002 May 7 based on FIX-HULL.NB *) or[not[subclass[x_,y_]],subclass[fix[HULL[x_]],fix[HULL[y_]]]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[x_,y_]],subclass[H[x_],y_]] := True (* derived 2005 January 5 in TC-HC.NB *) or[not[subclass[x_,y_]],subclass[H[x_],H[y_]]] := True (* added 2003 September 2 based on MONOHULL.NB *) or[not[subclass[x_,y_]],subclass[HULL[x_],composite[S,HULL[y_]]]] := True (* derived 2004 March 29 based on HULL.NB *) or[not[subclass[y_,z_]],subclass[hull[x_,y_],hull[x_,z_]]] := True (* derived 2004 March 29 based on HULL.NB *) or[not[subclass[x_,y_]],subclass[hull[y_,z_],hull[x_,z_]]] := True (* Theorem IM-6A in IM2 *) or[not[subclass[x_,y_]],subclass[image[z_,x_],image[z_,y_]]] := True (* Theorem IM-6B in IM2 *) or[not[subclass[x_,y_]],subclass[image[x_,z_],image[y_,z_]]] := True (* added 2001 December 29 based on X-FU-FP.NB *) or[not[subclass[x_,y_]], subclass[image[inverse[x_],z_],image[inverse[y_],z_]]] := True (* added 2002 January 27 based on IMAGE.NB *) or[not[subclass[x_,y_]],subclass[IMAGE[y_],composite[S,IMAGE[x_]]]] := True (* added 2002 January 27 based on IMAGE.NB *) or[not[subclass[x_,y_]],subclass[IMAGE[id[y_]],composite[S,IMAGE[id[x_]]]]] := True (* derived 2004 May 4 in ALLCLOSED.NB *) or[not[subclass[y_,z_]],subclass[image[x_,P[y_]],image[x_,P[z_]]]] := True (* added 2002 April 15 based on ITERATE.NB *) or[not[subclass[y_,z_]],subclass[iterate[x_,y_],iterate[x_,z_]]] := True (* added 2002 April 20 based on MONOTONE.NB *) or[not[subclass[x_,y_]],subclass[iterate[x_,z_],iterate[y_,z_]]] := True (* added 2001 October 19 based on CORE.NB *) or[not[subclass[x_,y_]],subclass[intersection[x_,z_],y_]] := True (* Theorem IVR-SU in INVAR *) or[not[subclass[x_,y_]],subclass[invar[y_],invar[x_]]] := True (* Theorem IN-5 in IN1 *) or[not[subclass[x_,y_]],subclass[inverse[x_],inverse[y_]]] := True (* added 2003 May 7 based on MAP-MONO.NB *) or[not[subclass[y_,z_]],subclass[map[x_,y_],map[x_,z_]]] := True (* added 2000 October 13 based on RA1.USE clause 456 *) or[not[subclass[x_,y_]],subclass[range[x_],range[y_]]] := True (* Theorem RK-7 in RANK2 proved 2001 July 22 *) or[not[subclass[x_,y_]],subclass[rank[x_],rank[y_]]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[x_,y_]],subclass[rotate[x_],rotate[y_]]] := True (* Theorem SBV-SU1 in SUBBAR2 proved 1999 February 14 *) or[not[subclass[x_,y_]],subclass[subvar[x_],subvar[y_]]] := True (* derived 2005 January 19 in H-FIN.NB *) or[not[subclass[x_,y_]],not[subclass[tc[y_],z_]],subclass[tc[x_],z_]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[x_,y_]],subclass[tc[x_],tc[y_]]] := True (* derived 2004 June 24 in XVR-SU.NB *) or[not[subclass[y_,z_]],subclass[transvar[x_,y_],transvar[x_,z_]]] := True (* derived 2004 June 24 in XVR-SU.NB *) or[not[subclass[x_,y_]],subclass[transvar[y_,z_],transvar[x_,z_]]] := True (* added 2002 March 27 based on TRV.NB *) or[not[subclass[x_,y_]],subclass[trv[x_],trv[y_]]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[x_,y_]],subclass[twist[x_],twist[y_]]] := True (* Corollary SC-2-COR in SC1 proved 1994 June 9 *) or[not[subclass[x_,y_]],subclass[U[x_],U[y_]]] := True (* added 2001 September 30 based on ACL-2.NB *) or[not[subclass[x_,y_]],subclass[Uclosure[x_],Uclosure[y_]]] := True (* added 2001 November 3 based on MONOTONE.NB *) or[not[subclass[x_,y_]],subclass[x_,union[y_,z_]]] := True (* Theorem VS-SU1 in VS-SU1 proved 1999 November 23 *) or[not[subclass[x_,y_]],subclass[VERTSECT[y_],composite[S,VERTSECT[x_]]]] := True (* added 2002 November 24 based on VERTSECT.NB *) or[not[subclass[x_,y_]],subclass[VERTSECT[x_],inverse[LB[y_]]]] := True (* derived 2004 June 24 in SBCOMTNT.NB *) or[not[subclass[x_,subcommutant[y_]]],subclass[composite[y_,U[x_]],composite[U[x_],y_]]] := True (* derived 2004 January 19 in SBV-PC.NB *) or[not[subclass[x_,subvar[y_]]],subclass[U[x_],image[y_,U[x_]]]] := True (* derived 2005 January 5 in TC-HC.NB *) or[not[subclass[tc[x_],y_]],subclass[x_,H[y_]]] := True (* derived 2004 April 18 in TC-FIN.NB *) or[not[subclass[x_,tc[y_]]],subclass[U[x_],tc[y_]]] := True (* derived 2005 January 5 in TC-HC.NB *) or[not[subclass[tc[x_],y_]],subclass[tc[x_],H[y_]]] := True (* derived 2005 January 30 in X3942.NB *) or[not[subclass[x_,tc[y_]]],subclass[tc[x_],tc[y_]]] := True (* derived 2004 June 16 in TRANSVAR.NB *) or[not[subclass[v_,transvar[x_,y_]]],subclass[image[x_,U[v_]],image[y_,U[v_]]]] := True (* corollary ON-BA1-A in ON5 derived 2004 October 16 in ON-ACL.NB *) or[not[subclass[U[x_],OMEGA]],subclass[image[BIGCAP,x_],U[x_]]] := True (* derived 2004 June 27 in X1712-20.NB *) or[not[subclass[U[x_],RUSSELL]],subclass[x_,RUSSELL]] := True (* derived 2005 February 18 in X3446.NB *) or[not[subclass[U[x_],x_]],subclass[image[IMAGE[id[x_]],DESCENDING],DESCENDING]] := True (* derived 2004 August 3 in WF-REC-1.NB *) or[not[subclass[y,union[x,image[inverse[z],complement[x]]]]], not[subclass[intersection[y,image[inverse[z],complement[x]]],image[inverse[z],intersection[y,complement[x]]]]], subclass[y,union[x,image[inverse[z],intersection[y,complement[x]]]]]] == True (* derived 2004 January 17 in SBV-PS-K.NB *) or[not[subclass[x_,union[y_,z_]]],not[subclass[y_,z_]],subclass[x_,z_]] := True (* derived 2004 September 18 in WF-WRAP.NB *) or[not[subclass[x_,wf[y_]]],WELLFOUNDED[x_]] := True (* derived 2004 September 5 in WF-REC-4.NB *) or[not[subvariant[x_,y_]],subclass[y_,image[x_,y_]]] := True (* derived 2005 April 7 in WF-TO.NB *) or[not[TOTALORDER[x_]],not[WELLFOUNDED[intersection[Di,x_]]]] := not[WELLORDER[x]] (* derived 2004 March 21 in PO-WRAP.NB *) or[not[TOTALORDER[x_]],PARTIALORDER[x_]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[TOTALORDER[x_]],REFLEXIVE[x_]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[not[TOTALORDER[x_]],subclass[x_,cart[V,V]]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[not[TOTALORDER[x_]],subclass[intersection[x_,inverse[x_]],Id]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[not[TOTALORDER[x_]],TOTALORDER[composite[Id,x_]]] := True (* derived 2004 June 27 in X1655-61.NB *) or[not[TOTALORDER[x_]],TOTALORDER[composite[id[y_],x_,id[y_]]]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[not[TOTALORDER[x_]],TOTALORDER[inverse[x_]]] := True (* derived 2004 February 10 in TOTORDER.NB *) or[not[TOTALORDER[x_]],TRANSITIVE[x_]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) or[not[TRANSITIVE[x_]],not[TRANSITIVE[composite[Id,y_]]],TRANSITIVE[intersection[x_,y_]]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) or[not[TRANSITIVE[x_]],not[TRANSITIVE[y_]],TRANSITIVE[cross[x_,y_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) or[not[TRANSITIVE[x_]],not[TRANSITIVE[y_]],TRANSITIVE[intersection[x_,y_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) or[not[TRANSITIVE[x_]],subclass[x_,cart[V,V]]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) or[not[TRANSITIVE[x_]],subclass[image[IMAGE[id[x_]],TRV],TRV]] := True (* derived 2004 September 30 in EQV-THNP.NB *) or[not[TRANSITIVE[x_]],subclass[RS[x_],TRV]] := True (* added 2003 July 1 based on TRANSTIV.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[composite[Id,x_]]] := True (* added 2003 July 4 based on TRANSTIV.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[composite[id[z_],x_,id[y_]]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[composite[id[y_],x_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[composite[x_,id[y_]]]] := True (* derived 2004 December 27 in FUN-TRV.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[composite[inverse[funpart[y_]],x_,funpart[y_]]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[intersection[x_,complement[inverse[x_]]]]] := True (* derived 2004 December 18 in QO-FU.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[rfx[x_]]] := True (* derived 2005 January 29 in RFXTRVTH.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[thinpart[x_]]] := True (* added 2003 July 5 based on TRANSTIV.NB *) or[not[TRANSITIVE[x_]],TRANSITIVE[union[x_,id[y_]]]] := True (* derived 2005 February 1 in DIV-WF.NB *) or[not[WELLFOUNDED[composite[x_,x_]]],WELLFOUNDED[composite[Id,x_]]] := True (* derived 2004 September 21 in WF-X.NB *) or[not[WELLFOUNDED[cross[x_,y_]]],WELLFOUNDED[cross[y_,x_]]] := True (* derived 2004 August 5 in WF-REC-2.NB *) or[not[WELLFOUNDED[inverse[y_]]],subclass[rec[funpart[x_],thinpart[y_]],composite[funpart[x_], id[composite[IMAGE[composite[id[rec[funpart[x_],thinpart[y_]]],inverse[FIRST]]],VERTSECT[thinpart[y_]]]],inverse[FIRST]]]] := True (* derived 2004 September 23 in WF-LEX.NB *) or[not[WELLFOUNDED[x_]],not[WELLFOUNDED[y_]],WELLFOUNDED[union[composite[inverse[FIRST],x_,FIRST],cross[Id,y_]]]] := True (* added 2003 September 29 based on WF.NB *) or[not[WELLFOUNDED[x_]],subclass[x_,cart[V,V]]] := True (* derived 2004 September 21 in WF-X.NB *) or[not[WELLFOUNDED[x_]],WELLFOUNDED[cross[x_,y_]]] := True (* derived 2004 September 21 in WF-X.NB *) or[not[WELLFOUNDED[y_]],WELLFOUNDED[cross[x_,y_]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) or[not[WELLORDER[x_]],PARTIALORDER[x_]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) or[not[WELLORDER[x_]],REFLEXIVE[x_]] := True (* derived 2004 January 24 in WO-WRAP.NB *) or[not[WELLORDER[x_]],subclass[x_,cart[V,V]]] := True (* derived 2004 January 24 in RFX-LT-2.NB *) or[not[WELLORDER[x_]],subclass[intersection[x_,inverse[x_]],Id]] := True (* derived 2004 January 24 in WO-WRAP.NB *) or[not[WELLORDER[x_]],subclass[P[fix[x_]],union[domain[funpart[LEAST[x_]]],set[0]]]] := True (* derived 2004 March 14 in WO-TRV.NB *) or[not[WELLORDER[x_]],TOTALORDER[x_]] := True (* derived 2004 March 14 in WO-TRV.NB *) or[not[WELLORDER[x_]],TRANSITIVE[x_]] := True (* derived 2004 March 14 in WF-WO.NB *) or[not[WELLORDER[x_]],WELLFOUNDED[intersection[Di,x_]]] := True (* derived 2004 July 20 in X2081.NB *) or[not[WELLORDER[x_]],WELLORDER[composite[id[y_],x_,id[y_]]]] := True (* Theorem PC-0 in PC2 *) P[0] := set[0] (* added 2002 May 11 based on PAIR.NB *) P[cart[set[x_],set[y_]]] := set[0,cart[set[x],set[y]]] (* Theorem PC-IM-V2 in PC2 added 1998 April 19 *) P[complement[image[V,x_]]] := union[complement[image[V,x]],set[0]] (* added 2001 July 14 based on ZN-IMG.NB *) P[domain[VERTSECT[ZN]]] := domain[VERTSECT[ZN]] (* derived 2004 April 18 in H-RUS.NB *) P[H[RUSSELL]] := H[RUSSELL] (* Theorem PC-IM-V1 in PC2 simplified rule proved 1998 April 19 *) P[image[V,x_]] := union[image[V,x],set[0]] (* Theorem REG-2 in REG2 *) P[REGULAR] := REGULAR (* revised 2001 November 22 *) P[set[x_]] := set[0,set[x]] (* added 1999 December 21 based on U-IMAGE.NB *) P[union[x_,complement[image[V,y_]]]] := union[complement[image[V,y]],P[x]] (* added 1999 December 21 based on U-IMAGE.NB *) P[union[x_,image[V,y_]]] := union[image[V,y],P[x]] (* Theorem PC-4C in PC1 *) P[V] := V (* added 2004 July 14 based on X2530-41.NB *) PAIR[pair[u_,v_],pair[x_,y_]] := pair[pair[u,v],pair[x,y]] (* added 2002 November 1 based on IMV.NB *) PAIR[union[x_,image[V,y_]],z_] := union[image[V,y],PAIR[x,z]] (* added 2002 November 1 based on IMV.NB *) PAIR[x_,union[y_,image[V,z_]]] := union[image[V,z],PAIR[x,y]] (* derived 2005 January 10 in SET.NB *) pairset[x_,y_] := set[x,y] (* derived 2004 March 21 in PO-WRAP.NB *) PARTIALORDER[0] := True (* derived 2005 January 29 in RFXTRVTH.NB *) PARTIALORDER[cart[x_,y_]] := or[and[equal[x,y],member[x,range[SINGLETON]]],equal[0,x],equal[0,y]] (* derived 2004 March 21 in PO-WRAP.NB *) PARTIALORDER[COARSER] := True (* derived 2004 March 23 in ADJECT.NB *) PARTIALORDER[composite[CUP,id[cart[V,x_]],inverse[FIRST]]] := or[and[member[0,x],subclass[image[CUP,cart[x,x]],x]],equal[0,x]] (* derived 2004 March 21 in PO-WRAP.NB *) PARTIALORDER[composite[id[x_],S,id[x_]]] := True (* derived 2004 December 18 in PO-BIJ.NB *) PARTIALORDER[composite[inverse[funpart[x_]],inverse[S],funpart[x_]]] := FUNCTION[inverse[funpart[x]]] (* derived 2004 October 14 in REFINE.NB *) PARTIALORDER[composite[inverse[IMAGE[inverse[S]]],COARSER]] := False (* derived 2004 October 14 in REFINE.NB *) PARTIALORDER[composite[inverse[IMAGE[inverse[S]]],S]] := False (* derived 2004 December 18 in PO-BIJ.NB *) PARTIALORDER[composite[inverse[oopart[x_]],inverse[S],oopart[x_]]] := True (* derived 2004 October 14 in REFINE.NB *) PARTIALORDER[composite[inverse[S],IMAGE[inverse[S]]]] := False (* derived 2004 August 10 in RS-3.NB *) PARTIALORDER[composite[RESTRICT,id[P[cart[V,V]]]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) PARTIALORDER[DIV] := True (* derived 2004 March 21 in PO-WRAP.NB *) PARTIALORDER[Id] := True (* derived 2004 March 21 in PO-WRAP.NB *) PARTIALORDER[id[x_]] := True (* derived 2004 March 21 in PO-WRAP.NB *) PARTIALORDER[inverse[x_]] := PARTIALORDER[composite[Id,x]] (* derived 2004 March 21 in PO-WRAP.NB *) PARTIALORDER[S] := True (* derived 2004 March 23 in TRV-K.NB *) PARTIALORDER[union[Id,trv[K]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) partrec[0,x_] := set[0] (* derived 2004 August 3 in WF-REC-1.NB *) partrec[x_,0] := P[composite[x,RIGHT[0]]] (* derived 2004 August 5 in WF-REC-2.NB *) partrec[x_,composite[Id,y_]] := partrec[x,y] (* added 2003 August 7 based on PLUS.NB *) plus[0] := id[omega] (* derived 2004 May 2 in REGULAR.NB *) plus[REGULAR] := 0 (* added 2003 August 7 based on PLUS.NB *) plus[set[0]] := composite[id[omega],SUCC] (* added 2003 August 7 based on PLUS.NB *) plus[succ[x_]] := composite[plus[x],SUCC] (* added 2003 August 7 based on PLUS.NB *) plus[union[x_,complement[image[V,y_]]]] := composite[plus[x],id[image[V,y]]] (* added 2003 August 7 based on PLUS.NB *) plus[union[x_,image[V,y_]]] := composite[plus[x],id[complement[image[V,y]]]] (* added 2002 May 21 based on POWER.NB *) power[0] := cart[set[0],Id] (* added 2002 June 8 based on POW-CART.NB *) power[cart[x_,y_]] := union[cart[intersection[omega,complement[set[0]]], cart[x,intersection[y,image[V,intersection[x,y]]]]], cart[set[0],Id],cart[set[set[0]],cart[x,y]]] (* added 2002 May 21 based on POWER.NB *) power[composite[Id,x_]] := power[x] (* added 2002 May 25 based on POW-SUCC.NB *) power[composite[id[omega],SUCC]] := union[cart[set[0],Id],composite[id[cart[V,omega]],power[SUCC]]] (* added 2002 June 15 based on CANCEL.NB *) power[composite[inverse[SUCC],id[omega]]] := union[cart[set[0],Id],inverse[rotate[NATADD]]] (* added 2002 May 22 based on POWER-X.NB *) power[cross[x_,y_]] := union[cart[set[0],id[complement[cart[V,V]]]], intersection[composite[cross[inverse[FIRST],inverse[FIRST]],power[x]], composite[cross[inverse[SECOND],inverse[SECOND]],power[y]]]] (* added 2002 May 21 based on POWER.NB *) power[Id] := cart[omega,Id] (* added 2002 May 21 based on POWER.NB *) power[id[x_]] := union[cart[omega,id[x]],cart[set[0],Id]] (* added 2002 December 23 based on EXPONENT.NB *) power[image[power[x_],y_]] := composite[power[x], iterate[composite[NATADD,id[cart[V,y]],inverse[FIRST]],set[0]]] (* added 2002 May 22 based on INVERSE.NB *) power[inverse[x_]] := composite[SWAP,power[x]] (* derived 2004 May 2 in REGULAR.NB *) power[REGULAR] := union[cart[intersection[omega,complement[set[0]]], cart[REGULAR,REGULAR]],cart[set[0],Id]] (* added 2002 May 22 based on EXAMPLES.NB *) power[S] := union[cart[omega,Id],cart[intersection[omega,complement[set[0]]],S]] (* added 2002 June 10 based on POWERUID.NB *) power[union[Id,x_]] := composite[power[x],inverse[S],id[omega]] (* added 2002 June 8 based on POW-CART.NB *) power[V] := union[cart[intersection[omega,complement[set[0]]],cart[V,V]], cart[set[0],Id]] (* Definition of PSM added 1998 September 5*) PSM[x_] := intersection[complement[composite[PS,x]],x] (* Theorem RA-2A in RA1 *) range[0] := 0 (* added 2001 May 10 based on UCLOS-4.NB *) range[ACLOSURE] := fix[ACLOSURE] (* Theorem ADJ-RA in ADJ proved 1999 March 13 *) range[ADJOIN[x_]] := image[S,set[x]] (* added 1999 October 13 based on ASSOC.1 *) range[ASSOC] := cart[V,cart[V,V]] (* Theorem BA-RA in BIGCAP/BA1 added 1998 July 30 *) range[BIGCAP] := V (* Theorem BC-RA in BIGCUP/BC *) range[BIGCUP] := V (* Theorem CAP-RA in CAP proved 1999 August 12 *) range[CAP] := V (* added 2001 December 10 based on CARD-ALL.NB *) range[CARD] := fix[CARD] (* Theorem IM-CP-RA in IM3 *) range[cart[x_,y_]] := intersection[y,image[V,x]] (* added 2003 July 4 based on COARSER.NB *) range[COARSER] := V (* added 2001 May 18 based on COMMUTE2.NB *) range[COMMUTE] := V (* derived 2004 February 20 in REPLACE1.NB *) range[complement[x_]] := complement[ub[x,V]] (* Theorem CPS-RA2 in COMPOSE-CPS proved 2001 January 23 *) range[COMPOSE] := P[cart[V,V]] (* Theorem CO-RA5 in CO3 *) range[composite[x_,y_]] := image[x,range[y]] (* added 2002 May 3 based on CORE-UCL.NB *) range[CORE[x_]] := Uclosure[x] (* Theorem X-RA-3 in X2 *) range[cross[x_,y_]] := cart[range[x],range[y]] (* Theorem CUP-RA in CUP1 proved 1999 July 22 *) range[CUP] := V (* Theorem DI-RA in DI added 1998 July 2 *) range[Di] := V (* added 1999 November 6 based on CO-2.LOG *) range[DIF] := V (* Theorem DJT-RA in DJT *) range[DISJOINT] := V (* added 2002 August 30 based on DIVIDES.NB *) range[DIV] := omega (* added 2001 December 18 based on DORA.NB *) range[DORA] := union[cart[complement[set[0]],complement[set[0]]], cart[set[0],set[0]]] (* Theorem DUP-RA2 in DUP1 *) range[DUP] := Id (* Theorem E-RA3 in E1 *) range[E] := complement[set[0]] (* added 2002 November 3 based on EQUIDIFF.NB *) range[EQUIDIFF] := cart[omega,omega] (* derived 2004 May 12 in EQUIV.NB *) range[EQUIV] := EQV (* derived 2004 May 12 in EQV-GEN.NB *) range[eqv[x_]] := fix[eqv[x]] (* Theorem FIN-RA2 proved 2000 April 22 *) range[FINITE] := V (* Theorem 1ST-RA *) range[FIRST] := V (* added 2002 October 29 based on RO-I.NB *) range[fix[composite[DUP,x_]]] := fix[composite[x,DUP]] range[fix[composite[inverse[SECOND],x_]]] := fix[composite[x,inverse[SECOND]]] range[fix[composite[x_,SECOND]]] := fix[composite[SECOND,x]] (* added 2000 September 9 based on SU-FP-RA.NB *) range[FUNPART] := FUNS (* added 2000 December 3 based on DO-LT.NB *) range[GLB[complement[E]]] := RUSSELL (* added 2000 November 18 based on GREATEST.NB *) range[GREATEST[x_]] := fix[x] (* Theorem HF-RA in HC proved 2001 April 10 *) range[HC] := FULL (* added 2003 February 21 based on IDEMHULL.NB *) range[HULL[x_]] := fix[HULL[x]] (* Theorem ID-5B in ID2 *) range[Id] := V (* Theorem IDX-RA in IDX2 *) range[id[x_]] := x (* added 2001 December 23 based on DORA-1.NB *) range[image[DORA,x_]] := image[IMAGE[SECOND],x] (* added 2001 March 31 based on BIN-FU.NB *) range[image[inverse[CAP],x_]] := image[S,x] (* added 2001 March 31 based on BIN-FU.NB *) range[image[inverse[CUP],x_]] := image[inverse[S],x] (* added 1999 November 2 based on 1999 November 1 session WORK/ASSOC.LOG *) range[image[inverse[DIF],x_]] := image[DISJOINT,x] (* added 2002 September 2 based on IMAGEDIV.NB *) range[image[inverse[NATMUL],x_]] := image[inverse[DIV],x] (* Theorem IM-V-RA in IM2 *) range[image[V,x_]] := image[V,x] (* added 2001 September 30 based on IMAGEBA.NB *) range[IMAGE[BIGCAP]] := V range[IMAGE[BIGCUP]] := V (* added 2003 January 5 based on RA-IMG.NB *) range[IMAGE[CAP]] := V (* derived 2004 August 7 in RS-1.NB *) range[IMAGE[composite[id[x_],inverse[FIRST]]]] := RS[x] (* added 2002 March 12 based on CUP.NB *) range[IMAGE[CUP]] := V (* added 2003 January 5 based on RA-IMG.NB *) range[IMAGE[DIF]] := V (* added 1996 June 29 Theorem IDP-RA in IDP proved 1998 December 17 *) range[IMAGE[DUP]] := P[Id] (* added 2002 November 19 based on FP-EQDF.NB *) range[IMAGE[EQUIDIFF]] := fix[IMAGE[EQUIDIFF]] range[IMAGE[FIRST]] := V (* Theorem CUT-RA2 in CUT1 *) range[IMAGE[id[x_]]] := P[x] (* added 2003 March 13 based on IMG-CUT.NB *) range[IMAGE[IMAGE[id[x_]]]] := P[P[x]] (* added 1996 June 29 *) range[IMAGE[inverse[DUP]]] := V (* added 2002 September 12 based on LEFT-SUB.NB *) range[image[inverse[NATADD],set[x_]]] := intersection[image[V,intersection[omega,set[x]]],succ[x]] (* derived 2005 January 19 in GRAPH.NB *) range[IMAGE[inverse[PAIRSET]]] := SYM (* added 2000 January 11 based on HER-FIX1.NB *) range[IMAGE[inverse[S]]] := fix[IMAGE[inverse[S]]] (* added 1996 June 29 *) range[IMAGE[inverse[SINGLETON]]] := V (* added 1999 December 24 based on SYMDIF-2.NB *) range[image[inverse[SYMDIF],set[x_]]] := image[V,set[x]] (* added 1999 August 17 based on session INTRIGUE.2 *) range[IMAGE[LEFT[x_]]] := P[cart[set[x],V]] (* added 2003 January 5 based on RA-IMG.NB *) range[IMAGE[RIF]] := P[cart[V,V]] (* added 1999 August 17 based on session INTRIGUE.2 *) range[IMAGE[RIGHT[x_]]] := P[cart[V,set[x]]] range[IMAGE[SECOND]] := V (* added 1996 June 29 *) range[IMAGE[SINGLETON]] := P[range[SINGLETON]] (* added 2000 January 1 based on RA-IMG-H.NB *) range[IMAGE[SUCC]] := P[range[SUCC]] (* Theorem INV-RA2 in INV1 *) range[IMAGE[SWAP]] := P[cart[V,V]] (* added 2003 January 5 based on RA-IMG.NB *) range[IMAGE[SYMDIF]] := V (* derived 2004 May 14 in THINPART.NB *) range[IMAGE[thinpart[x_]]] := range[IMAGE[x]] (* added 2001 July 17 based on ZN-IMG2.NB *) range[IMAGE[ZN]] := fix[IMAGE[ZN]] (* Theorem MG-RA in MG proved 2000 August 27 *) range[IMG] := V (* added 2003 July 25 based on INTADD.NB *) range[INTADD] := Z (* Theorem FP-CO4 in FP2 *) range[intersection[x_,y_]] := fix[composite[x,inverse[y]]] (* added 2002 April 10 based on INVAR.NB *) range[INVAR] := V (* added 1999 October 12 based on INVERSE.4 *) range[INVERSE] := P[cart[V,V]] (* Theorem IN-6 in IN2 *) range[inverse[z_]] := domain[z] (* derived 2005 January 1 in ITER-FUN.NB *) range[iterate[inverse[E],x_]] := tc[x] (* Theorem K-RA in K proved 2000 May 16 *) range[K] := complement[set[0]] (* derived 2005 January 18 in RA-KURA.NB *) range[KURA] := image[PAIRSET,composite[PAIRSET,inverse[FIRST],inverse[SINGLETON]]] (* added 2000 November 10 based on UB-LB-1.LOG *) range[LB[x_]] := V (* added 2000 November 18 based on GREATEST.NB *) range[LEAST[x_]] := fix[x] (* added 1999 August 16 based on session NORMAL.5 *) range[LEFT[x_]] := cart[set[x],V] (* added 2000 November 17 based on CO-ID.NB *) range[MAXIMAL[x_]] := V (* added 2000 November 17 based on CO-ID.NB *) range[MINIMAL[x_]] := V (* added 2002 June 12 based on NATADD.NB *) range[NATADD] := omega (* derived 2005 May 17 based on NATMOD.NB *) range[NATMOD] := omega (* added 2002 June 30 based on MUL-RA.NB *) range[NATMUL] := omega (* added 1998 May 24 *) range[omega] := 0 (* Theorem ON-1-RA in ON1 added 1998 May 24 *) range[OMEGA] := 0 (* derived 2004 May 9 in OOPART.NB *) range[OOPART] := BIJ (* added 2003 August 7 based on PLUS.NB *) range[plus[x_]] := intersection[omega,image[S,set[x]], image[V,intersection[omega,set[x]]]] (* added 2002 June 8 based on POW-TRV.NB *) range[power[x_]] := union[Id,trv[x]] (* Theorem PS-RA-2 in PS *) range[PS] := complement[set[0]] (* Theorem Q-RA in Q proved 2000 April 25 *) range[Q] := V (* added 1998 November 10 *) range[range[LeftPairV]] := 0 (* added 1998 November 10 *) range[range[RightPairV]] := 0 (* Theorem RK-RA in RANK2 proved 2001 July 25 *) range[RANK] := OMEGA (* added 1999 October 31 based on DIF-LEFT.NB *) range[RC[x_]]:=intersection[image[V,set[x]],P[x]] (* Theorem REG-31 in REG2 *) range[REGULAR] := REGULAR (* added 2003 May 30 based on RESTRICT.NB *) range[RESTRICT] := P[cart[V,V]] (* derived 2004 December 16 in RFX-CORE.NB *) range[rfx[x_]] := fix[x] (* added 2001 January 20 based on RIF-2.NB *) range[RIF] := cart[V,V] (* added 1999 August 16 based on session NORMAL.5 *) range[RIGHT[x_]] := cart[V,set[x]] (* added 1999 August 2 *) range[ROT] := cart[cart[V,V],V] (* added 1999 September 3 based on ROTATE.1 *) range[rotate[x_]] := range[domain[x]] (* Theorem SR-RA in SR1 *) range[S] := V (* Theorem 2ND-RA *) range[SECOND] := V (* added 2001 November 13 based on 1ST-2ND.NB *) range[set[x_]] := set[second[x]] (* derived 2004 April 6 in SMALLER.NB *) range[SMALLER] := complement[set[0]] (* added 2002 December 27 based on SBCOMMUT.NB *) range[SUBCOMMUTE] := V (* Theorem SW-RA in SW3 *) range[SWAP] := cart[V,V] (* added 1999 December 2 based on SYMDIF-2.NB *) range[SYMDIF] := V (* added 2000 January 8 based on TC-RA.NB *) range[TC] := FULL (* added 2003 March 28 based on RA-TRV.NB *) range[trv[x_]] := range[x] (* added 2001 January 18 based on ROT-CPS.NB *) range[twist[x_]] := composite[SECOND,x,inverse[SECOND]] (* Theorem TW-3 in TWIST proved 1999 July 30 *) range[TWIST] := cart[cart[V,V],cart[V,V]] (* added 2000 November 5 based on UB-2.NB *) range[UB[x_]] := V (* added 2001 May 10 based on UCLOS-4.NB *) range[UCLOSURE] := fix[UCLOSURE] (* Theorem RA-3 in RA1 *) range[union[x_,y_]] := union[range[x],range[y]] (* Theorem RA-2B in RA1 *) range[V] := V (* derived 2004 February 25 in HULLUBLB.NB *) range[VERTSECT[complement[composite[complement[x_],LB[x_]]]]] := fix[VERTSECT[complement[composite[complement[x],LB[x]]]]] (* added 2002 November 17 based on HER-Z.NB *) range[VERTSECT[EQUIDIFF]] := union[Z,set[0]] (* added 2003 June 15 based on RA-VS.NB *) range[VS] := intersection[FUNS,P[cart[V,complement[set[0]]]]] (* derived 2004 September 25 in LAMB-WF.NB *) range[WFPART] := WF (* added 2001 July 12 based on ZN-2.NB *) range[ZN] := V (* added 2001 July 15 based on RANK.NB *) rank[0] := 0 (* derived 2005 April 27 in CARDRANK.NB *) rank[card[x_]] := card[x] (* Corollary RK-IM-SR in RANK1 proved 2001 August 4 *) rank[image[inverse[S],x_]] := rank[x] (* Theorem RK-ZN-IM in RANK1 proved 2001 July 27 *) rank[image[ZN,x_]] := rank[x] (* derived 2004 February 3 in FIN-RANK.NB *) rank[intersection[REGULAR,H[FINITE]]] := omega (* derived 2005 April 27 in CARDRANK.NB *) rank[nat[x_]] := nat[x] (* added 2001 December 2 based on RANK-2.NB *) rank[omega] := omega (* Theorem RK-PC in RANK1 proved 2001 August 3 *) rank[P[x_]] := succ[rank[x]] (* derived 2005 January 8 in RANK-UP.NB *) rank[set[x_,y_]] := union[intersection[image[V,set[x]],succ[rank[x]]], intersection[image[V,set[y]],succ[rank[y]]]] (* Theorem RK-RK-1 in RANK1 proved 2001 July 24 *) rank[rank[x_]] := rank[x] (* derived 2005 January 10 in SET.NB *) rank[set[x_,y___]] := union[intersection[image[V,set[x]],succ[rank[x]]],rank[set[y]]] (* added 2001 December 2 based on RANK-2.NB *) rank[succ[x_]] := succ[rank[x]] (* Theorem RK-TC-1 in RANK1 proved 2001 August 1 *) rank[tc[x_]] := rank[x] (* Theorem RK-U in RANK1 proved 2001 August 5 *) rank[union[x_,y_]] := union[rank[x],rank[y]] (* added 2001 March 9 based on RC.NB *) RC[0] := cart[set[0],set[0]] (* added 2001 March 9 based on RC.NB *) RC[set[x_]] := union[cart[set[0],set[set[x]]], cart[set[set[x]],set[0]]] (* added 2002 February 3 based on RCF.NB *) RC[union[x_,complement[image[V,set[y_]]]]] := composite[id[image[V,set[y]]],RC[x]] (* derived 2004 August 3 in WF-REC-1.NB *) rec[0,x_] := 0 (* derived 2004 August 3 in WF-REC-1.NB *) rec[x_,0] := composite[x,RIGHT[0]] (* derived 2004 August 5 in WF-REC-2.NB *) rec[x_,composite[Id,y_]] := rec[x,y] (* derived 2004 September 5 in WF-REC-4.NB *) rec[composite[POWER,BIGCUP,IMAGE[SECOND],SECOND],composite[inverse[E],id[REGULAR]]] := union[cart[complement[REGULAR],set[set[0]]],composite[VERTSECT[ZN],id[REGULAR]]] (* derived 2004 September 14 in WF-REC-6.NB *) rec[composite[TC,IMAGE[SECOND],SECOND],composite[inverse[E],id[REGULAR]]] := union[RANK,cart[complement[REGULAR],set[0]]] (* derived 2004 September 29 in WF-REC-7.NB *) rec[composite[TC,IMAGE[SECOND],SECOND],composite[inverse[SUCC],id[omega]]] := union[cart[complement[omega],set[0]],id[omega]] (* added 2003 December 21 in RECT.NB *) RECTANGLE[x_] := equal[x,cart[domain[x],range[x]]] (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[0] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[cart[x_,y_]] := or[equal[0,x],equal[0,y],equal[x,y]] (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[COARSER] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[COMMUTE] := True (* derived 2004 March 23 in ADJECT.NB *) REFLEXIVE[composite[CUP,id[cart[V,x_]],inverse[FIRST]]] := or[equal[0,x],member[0,x]] (* added 2004 April 17 based on CORE.NB *) REFLEXIVE[composite[id[fix[x_]],x_,id[fix[x_]]]] := True (* derived 2004 October 2 in RFX.NB *) REFLEXIVE[composite[x_,id[y_],inverse[x_]]] := True (* derived 2004 December 17 in RFX.NB *) REFLEXIVE[composite[id[y_],rfx[x_],id[y_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[composite[id[x_],S]] := equal[x,image[inverse[S],x]] (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[composite[id[x_],S,id[x_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[composite[x_,inverse[x_]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[composite[inverse[x_],x_]] := True (* derived 2004 December 17 in RFXTRV-C.NB *) REFLEXIVE[composite[inverse[funpart[x_]],inverse[S],funpart[x_]]] := True (* derived 2005 January 15 in HOMO-RFX.NB *) REFLEXIVE[composite[inverse[funpart[x_]],rfx[y_],funpart[x_]]] := True (* derived 2004 October 2 in RFX.NB *) REFLEXIVE[composite[inverse[x_],id[y_],x_]] := True (* derived 2004 October 14 in REFINE.NB *) REFLEXIVE[composite[inverse[IMAGE[inverse[S]]],COARSER]] := True (* derived 2004 October 14 in REFINE.NB *) REFLEXIVE[composite[inverse[IMAGE[inverse[S]]],S]] := True (* derived 2004 December 18 in RFX-WRAP.NB *) REFLEXIVE[composite[inverse[x_],inverse[S],x_]] := True (* derived 2004 December 18 in RFX-WRAP.NB *) REFLEXIVE[composite[inverse[x_],S,x_]] := True (* derived 2004 October 14 in REFINE.NB *) REFLEXIVE[composite[inverse[S],IMAGE[inverse[S]]]] := True (* derived 2004 March 18 in RFX-TRV.NB *) REFLEXIVE[composite[Q,S]] := True (* derived 2004 August 10 in RS-3.NB *) REFLEXIVE[composite[RESTRICT,id[P[cart[V,V]]]]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[composite[S,id[x_]]] := equal[image[S,x],x] (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[Di] := False (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[DISJOINT] := False (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[DIV] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[EQUIDIFF] := True (* derived 2004 May 12 in EQV-GEN.NB *) REFLEXIVE[eqv[x_]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[id[x_]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[Id] := True (* derived 2004 July 26 in DORAFUNS.NB *) REFLEXIVE[image[DORA,FUNS]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[inverse[x_]] := REFLEXIVE[composite[Id,x]] (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[Q] := True (* derived 2004 December 18 in RFX-WRAP.NB *) REFLEXIVE[RC[x_]] := or[equal[0,x],not[member[x,V]]] (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[RESTRICT] := False (* derived 2004 December 16 in RFX-CORE.NB *) REFLEXIVE[rfx[x_]] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[S] := True (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[SUBCOMMUTE] := True (* derived 2004 December 17 in RFXTRV-C.NB *) REFLEXIVE[thinpart[rfx[trv[x_]]]] := True (* derived 2004 March 23 in TRV-K.NB *) REFLEXIVE[union[Id,x_]] := subclass[x,cart[V,V]] (* derived 2004 March 18 in RFX-WRAP.NB *) REFLEXIVE[ZN] := True (* Theorem IDX-RS4 in IDX2 *) restrict[z_,x_,y_] := composite[id[y],z,id[x]] (* used by Quaife *) (* derived 2004 December 18 in RFX-WRAP.NB *) rfx[cart[x_,y_]] := cart[intersection[x,y],intersection[x,y]] (* derived 2004 December 17 in RFX.NB *) rfx[composite[Id,x_]] := rfx[x] (* derived 2004 December 18 in RFX-WRAP.NB *) rfx[cross[x_,y_]] := cross[rfx[x],rfx[y]] (* derived 2004 December 18 in RFX-WRAP.NB *) rfx[DISJOINT] := cart[set[0],set[0]] (* derived 2004 December 16 in RFX-CORE.NB *) rfx[eqv[x_]] := eqv[x] (* derived 2004 December 18 in RFX-WRAP.NB *) rfx[funpart[x_]] := id[fix[funpart[x]]] (* derived 2004 December 17 in RFX.NB *) rfx[intersection[x_,y_]] := intersection[rfx[x],rfx[y]] (* derived 2004 December 17 in RFX.NB *) rfx[inverse[x_]] := inverse[rfx[x]] (* derived 2004 December 18 in RFX-WRAP.NB *) rfx[RESTRICT] := composite[RESTRICT,id[P[cart[V,V]]]] (* derived 2004 December 16 in RFX-CORE.NB *) rfx[rfx[x_]] := rfx[x] (* added 2002 August 28 based on RIGHT.NB *) RIGHT[union[x_,complement[image[V,y_]]]] := composite[RIGHT[x],id[image[V,y]]] (* added 2002 August 28 based on RIGHT.NB *) RIGHT[union[x_,image[V,y_]]] := composite[RIGHT[x],id[complement[image[V,y]]]] (* added 1999 August 16 based on session NORMAL.4 *) RIGHT[V] := 0 (* Theorem RO-6A in RO3 *) rotate[0] := 0 (* added 1999 December 2 based on ROTATE.2 *) rotate[ASSOC] := composite[SECOND,SECOND,FIRST,id[cross[Id,FIRST]]] (* added 1999 December 2 based on BOOLEAN.LOG *) rotate[CAP] := composite[intersection[composite[DISJOINT,DIF],composite[S,SECOND]], SWAP,id[S]] (* discovered 1996 March 22 in FLIP.LOG *) rotate[cart[x_,y_]] := composite[x,SECOND,id[cart[y,V]]] (* added 1999 September 7 based on ROTATE.6 *) rotate[complement[x_]] := composite[complement[rotate[x]],id[cart[V,V]]] (* added 2002 November 13 based on NORM-ADD.NB *) rotate[composite[complement[composite[Di,SECOND,GREATEST[complement[cross[SUCC,SUCC]]]]], id[intersection[P[cart[omega,V]],subvar[union[cross[SUCC,SUCC], id[cart[set[0],V]]]]]],E]] := composite[rotate[inverse[power[SUCC]]],SWAP] (* added 2000 September 21 based on COMPOSE.NB *) rotate[composite[x_,complement[E]]] := composite[complement[rotate[E]],cross[inverse[x],Id]] (* discovered 1999 December 18 in DELTA-1.NB *) rotate[composite[complement[inverse[E]],CUP]] := composite[complement[E],FIRST,id[complement[E]]] (* added 2001 February 6 based on ROT-3.NB *) rotate[composite[x___,complement[S],DIF]] := composite[complement[S],DIF,SWAP,cross[inverse[composite[x]],Id]] (* added 2000 January 2 based on ROTATE-X.NB *) rotate[composite[x_,cross[y_,z_]]] := composite[inverse[z],rotate[x],cross[Id,y]] (* added 2003 August 10 based on RODIRECT.NB *) rotate[composite[cross[x_,y_],TWIST]] := composite[cross[rotate[x],rotate[y]],TWIST] (* added 1999 December 2 based on BOOLEAN.LOG *) rotate[composite[DIF,SWAP]] := composite[intersection[composite[S,FIRST], composite[inverse[S],CUP]],id[DISJOINT]] (* added 1999 December 2 based on 1999/NOV/30/SYMDIF-2.LOG *) rotate[composite[DISJOINT,CAP]] := composite[DISJOINT,CAP] (* added 1999 December 2 based on ROTATE.2 *) rotate[composite[DISJOINT,CART]] := composite[DISJOINT,IMG] (* added 2001 June 6 based on IMG-RO.NB *) rotate[composite[DISJOINT,CART,SWAP]] := composite[DISJOINT,IMG,cross[IMAGE[SWAP],Id]] (* added 2000 January 2 based on DC.NB *) rotate[composite[DISJOINT,COMPOSE]] := composite[DISJOINT,COMPOSE,SWAP,cross[Id,IMAGE[SWAP]]] (* added 2000 January 2 based on DC.NB *) rotate[composite[DISJOINT,COMPOSE,SWAP]] := composite[DISJOINT,COMPOSE,cross[Id,IMAGE[SWAP]]] (* added 1999 December 2 based on CUP-LOG.1 *) rotate[composite[DISJOINT,CUP]] := composite[DISJOINT,FIRST,id[DISJOINT]] (* added 1999 December 2 based on CAP-LOG.1 *) rotate[composite[DISJOINT,DIF]] := composite[S,CAP] (* added 1999 December 2 based on CAP-LOG.2 *) rotate[composite[DISJOINT,DIF,SWAP]] := composite[DISJOINT,DIF] (* added 2001 June 6 based on IMG-RO.NB *) rotate[composite[DISJOINT,IMG]] := composite[DISJOINT,IMG,SWAP,cross[Id,IMAGE[SWAP]]] (* added 2000 January 2 based on ROT-X.NB *) rotate[composite[DISJOINT,IMG,SWAP]] := composite[DISJOINT,CART,SWAP] (* added 1999 December 2 based on PAIRSET.1 *) rotate[composite[DISJOINT,PAIRSET]] := composite[complement[inverse[E]],FIRST,id[complement[inverse[E]]]] (* added 2000 December 29 based on CLS6.NB *) rotate[composite[x___,E,inverse[E],DIF]] := composite[complement[S],CAP,cross[inverse[composite[x]],Id]] (* derived 2004 November 6 in IMIM-CAP.NB *) rotate[composite[x_,E,inverse[E],DIF,SWAP]] := composite[E,inverse[E],DIF,cross[inverse[x],Id]] (* added 2003 May 30 based on FIX-ROT.NB *) rotate[composite[x_,E,rotate[E]]] := composite[inverse[E],IMG,SWAP,cross[inverse[x],IMAGE[SWAP]]] (* added 1999 September 7 based on ROTATE.1 *) rotate[composite[x_,FIRST]] := cart[inverse[x],V] (* added 2001 February 4 based on IMAGEDIF.NB *) rotate[composite[FIRST,id[x_],intersection[composite[y_,FIRST],composite[inverse[SECOND], intersection[composite[u_,FIRST],composite[v_,SECOND]]]]]] := composite[inverse[v], intersection[composite[u,FIRST],composite[x,SECOND],rotate[inverse[y]]],SWAP] (* added 2001 February 1 based on RO-TW.NB *) rotate[composite[FIRST,intersection[composite[u_,cross[v_,w_]], composite[x_,SECOND]],SWAP]] := composite[inverse[v],FIRST, intersection[composite[inverse[u],intersection[composite[x,SECOND], composite[inverse[FIRST],FIRST]]],composite[inverse[SECOND],w,SECOND]]] (* added 2001 February 1 based on RO-TW.NB *) rotate[composite[FIRST,intersection[composite[w_,SECOND],composite[x_,cross[y_,z_]]]]] := composite[intersection[composite[inverse[w],FIRST], composite[inverse[z],SECOND,SECOND]],id[inverse[x]], cross[inverse[FIRST],composite[inverse[FIRST],y]]] (* added 1999 September 12 based on *) rotate[composite[Id,x_]] := rotate[x] (* added 1999 September 7 based on ROTATE.1 *) rotate[composite[id[x_],y_]] := composite[rotate[y],id[cart[x,V]]] (* added 1999 September 7 based on ROTATE.3 *) rotate[composite[x_,id[y_]]] := intersection[rotate[x],composite[y,SECOND]] (* added 2002 September 21 based on ROTATE.NB *) rotate[composite[image[inverse[NATADD],set[x_]],NATADD]] := composite[image[inverse[NATADD],set[x]],NATADD] (* added 2001 March 9 based on RO-FL-I.NB *) rotate[composite[intersection[x_,y_],SWAP]] := intersection[rotate[composite[x,SWAP]],rotate[composite[y,SWAP]]] (* added 1999 September 12 based on 1999\SEP\11\ROTATE.1 *) rotate[composite[x_,intersection[composite[y_,FIRST], composite[z_,SECOND]]]] := composite[inverse[z], intersection[composite[y,SECOND],composite[inverse[x],FIRST]]] (* weakened rule added 2001 February 8 based on REPEAT-3.NB *) rotate[composite[inverse[x_],complement[inverse[S]],CUP]] := composite[complement[S],DIF,cross[x,Id]] (* added 1999 October 17 based on TRIPLES.2 *) rotate[composite[x_,inverse[DUP]]] := composite[SECOND,id[inverse[x]]] (* added 2001 June 1 based on ROTATE.NB *) rotate[composite[inverse[E],BIGCUP,IMG,SWAP]] := composite[inverse[IMAGE[SWAP]],E,cross[E,inverse[E]]] (* added 1999 December 2 based on CAP-LOG.1 *) rotate[composite[inverse[E],CAP]] := composite[E,FIRST,id[E]] (* added 1999 December 2 based on ROTATE.2 *) rotate[composite[inverse[E],CART]] := composite[E,SECOND,FIRST,id[composite[E,FIRST]]] (* added 1999 December 2 based on ROTATE.2 *) rotate[composite[inverse[E],COMPOSE]] := composite[E,intersection[composite[inverse[FIRST],FIRST,FIRST], composite[inverse[SECOND],FIRST,intersection[composite[inverse[E],SECOND], composite[inverse[SECOND],SECOND,FIRST]]]]] (* added 1999 December 2 based on ROTATE.2 *) rotate[composite[inverse[E],CROSS]] := composite[E,cross[SECOND,SECOND],FIRST, id[composite[E,cross[FIRST,FIRST]]]] (* added 1999 December 2 based on DIF-LOG.1 *) rotate[composite[inverse[E],DIF]] := composite[complement[E],FIRST,id[E]] (* added 1999 December 2 based on DIF-LOG.1 *) rotate[composite[inverse[E],DIF,SWAP]] := composite[E,FIRST,id[complement[E]]] (* added 2001 April 21 based on PT.NB *) rotate[composite[inverse[E],IMG,SWAP]] := composite[inverse[IMAGE[SWAP]],E,cross[Id,inverse[E]]] (* added 2001 May 25 based on FUNPART.NB *) rotate[composite[inverse[FUNPART],E]] := composite[inverse[SINGLETON],IMG,cross[Id,SINGLETON]] (* added 1999 November 30 based on IMG-SWAP.2 *) rotate[composite[inverse[IMAGE[id[cart[V,V]]]],E]] := rotate[E] (* added 2000 September 9 based on FNP-3.NB *) rotate[composite[x_,inverse[IMAGE[id[cart[V,V]]]],E]] := rotate[composite[x,E]] (* added 1999 December 27 based on ROT-IMG1.NB *) rotate[composite[inverse[E],IMG]] := composite[E, rotate[composite[inverse[IMAGE[SWAP]],E]],SWAP] (* added 1999 December 6 based on CURRY.NB *) rotate[composite[x_,inverse[LEFT[y_]]]] := composite[inverse[x],inverse[RIGHT[y]]] (* added 1999 December 6 based on CURRY.NB *) rotate[composite[x_,inverse[RIGHT[y_]]]] := cart[inverse[x],set[y]] (* added 1999 December 2 based on CAP-LOG.1 *) rotate[composite[inverse[S],CAP]] := composite[S,FIRST,id[S]] (* added 1999 December 2 based on ROTATE.2 *) rotate[composite[inverse[S],CART]] := composite[S,IMAGE[SECOND],FIRST, id[composite[S,IMAGE[FIRST],id[P[cart[V,V]]]]]] (* added 1999 December 2 based on ROTATE.2 *) rotate[composite[inverse[S],CROSS]] := composite[S,IMAGE[cross[SECOND,SECOND]],FIRST, id[composite[S,IMAGE[cross[FIRST,FIRST]], id[P[cart[cart[V,V],cart[V,V]]]]]]] (* added 1999 December 2 based on 1999/NOV/30/SYMDIF-2.LOG *) rotate[composite[inverse[S],CUP]] := composite[S,DIF] (* added 1999 December 2 based on DIF-LOG.1 *) rotate[composite[inverse[S],DIF]] := composite[DISJOINT,FIRST,id[S]] (* added 1999 December 2 based on DIF-LOG.1 *) rotate[composite[inverse[S],DIF,SWAP]] := composite[S,FIRST,id[DISJOINT]] (* added 2001 March 8 based on IMAGEDIF.NB *) rotate[composite[inverse[S],POWER,CUP]] := composite[S,DIF,cross[BIGCUP,Id]] (* added 2001 January 20 based on TWIST-3.NB *) rotate[composite[x_,RIF]] := composite[RIF,cross[inverse[x],Id]] (* added 2002 December 27 based on TWIST.NB *) rotate[composite[rotate[x_],inverse[ROT],SWAP]] := inverse[twist[x]] (* added 1999 November 30 based on ROT-SWAP.LOG *) rotate[composite[rotate[x_],SWAP]] := composite[x,SWAP] (* added 2001 February 3 based on ROTATE-2.NB *) rotate[composite[x_,rotate[y_],SWAP]] := composite[y,SWAP,cross[inverse[x],Id]] (* added 1999 December 2 based on CAP-LOG.1 *) rotate[composite[S,CAP]] := composite[DISJOINT,DIF,SWAP] (* added 1999 December 2 based on CUP-LOG.2 *) rotate[composite[S,CUP]] := composite[inverse[S],FIRST,id[inverse[S]]] (* added 1999 December 2 based on 1999/NOV/30/SYMDIF-2.LOG *) rotate[composite[S,DIF]] := composite[S,DIF,SWAP] (* added 1999 December 2 based on CUP-LOG.2 *) rotate[composite[S,DIF,SWAP]] := composite[inverse[S],CUP] (* discovered 1999 December 18 in DELTA-1.NB *) rotate[composite[S,PAIRSET]] := composite[inverse[E],FIRST,id[inverse[E]]] (* added 1999 September 7 based on ROTATE.1 *) rotate[composite[x_,SECOND]] := composite[inverse[x],FIRST] (* added 2001 January 28 based on GENERAL.NB *) rotate[composite[SECOND,intersection[composite[x_,FIRST], composite[inverse[FIRST],y_]],SWAP]] := composite[intersection[composite[inverse[x],FIRST], composite[rotate[composite[y,SWAP]],SWAP,SECOND]],inverse[RIF]] (* discovered 2000 January 2 in ROT-COMP.NB *) rotate[composite[x_,SYMDIF]] := composite[SYMDIF,cross[inverse[x],Id]] (* added 1999 September 7 based on ROTATE.7 *) rotate[cross[x_,y_]] := composite[inverse[y],SECOND,FIRST, id[composite[inverse[x],FIRST]]] (* added 1999 December 1 based on PAIRSET.LOG *) rotate[CUP] := composite[intersection[composite[S,DIF], composite[inverse[S],FIRST]],id[inverse[S]]] (* added 1999 December 2 based on BOOLEAN.LOG *) rotate[DIF] := composite[intersection[composite[DISJOINT,SECOND], composite[S,DIF]],SWAP,id[S]] (* added 1999 September 3 based on ROTATE.3 *) rotate[FIRST] := cart[Id,V] (* added 1999 December 2 based on ROTATE.2 *) rotate[Id] := composite[SECOND,FIRST,id[FIRST]] (* added 2003 August 12 based on RO-ZADD.NB *) rotate[INTADD] := composite[INTADD,cross[Id,INVERSE]] (* Theorem RO-1B in RO1 added 1999 September 7 *) rotate[intersection[x_,y_]] := intersection[rotate[x],rotate[y]] (* added 1999 December 2 based on ROTATE.2 *) rotate[inverse[ASSOC]] := composite[cross[SECOND,Id],FIRST,id[composite[FIRST,FIRST]]] (* added 1999 October 17 based on TRIPLES.1 *) rotate[inverse[DUP]] := inverse[DUP] (* added 1999 December 7 based on RESTRICT.NB *) rotate[inverse[LEFT[x_]]] := inverse[RIGHT[x]] (* added 1999 December 7 based on RESTRICT.NB *) rotate[inverse[RIGHT[x_]]] := cart[Id,set[x]] (* added 1999 September 12 based on 1999\SEP\07\ROTATE.6 *) rotate[inverse[ROT]] := composite[SECOND,FIRST,FIRST, id[composite[cross[Id,FIRST],SWAP]]] (* added 1999 December 1 based on PAIRSET.LOG *) rotate[PAIRSET] := composite[inverse[SINGLETON],SECOND, intersection[composite[inverse[CUP],FIRST], composite[inverse[FIRST],SINGLETON,SECOND]]] (* added 2001 February 15 based on RO-REG.NB *) rotate[REGULAR] := cart[cart[REGULAR,REGULAR],REGULAR] (* added 2001 January 20 based on RIF-2.NB *) rotate[RIF] := RIF (* added 1999 September 12 based on ROTATE.4 *) rotate[ROT] := composite[FIRST,FIRST,FIRST,id[cross[SECOND,Id]]] (* added 1999 November 30 based on LOOPING.NB *) rotate[rotate[x_]] := composite[rotate[composite[x,SWAP]],SWAP] (* added 2000 August 24 based on ROT-S.NB *) rotate[S] := composite[rotate[E],cross[POWER,Id]] (* added 1999 September 3 based on ROTATE.3 *) rotate[SECOND] := FIRST (* added 1999 December 2 based on ROTATE.2 *) rotate[SWAP] := composite[FIRST,FIRST,id[SECOND]] (* added 1999 December 2 based on SYMDIF-2.NB *) rotate[SYMDIF] := SYMDIF (* discovered 1999 December 18 in DELTA-1.NB *) rotate[TWIST] := composite[cross[SECOND,SECOND],FIRST, id[cross[FIRST,FIRST]]] (* Theorem RO-1D in RO1 *) rotate[union[x_,y_]] := union[rotate[x],rotate[y]] (* added 1999 September 3 based on ROTATE.2 *) rotate[V] := cart[cart[V,V],V] (* derived 2004 August 7 in RS-1.NB *) RS[0] := set[0] (* derived 2004 August 11 in RS-4.NB *) RS[cart[x_,setpart[y_]]] := RS[cart[x,y]] (* derived 2004 August 9 in RS-2.NB *) RS[cart[x_,set[y_]]] := P[cart[x,set[y]]] (* derived 2004 August 9 in RS-2.NB *) RS[cart[set[x_],y_]] := set[0,cart[set[x],y]] (* derived 2004 August 7 in RS-1.NB *) RS[composite[Id,x_]] := RS[x] (* derived 2004 August 9 in RS-2.NB *) RS[composite[thinpart[x_],id[y_]]] := RS[composite[x,id[y]]] (* derived 2004 August 9 in RS-2.NB *) RS[funpart[x_]] := P[funpart[x]] (* derived 2004 August 7 in RS-1.NB *) RS[Id] := P[Id] (* derived 2004 August 9 in RS-2.NB *) RS[thinpart[x_]] := RS[x] (* derived 2004 August 7 in RS-1.NB *) RS[V] := set[0] (* added 2001 November 13 based on REPLACE.NB *) second[0] := V (* added 2001 November 13 based on 1ST-2ND.NB *) second[pair[x_,y_]] := union[y,complement[image[V,set[x]]], complement[image[V,set[y]]]] (* added 2002 January 1 based on PAIR-MEM.NB *) second[PAIR[x_,y_]] := union[y,complement[image[V,set[x]]], complement[image[V,set[y]]]] (* added 2002 November 1 based on IMV.NB *) second[union[x_,complement[image[V,y_]]]] := union[complement[image[V,y]],second[x]] (* added 2002 November 1 based on IMV.NB *) second[union[x_,image[V,y_]]] := union[image[V,y],second[x]] (* introduced 2005 January 10 in SET.NB *) set[] := 0 (* derived 2005 January 10 in SET.NB *) set[x_,x_,y___] := set[x,y] (* added 2003 March 18 based on INDSCRET.NB *) set[0,intersection[x_,image[V,set[x_]]]] := set[0,x] (* added 1999 February 7 *) set[BIGCAP] := 0 (* Theorem BC-SS in BIGCUP/BC proved 1999 February 9 *) set[BIGCUP] := 0 (* Corollary SP-CP-C3 in SP3 proved 1999 February 28 *) set[complement[cart[x_,y_]]] := 0 set[complement[composite[x_,y_]]] := 0 set[complement[cross[x_,y_]]] := 0 set[complement[E]] := 0 (* Theorem FULC-SS in FUL2 proved 1999 March 27 *) set[complement[FULL]] := 0 (* added 2002 August 26 based on UNIQUE.NB *) set[complement[image[V,intersection[x_,set[y_]]]]] := intersection[image[V,intersection[x,set[y]]],set[0]] set[complement[inverse[x_]]] := 0 (* Corollary ON-C-SS in ON1 proved 1999 March 2 *) set[complement[OMEGA]] := 0 set[complement[S]] := 0 (* Theorem SP-SS-C in SP3 proved 1998 July 16 *) set[complement[set[x_]]] := 0 (* Theorem SP-DI-SS in SP4 added 1998 August 8 *) set[Di] := 0 (* Corollary SP-DJT-5 in SP4 proved 1999 March 25 *) set[DISJOINT] := 0 set[DUP] := 0 (* Theorem SP-E-SS in SP4 *) set[E] := 0 set[FIRST] := 0 (* added 2003 May 12 based on LAMBHULL.NB *) set[fix[HULL[x_]]] := set[Aclosure[x]] (* added 1998 February 7 *) set[FULL] := 0 (* Theorem FS-RP-2 in FS added 1998 August 17 *) set[FUNS] := 0 (* Theorem SP-ID-SS in SP4 *) set[Id] := 0 (* Theorem SP-IM-SR in SP4 proved 1998 October 22 *) set[image[S,x_]] := intersection[set[0], complement[image[V,x]]] (* Theorem SP-SS-IM in SP2 *) set[image[V,x_]] := intersection[set[0],complement[image[V,x]]] (* From session REPLACE1.LOG added 1999 February 18 *) set[inverse[E]] := 0 (* added 1998 February 7 *) set[OMEGA] := 0 (* replaced 2002 January 1 based on REPLACE.NB *) set[PAIR[x_,y_]] := cart[set[x],set[y]] (* Theorem POW-SS in POW3 proved 1998 July 18 *) set[POWER] := 0 set[PS] := 0 (* Corollary SP-SG-RA proved 1998 October 24 in SP2 *) set[range[SINGLETON]] := 0 (* Theorem SUC-RA-5 in SUC-RELATION added 1998 August 7 *) set[range[SUCC]] := 0 (* Theorem REG-29 in REG2 *) set[REGULAR] := 0 set[RUSSELL] := 0 (* Theorem SP-SR-SS in SP4 *) set[S] := 0 set[SECOND] := 0 (* derived 2005 January 11 in SET-SUCC.NB *) set[x___,y_,set[y_]] := union[set[x],succ[set[y]]] (* Theorem SP-SG-SS in SP4 added 1998 August 8 *) set[SINGLETON] := 0 (* Theorem SUC-MEM2 in SUC-RELATION added 1998 August 7 *) set[SUCC] := 0 set[SWAP] := 0 (* added 2002 January 27 based on FIXCORE1.NB *) set[union[x_,complement[image[V,y_]]]] := intersection[image[V,y],set[x]] (* added 2002 February 16 based on SS.NB *) set[union[x_,image[V,y_]]] := intersection[complement[image[V,y]],set[x]] (* Theorem SP-9 in SP2 *) set[V] := 0 (* derived 2004 December 26 in SETPART.NB *) setpart[Aclosure[x_]] := Aclosure[setpart[x]] (* derived 2004 December 26 in SETPART.NB *) setpart[ADJOIN[x_]] := 0 (* derived 2004 May 14 in THINPART.NB *) setpart[cart[x_,y_]] := cart[setpart[x],setpart[y]] (* derived 2004 December 26 in SETPART.NB *) setpart[id[x_]] := id[setpart[x]] (* derived 2004 December 26 in SETPART.NB *) setpart[image[inverse[S],x_]] := image[inverse[S],setpart[x]] (* derived 2004 December 26 in SETPART.NB *) setpart[LEFT[x_]] := 0 (* derived 2004 December 26 in SETPART.NB *) setpart[RIGHT[x_]] := 0 (* derived 2004 March 20 in EQV-WRAP.NB *) setpart[setpart[x_]] := setpart[x] (* derived 2004 August 1 in SETHOOD.NB *) setpart[set[x_]] := set[x] (* derived 2004 December 26 in SETPART.NB *) setpart[tc[x_]] := tc[setpart[x]] (* derived 2004 December 26 in SETPART.NB *) setpart[U[x_]] := U[setpart[x]] (* derived 2004 June 5 in THPT-TRV.NB *) setpart[V] := 0 (* derived 2005 January 10 in SET.NB *) singleton[x_] := set[x] (* Quaife introduced this predicate *) SINGVAL[x_] := subclass[composite[x,inverse[x]],Id] (* Theorem SP-3A in SP1 *) subclass[0,x_] := True (* Theorem PO-1 in PO *) subclass[x_,x_] := True (* added 2002 May 6 based on A-IMS.NB *) subclass[A[x_],A[intersection[x_,y_]]] := True (* added 2000 January 5 based on A-SC-0.NB *) subclass[A[x_],U[x_]] := not[equal[0,x]] (* Theorem ACL-SU1 in ACL1 proved 2001 September 29 *) subclass[x_,Aclosure[x_]] := True (* derived 2003 December 31 in COARSER.NB *) subclass[ACLOSURE,COARSER] := True (* derived 2004 January 23 in P-FINITE.NB *) subclass[Aclosure[x_],FINITE] := subclass[x,FINITE] (* added 2002 May 6 based on FIX-HULL.NB *) subclass[Aclosure[x_],fix[HULL[x_]]] := True (* Theorem ACL-IMS in ACL1 proved 2001 September 29 *) subclass[Aclosure[x_],image[inverse[S],x_]] := True (* derived 2004 April 24 in BA-BC.NB *) subclass[Aclosure[x_],image[inverse[S],Uclosure[x_]]] := True (* added 2002 October 8 based on ACL-IND.NB *) subclass[Aclosure[intersection[x_,y_]],Aclosure[x_]] := True (* added 2001 May 10 based on ACLOSURE.NB *) subclass[ACLOSURE,S] := True (* derived 2004 January 2 in COAR-ADJ.NB *) subclass[ADJOIN[x_],COARSER] := or[equal[0,x],equal[x,set[0]],not[member[x,V]]] (* derived 2004 January 16 in ADJ-UIDK.NB *) subclass[ADJOIN[x_],Id] := or[equal[0,x],not[member[x,V]]] (* Theorem ADJ-SR in ADJ proved 1999 March 11 *) subclass[ADJOIN[x_],S] := True (* derived 2004 January 16 in ADJ-UIDK.NB *) subclass[ADJOIN[x_],union[Id,K]] := or[equal[0,x],member[x,range[SINGLETON]],not[member[x,V]]] (* derived 2005 April 23 in FACT-S.NB *) subclass[x_,APPLY[FACTORIAL,x_]] := True (* added 2003 November 8 based on APPLMONO.NB *) subclass[APPLY[x_,y_],U[image[x_,set[y_]]]] := member[y,domain[x]] (* added 2001 September 9 based on ACLOSURE.NB *) subclass[BIGCAP,composite[inverse[S],BIGCUP]] := True subclass[BIGCUP,cart[x_,y_]] := and[equal[V,x],equal[V,y]] (* derived 2003 December 31 in BC-I.NB *) subclass[BIGCUP,composite[inverse[E],UCLOSURE]] := True (* derived 2003 December 31 in BC-I.NB *) subclass[BIGCUP,composite[inverse[POWER],S]] := True (* added 2000 September 4 based on NEW.M *) subclass[BIJ,FUNS] := True (* derived 2004 December 27 in FUN-TRV.NB *) subclass[BIJ,image[INVERSE,FUNS]] := True (* added 2003 May 21 based on BINCLOSE.NB *) subclass[binclosed[x_],cliques[domain[VERTSECT[x_]]]] := True (* revised 2003 May 24 based on DIF-DIF.NB *) subclass[binclosed[DIF],binclosed[CAP]] := True (* added 1999 October 7 based on SC5-LOG.3 *) subclass[CAP,composite[inverse[S],FIRST]] := True (* added 1999 October 7 based on SC5-LOG.3 *) subclass[CAP,composite[inverse[S],SECOND]] := True (* added 2001 December 4 based on ON-WO.NB *) subclass[CARD,Q] := True (* derived 2005 April 27 in CARDRANK.NB *) subclass[card[rank[x_]],rank[x_]] := True (* added 1999 November 6 based on SU-CP-0.LOG *) subclass[cart[x_,y_],0] := or[equal[0,x],equal[0,y]] subclass[cart[u_,v_],cart[x_,y_]] := or[equal[0,u],equal[0,v], and[subclass[u,x],subclass[v,y]]] (* derived 2004 June 11 in X702.NB *) subclass[x_,cart[cart[domain[domain[x_]],range[domain[x_]]],range[x_]]] := subclass[x,cart[cart[V,V],V]] (* added 2003 August 8 based on CLIQEQDF.NB *) subclass[cart[cliques[EQUIDIFF],Z],union[DISJOINT,S]] := True (* derived 2004 February 19 in REPLACE2.NB *) subclass[cart[complement[x_],y_],z_] := equal[V,union[x,lb[z,y]]] (* derived 2004 February 19 in REPLACE2.NB *) subclass[cart[x_,complement[y_]],z_] := equal[V,union[y,ub[z,x]]] (* added 2002 January 2 based on CRSRULES.NB *) subclass[cart[u_,v_],cross[x_,y_]] := or[and[subclass[u,cart[V,V]],subclass[v,cart[V,V]], subclass[cart[domain[u],domain[v]],x], subclass[cart[range[u],range[v]],y]],equal[0,u],equal[0,v]] (* added 2002 September 10 based on DJ-DJT.NB *) subclass[cart[x_,y_],DISJOINT] := equal[0,intersection[U[x],U[y]]] (* derived 2004 March 18 in RFX-WRAP.NB *) subclass[x_,cart[domain[x_],range[x_]]] := subclass[x,cart[V,V]] (* derived 2004 August 7 in RS-1.NB *) subclass[x_,cart[domain[x_],V]] := subclass[x,cart[V,V]] (* derived 2004 May 14 in THINPART.NB *) subclass[x_,cart[domain[VERTSECT[x_]],V]] := and[equal[V,domain[VERTSECT[x]]],subclass[x,cart[V,V]]] (* added 2002 September 10 based on DJ-CP.NB *) subclass[cart[x_,y_],E] := subclass[x,A[y]] (* derived 2004 March 18 in RFX-WRAP.NB *) subclass[x_,cart[fix[x_],fix[x_]]] := REFLEXIVE[x] (* added 2002 September 9 based on CP-SU-ID.NB *) subclass[cart[x_,y_],Id] := or[and[equal[x,y], member[x,range[SINGLETON]]],equal[0,x],equal[0,y]] (* added 2002 June 21 based on NATSUB.NB *) subclass[cart[id[omega],id[omega]], composite[inverse[rotate[NATADD]],rotate[NATADD]]] := True (* derived 2004 November 14 in DJ-U.NB *) subclass[cart[image[CART,composite[funpart[x_],inverse[SINGLETON]]], image[CART,composite[funpart[x_],inverse[SINGLETON]]]],union[DISJOINT,Id]] := True (* derived 2004 November 14 in DJ-U.NB *) subclass[cart[image[CART,composite[VERTSECT[x_],inverse[SINGLETON]]], image[CART,composite[VERTSECT[x_],inverse[SINGLETON]]]],union[DISJOINT,Id]] := True (* derived 2004 November 14 in DJ-U.NB *) subclass[cart[image[CART,inverse[SINGLETON]],image[CART,inverse[SINGLETON]]],union[DISJOINT,Id]] := True (* derived 2004 June 6 in EQV-TRV.NB *) subclass[cart[image[eqv[x_],set[y_]],image[eqv[x_],set[y_]]],eqv[x_]] := True (* derived 2005 February 20 in CARD-TWO.NB *) subclass[cart[image[PAIRSET,Di],image[PAIRSET,Di]],Q] := True (* derived 2005 February 20 in CARD-ONE.NB *) subclass[cart[image[Q,set[x_]],image[Q,set[x_]]],Q] := True (* derived 2004 October 12 in CMPCT-OM.NB *) subclass[cart[image[RC[omega],omega],image[RC[omega],omega]],union[S,inverse[S]]] := True (* derived 2004 November 14 in DJ-U.NB *) subclass[cart[image[SINGLETON,x_],image[SINGLETON,x_]],union[DISJOINT,Id]] := True (* derived 2004 November 14 in DJ-U.NB *) subclass[cart[image[VERTSECT[cross[Id,x_]],Id],image[VERTSECT[cross[Id,x_]],Id]],union[DISJOINT,Id]] := True (* added 2003 September 21 based on RFX-CORE.NB *) subclass[u_,cart[intersection[v_,w_],intersection[x_,y_]]] := and[subclass[u,cart[v,x]],subclass[u,cart[w,y]]] (* derived 2004 March 6 in LB-UB-SU.NB *) subclass[cart[intersection[z_,lb[x_,y_]],y_],x_] := True (* added 2002 November 24 based on VERTSECT.NB *) subclass[cart[intersection[x_,set[u_]],intersection[y_,set[v_]]],w_] := or[member[pair[u,v],w],not[member[u,x]],not[member[v,y]]] (* derived 2004 March 6 in LB-UB-SU.NB *) subclass[cart[y_,intersection[z_,ub[x_,y_]]],x_] := True (* derived 2004 March 9 in IDEMLTGT.NB *) subclass[cart[intersection[x_,y_],ub[z_,x_]],z_] := True (* added 2001 November 6 based on CP-SU.NB *) subclass[cart[x_,y_],inverse[z_]] := subclass[cart[y,x],z] (* derived 2004 February 19 in REPLACE2.NB *) subclass[cart[lb[x_,y_],y_],x_] := True (* derived 2004 December 21 in COMUTANT.NB *) subclass[cart[x_,lb[COMMUTE,x_]],COMMUTE] := True (* derived 2004 March 9 in IDEMLTGT.NB *) subclass[cart[lb[x_,y_],intersection[y_,z_]],x_] := True (* derived 2004 February 25 in HULLUBLB.NB *) subclass[cart[lb[x_,z_],ub[x_,lb[x_,y_]]],x_] := subclass[cart[lb[x,z],y],x] (* derived 2004 February 25 in HULLUBLB.NB *) subclass[cart[lb[x_,ub[x_,y_]],ub[x_,z_]],x_] := subclass[cart[y,ub[x,z]],x] (* added 2002 June 8 based on POWER-SU..NB *) subclass[cart[omega,id[fix[x_]]],power[x_]] := True (* added 2002 May 13 based on OM-SC-3.NB *) subclass[cart[omega,omega],union[E,composite[inverse[E],SUCC]]] := True (* added 2002 October 3 based on MONOSUB1.NB *) subclass[cart[omega,omega],union[S,inverse[E]]] := True (* added 2001 November 11 based on CHAINS.NB *) subclass[cart[omega,omega],union[S,inverse[S]]] := True (* added 2000 December 12 based on ON-ORD-5.NB *) subclass[cart[OMEGA,OMEGA],union[composite[S,SUCC],inverse[S]]] := True (* added 2000 December 12 based on ON-ORD-5.NB *) subclass[cart[OMEGA,OMEGA],union[E,composite[inverse[E],SUCC]]] := True (* Corollary ONORD-6A in ON3 proved 2000 December 12 *) subclass[cart[OMEGA,OMEGA],union[E,inverse[S]]] := True (* added 2000 December 12 based on ON-ORD-5.NB *) subclass[cart[OMEGA,OMEGA],union[S,composite[inverse[SUCC],inverse[S]]]] := True (* Corollary ONORD-6B in ON3 proved 2000 December 12 *) subclass[cart[OMEGA,OMEGA],union[S,inverse[E]]] := True (* Corollary ONORD-5A in ON3 proved 2000 December 12 *) subclass[cart[OMEGA,OMEGA],union[S,inverse[S]]] := True (* derived 2004 December 21 in COMUTANT.NB *) subclass[cart[P[complement[cart[V,V]]],V],COMMUTE] := True (* derived 2004 December 21 in SBCOMMUT.NB *) subclass[cart[P[complement[cart[V,V]]],V],SUBCOMMUTE] := True (* added 2002 December 23 based on REPLACE.NB *) subclass[cart[P[complement[domain[x_]]],V],composite[S,IMAGE[x_]]] := True (* derived 2004 April 20 in ID-REVU.NB *) subclass[cart[P[Id],P[Id]],fix[composite[inverse[CAP],COMPOSE]]] := True (* derived 2004 January 22 in INVAR.NB *) subclass[cart[P[x_],invar[x_]],INVAR] := True (* Theorem Q-RA-SG1 in Q proved 2000 April 27 *) subclass[cart[range[SINGLETON],range[SINGLETON]],Q] := True (* derived 2004 July 15 in X1698.NB *) subclass[cart[range[VERTSECT[eqv[x_]]],range[VERTSECT[eqv[x_]]]],union[DISJOINT,Id]] := True subclass[cart[REGULAR,REGULAR],REGULAR] := True (* added 2001 November 6 based on CP-SU.NB *) subclass[cart[x_,y_],S] := subclass[U[x],A[y]] (* added 2002 October 18 based on SINGLTON.NB *) subclass[cart[set[x_],y_],z_] := or[not[member[x,V]], subclass[y,image[z,set[x]]]] (* added 2002 October 18 based on SINGLTON.NB *) subclass[cart[x_,set[y_]],z_] := or[not[member[y,V]], subclass[x,image[inverse[z],set[y]]]] (* added 2003 June 23 based on T1.NB *) subclass[cart[U[t_],complement[U[t_]]], composite[complement[inverse[E]],id[t_],E]] := True (* derived 2004 February 19 in REPLACE2.NB *) subclass[cart[y_,ub[x_,y_]],x_] := True (* derived 2004 June 26 in X1639.NB *) subclass[x_,cart[union[y_,fix[x_]],union[y_,fix[x_]]]] := REFLEXIVE[union[x,id[y]]] (* derived 2004 December 21 in COMUTANT.NB *) subclass[cart[V,P[complement[cart[V,V]]]],COMMUTE] := True (* derived 2004 December 21 in SBCOMMUT.NB *) subclass[cart[V,P[complement[cart[V,V]]]],SUBCOMMUTE] := True (* added 2002 December 16 based on EQUIDIFF.NB *) subclass[cart[Z,Z],union[DISJOINT,Id]] := True (* added 2000 December 17 based on CLIQUES.NB *) subclass[cliques[x_],domain[UB[x_]]] := True (* derived 2004 February 1 in FINCHAIN.NB *) subclass[cliques[y_],image[inverse[IMAGE[x_]],cliques[composite[x_,y_,inverse[x_]]]]] := subclass[fix[y],domain[VERTSECT[x]]] (* added 2000 December 9 based on IM-CP-0.NB *) subclass[cliques[x_],subvar[x_]] := True (* added 2003 May 23 based on BCL-SU.NB *) subclass[cliques[union[S,inverse[S]]],binclosed[CAP]] := True (* added 2003 May 23 based on BCL-SU.NB *) subclass[cliques[union[S,inverse[S]]],binclosed[CUP]] := True (* derived 2004 February 1 in FINCHAIN.NB *) subclass[cliques[union[S,inverse[S]]],union[fix[composite[E,BIGCAP]],subvar[PS]]] := True (* derived 2003 December 31 in COARSER.NB *) subclass[COARSER,composite[inverse[BIGCUP],BIGCUP]] := True (* derived 2003 December 31 in COARSER.NB *) subclass[COARSER,composite[inverse[UCLOSURE],COARSER,UCLOSURE]] := True (* added 2003 July 4 based on COARSER.NB *) subclass[COARSER,S] := True (* added 2003 July 4 based on COARSER.NB *) subclass[COARSER,cart[V,V]] := True (* added 2003 January 30 *) subclass[COMMUTE,inverse[SUBCOMMUTE]] := True (* added 2003 January 30 *) subclass[COMMUTE,SUBCOMMUTE] := True (* derived 2004 February 7 in COMPACT.NB *) subclass[COMPACT,image[COARSER,FINITE]] := True (* added 2002 September 7 based on REPLACE.NB *) subclass[x_,complement[y_]] := equal[0,intersection[x,y]] (* added 2002 September 7 based on REPLACE.NB *) subclass[complement[x_],y_] := equal[V,union[x,y]] (* Theorems SU-9 and SU-10 in SU1 *) subclass[complement[x_],complement[y_]] := subclass[y,x] (* added 1999 October 16 based on 1999\OCT\15\COMPOSE.1 *) subclass[COMPOSE,cart[V,V]] := True (* derived 2004 March 20 in EQV-WRAP.NB *) subclass[composite[x_,x_],x_] := TRANSITIVE[composite[Id,x]] (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[ACLOSURE,inverse[S]], composite[inverse[S],ACLOSURE]] := True (* added 2002 January 23 based on HULL-ACL.TXT *) subclass[composite[ACLOSURE,S],composite[S,ACLOSURE]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[ACLOSURE,S,inverse[ACLOSURE]],S] := True (* added 2002 April 27 based on FULSUC-D.NB *) subclass[composite[BIGCUP,SUCC],S] := True (* derived 2004 July 15 in X2310-57.NB *) subclass[x_,composite[BIGCUP,VERTSECT[x_]]] := FUNCTION[x] subclass[composite[u_,v_],cart[x_,y_]] := and[ subclass[image[inverse[v],domain[u]],x], subclass[image[u,range[v]],y]] (* added 2001 December 19 based on Q-CP.NB *) subclass[composite[CART,cross[Q,Q],inverse[CART]],Q] := True (* added 2001 December 18 based on DORA.NB *) subclass[composite[CART,DORA],composite[S,IMAGE[id[cart[V,V]]]]] := True (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[CLIQUES,inverse[S]], composite[inverse[S],CLIQUES]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[CLIQUES,S],composite[S,CLIQUES]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[CLIQUES,S,inverse[CLIQUES]],S] := True (* derived 2003 December 31 in COARSER.NB *) subclass[composite[COARSER,inverse[COARSER]],composite[inverse[BIGCUP],BIGCUP]] := True (* derived 2003 December 31 in COARSER.NB *) subclass[composite[COARSER,inverse[UCLOSURE]],composite[inverse[UCLOSURE],COARSER]] := True (* derived 2004 May 14 based on SPECIAL.NB *) subclass[composite[x_,complement[composite[inverse[x_],complement[y_]]]],y_] := True (* added 2002 March 17 based on TRVCLOS.NB *) subclass[composite[COMPOSE,cross[HULL[TRV],HULL[TRV]]], composite[inverse[S],HULL[TRV],CUP]] := True (* added 1998 September 10 *) subclass[composite[x_,y_],composite[Id,z_]] := subclass[composite[x,y],z] (* added 2003 June 18 based on CUT-CORE.NB *) subclass[composite[CORE[x_],inverse[S]], composite[inverse[S],CORE[x_]]] := True (* added 2003 June 18 based on CUT-CORE.NB *) subclass[composite[CORE[x_],S],composite[S,CORE[x_]]] := True (* added 2003 June 18 based on CUT-CORE.NB *) subclass[composite[CORE[x_],S,inverse[CORE[x_]]],S] := True (* derived 2004 March 23 in ADJECT.NB *) subclass[composite[CUP,id[cart[V,x_]],inverse[FIRST]], composite[CUP,id[cart[V,y_]],inverse[FIRST]]] := subclass[x,y] (* derived 2005 January 6 in DJ-U-Q.NB *) subclass[composite[CUP,id[DISJOINT],cross[Q,Q],id[DISJOINT],inverse[CUP]],Q] := True (* derived 2004 July 15 in X2310-57.NB *) subclass[composite[CUP,id[x_],inverse[FIRST]],S] := True (* added 2003 October 15 based on ACYCLIC.NB *) subclass[composite[CUP,id[INVERSE],inverse[FIRST]],S] := True (* derived 2004 January 22 in INVAR.NB *) subclass[composite[DISJOINT,IMAGE[FIRST]],INVAR] := True (* derived 2004 June 18 in X1400.NB *) subclass[composite[DUP,Di],composite[Di,DUP]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) subclass[composite[E,x_],composite[E,y_]] := subclass[composite[Id,x],y] (* derived 2004 June 28 in X2200.NB *) subclass[composite[E,x_],E] := subclass[composite[Id,x],Id] (* derived 2004 October 7 in HULL-I.NB *) subclass[composite[x_,E],E] := subclass[composite[Id,x],S] (* derived 2005 April 23 in FACT-S.NB *) subclass[composite[FACTORIAL,E],composite[S,FACTORIAL]] := True (* derived 2005 April 21 in FACT-DIV.NB *) subclass[composite[FACTORIAL,E],union[DIV,cart[set[0],omega]]] := True (* derived 2005 April 21 in FACT-DIV.NB *) subclass[composite[FACTORIAL,id[complement[set[0]]]],DIV] := True (* derived 2005 April 23 in FACT-S.NB *) subclass[composite[FACTORIAL,S,id[omega]],composite[S,FACTORIAL]] := True (* derived 2005 April 21 in FACT-DIV.NB *) subclass[composite[FACTORIAL,S,id[omega]],union[DIV,cart[set[0],omega]]] := True (* derived 2005 April 23 in FACT-S.NB *) subclass[composite[FACTORIAL,S,inverse[FACTORIAL]],S] := True (* derived 2004 November 6 in IMIM-CAP.NB *) subclass[composite[FIRST,id[S]],CAP] := True (* derived 2004 June 17 in X1366.NB *) subclass[composite[funpart[x_],y_],composite[y_,funpart[x_]]] := and[subclass[composite[funpart[x],y,inverse[funpart[x]]],y], subclass[image[inverse[y],domain[funpart[x]]],domain[funpart[x]]]] (* derived 2004 February 14 in LUB-FU.NB *) subclass[composite[GLB[x_],inverse[GLB[x_]]],x_] := True (* derived 2004 February 12 in LEASTFUN.NB *) subclass[composite[GREATEST[x_],inverse[GREATEST[x_]]],x_] := True (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[HC,inverse[S]], composite[inverse[S],HC]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[HC,S],composite[S,HC]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[HC,S,inverse[HC]],S] := True (* derived 2004 July 22 in X22--.NB *) subclass[composite[HULL[x_],E],E] := True (* derived 2004 October 7 in BC-IM-PC.NB *) subclass[composite[HULL[x_],inverse[S]],composite[inverse[S],HULL[x_]]] := or[equal[0,x],equal[V,image[inverse[S],x]]] (* added 2002 February 7 based on MONOTONE.NB *) subclass[composite[HULL[x_],S],composite[S,HULL[x_]]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[HULL[x_],S,inverse[HULL[x_]]],S] := True (* Theorem ID-CO1 in ID-CO *) subclass[composite[Id,z_],z_] := True (* added 2000 January 8 based on SU-RS.NB *) subclass[x_,composite[Id,y_]] := and[subclass[x,y],subclass[x,cart[V,V]]] (* Theorem IDX-2B in IDX1 *) subclass[composite[id[x_],y_],y_] := True (* Theorem IDX-2A in IDX1 *) subclass[composite[x_,id[y_]],x_] := True (* added 2000 January 8 based on SU-RS.NB *) subclass[x_,composite[y_,id[z_]]] := and[subclass[x,y],subclass[x,cart[z,V]]] (* added 2000 January 8 based on SU-RS.NB *) subclass[x_,composite[id[z_],y_]] := and[subclass[x,y],subclass[x,cart[V,z]]] (* added 2002 October 27 based on NATMUL.NB *) subclass[composite[Id,complement[x_]],y_] := subclass[cart[V,V],union[x,y]] (* added 2002 September 8 based on REPLACE.NB *) subclass[composite[id[w_],complement[x_],id[y_]],z_] := subclass[cart[y,w],union[x,z]] (* added 2002 November 30 based on SU-IMV.NB *) subclass[composite[w___,id[complement[image[V,x_]]],y___],z_] := or[not[equal[0,x]],subclass[composite[w,y],z]] (* derived 2005 February 3 in WF-DIV.NB *) subclass[composite[id[complement[set[0]]],intersection[Di,DIV]],E] := True (* added 2002 October 11 based on MUL-SU-S.NB *) subclass[composite[id[complement[set[0]]],NATMUL],composite[S,CUP]] := True (* added 2000 December 20 based on BA-BC.NB *) subclass[composite[x___,id[w_],y___],composite[x___,y___]] := True (* derived 2004 March 9 in CO-S.NB *) subclass[composite[Id,x_],composite[inverse[S],x_]] := True (* derived 2004 March 9 in CO-S.NB *) subclass[composite[Id,x_],composite[x_,inverse[S]]] := True (* derived 2004 March 9 in CO-S.NB *) subclass[composite[Id,x_],composite[S,x_]] := True (* derived 2004 March 9 in CO-S.NB *) subclass[composite[Id,x_],composite[x_,S]] := True (* derived 2005 January 6 in DJ-U-Q.NB *) subclass[composite[id[DISJOINT],cross[Q,Q],id[DISJOINT]],composite[inverse[CUP],Q,CUP]] := True (* added 2003 June 23 based on T1.NB *) subclass[composite[id[t_],E,FIRST,id[cart[V,complement[U[t_]]]]], composite[complement[INVAR],SINGLETON]] := True (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[id[FULL],inverse[S]], composite[inverse[S],HC]] := True (* added 2000 January 8 based on SU-RS.NB *) subclass[composite[id[FULL],S],composite[S,TC]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[id[FULL],S,inverse[TC]],S] := True (* derived 2004 November 21 in FUNP-DO.NB *) subclass[composite[Id,x_],funpart[x_]] := FUNCTION[composite[Id,x]] (* derived 2004 November 21 in FUNP-DO.NB *) subclass[composite[x_,id[y_]],funpart[x_]] := FUNCTION[composite[x,id[y]]] subclass[composite[id[x_],z_,id[y_]],z_] := True (* derived 2004 June 26 in X1509.NB *) subclass[composite[id[z_],x_,id[y_],inverse[x_],id[z_]],Id] := FUNCTION[composite[id[z],x,id[y]]] (* added 2002 November 30 based on SU-IMV.NB *) subclass[composite[w___,id[image[V,x_]],y___],z_] := or[equal[0,x],subclass[composite[w,y],z]] (* derived 2004 January 2 in BNCL-FIN.NB *) subclass[composite[id[intersection[binclosed[CUP],complement[P[complement[set[0]]]]]],S, IMAGE[SINGLETON]],composite[S,IMAGE[id[FINITE]],POWER]] := True (* added 2002 November 30 based on SU-IMV.NB *) subclass[composite[u___,id[intersection[v_,complement[image[V,w_]]]],x___],y_] := or[not[equal[0,w]],subclass[composite[u,id[v],x],y]] (* added 2002 November 30 based on SU-IMV.NB *) subclass[composite[u___,id[intersection[v_,image[V,w_]]],x___],y_] := or[equal[0,w],subclass[composite[u,id[v],x],y]] (* derived 2004 June 26 in X1457.NB *) subclass[composite[id[x_],inverse[FIRST],FIRST,id[x_]],Id] := FUNCTION[composite[Id,x]] (* derived 2004 June 26 in X1509.NB *) subclass[composite[x_,id[y_],inverse[x_]],Id] := FUNCTION[composite[x,id[y]]] (* derived 2004 December 18 in PO-BIJ.NB *) subclass[composite[id[y_],inverse[x_],x_,id[y_]],Id] := FUNCTION[composite[id[y],inverse[x]]] (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[id[x_],inverse[S]],composite[inverse[S],CORE[x_]]] := True (* derived 2004 June 26 in X1457.NB *) subclass[composite[id[x_],inverse[SECOND],SECOND,id[x_]],Id] := FUNCTION[inverse[x]] (* added 2002 May 11 based on OM-1.NB *) subclass[composite[id[omega],E],S] := True (* added 2002 May 7 based on EXAMPLES.NB *) subclass[composite[id[OMEGA],E],S] := True (* added 2003 June 2 based on ON-CO.NB *) subclass[composite[id[OMEGA],inverse[BIGCUP],E],E] := True (* derived 2005 February 8 in X3595.NB *) subclass[composite[id[OMEGA],PS,id[FULL]],E] := True (* derived 2003 December 24 based on ON-SC.NB *) subclass[composite[id[OMEGA],S,id[OMEGA]],composite[inverse[SUCC],E]] := True (* derived 2005 January 7 in K-SUCC.NB *) subclass[composite[id[omega],SUCC],K] := True (* derived 2005 January 6 in K-ON-SUC.NB *) subclass[composite[id[OMEGA],SUCC],K] := True (* derived 2005 February 8 in X3608.NB *) subclass[composite[id[x_],PS,id[FULL]],E] := subclass[x,OMEGA] (* derived 2004 December 31 in IN-RK.NB *) subclass[composite[id[REGULAR],E],composite[inverse[RANK],inverse[IMAGE[inverse[RANK]]],E]] := True (* derived 2004 August 14 in RANK.NB *) subclass[composite[id[REGULAR],S],composite[inverse[RANK],S,RANK]] := True (* derived 2005 January 13 in REG-SUCC.NB *) subclass[composite[id[REGULAR],SUCC],K] := True (* derived 2005 February 8 in X3608.NB *) subclass[composite[id[x_],S,id[FULL]],composite[inverse[SUCC],E]] := subclass[x,OMEGA] (* added 2002 May 25 based on OM-INVAR.NB *) subclass[composite[id[x_],SUCC],E] := True (* added 2002 March 24 based on TRV-1.NB *) subclass[composite[Id,x_],trv[x_]] := True (* derived 2005 January 18 in CP-Q.NB *) subclass[composite[IMAGE[ASSOC],id[P[cart[cart[V,V],V]]]],Q] := True (* derived 2004 June 18 in X1400.NB *) subclass[composite[IMAGE[DUP],Di],composite[Di,IMAGE[DUP]]] := True (* Theorem Q-FS1 in Q proved 2000 April 30 *) subclass[composite[IMAGE[FIRST],id[FUNS]],Q] := True (* derived 2004 August 19 in X2901-93.NB *) subclass[composite[IMAGE[x_],IMAGE[y_]],IMAGE[composite[x_,y_]]] := True (* derived 2004 December 31 in IN-RK.NB *) subclass[composite[IMAGE[inverse[RANK]],RANK],S] := True (* added 2001 May 11 based on MONO-3.NB *) subclass[composite[IMAGE[x_],inverse[S]],composite[inverse[S],IMAGE[x_]]] := equal[V,domain[VERTSECT[x]]] (* derived 2005 January 18 in OO-Q.NB *) subclass[composite[IMAGE[oopart[x_]],id[P[domain[oopart[x_]]]]],Q] := True (* Theorem IMG-SR-1 in IMG3 proved 1997 September 16 *) subclass[composite[IMAGE[x_],S],composite[S,IMAGE[x_]]] := True (* added 2001 May 11 based on MONO-2.NB *) subclass[composite[IMAGE[x_],S,inverse[IMAGE[x_]]],S] := True (* added 2003 August 9 based on INTADDXY.NB *) subclass[composite[x_,y_],intadd[x_,y_]] := True (* derived 2004 March 4 in RELATION.NB *) subclass[composite[intersection[x_,y_],z_],composite[x_,z_]] := True (* derived 2004 March 4 in RELATION.NB *) subclass[composite[x_,intersection[y_,z_]],composite[x_,y_]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) subclass[composite[intersection[Di,x_],intersection[Di,x_]],x_] := TRANSITIVE[composite[Id,x]] (* derived 2004 May 14 based on SPECIAL.NB *) subclass[composite[inverse[x_],complement[y_]],z_] := subclass[composite[x,complement[z]],y] (* derived 2004 July 22 in X22--.NB *) subclass[composite[inverse[CORE[x_]],E],E] := True (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[inverse[E],ACLOSURE], composite[inverse[S],BIGCUP]] := True (* added 2003 June 6 based on ACL-UCL.NB *) subclass[composite[inverse[E],ACLOSURE],composite[S,BIGCAP]] := True (* derived 2004 March 30 in CO-ES-ID.NB *) subclass[composite[x_,inverse[E]],composite[y_,inverse[E]]] := subclass[composite[Id,x],y] (* derived 2004 June 15 in X12--.NB *) subclass[composite[inverse[E],id[x_]],composite[inverse[E],IMAGE[id[y_]]]] := subclass[U[x],y] (* derived 2005 February 12 in IND.NB *) subclass[composite[inverse[E],id[image[IMAGE[id[omega]],invar[SUCC]]]],composite[S,RC[omega]]] := True (* derived 2005 February 12 in IND.NB *) subclass[composite[inverse[E],id[image[IMAGE[id[omega]],invar[SUCC]]],RC[omega]],S] := True (* derived 2004 February 14 in LUB-SET.NB *) subclass[composite[inverse[E],inverse[GLB[x_]]],x_] := True (* added 2002 March 27 based on TRV.NB *) subclass[composite[inverse[E],TC],ZN] := True (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[inverse[E],UCLOSURE], composite[inverse[S],BIGCUP]] := True (* added 2000 October 5 based on SV.NB *) subclass[composite[x_,inverse[x_]],Id] := FUNCTION[composite[Id,x]] (* added 2002 April 27 based on FULSUC-D.NB *) subclass[composite[x_,inverse[x_]],id[y_]] := and[FUNCTION[composite[Id,x]],subclass[range[x],y]] (* added 2001 December 19 based on INV-IM.NB *) subclass[composite[inverse[x_],x_],Id] := FUNCTION[inverse[x]] (* derived 2004 June 26 in X1509.NB *) subclass[composite[inverse[x_],id[y_],x_],Id] := FUNCTION[composite[inverse[x],id[y]]] (* added 1998 September 10 *) subclass[composite[x_,y_],inverse[z_]] := subclass[composite[inverse[y],inverse[x]],z] (* added 2001 December 17 based on Q-HAT.NB *) subclass[composite[inverse[CARD],CARD],Q] := True (* added 2001 January 2 based on TC-SU.NB *) subclass[composite[inverse[E],BIGCUP,TC], composite[inverse[E],TC]] := True (* added 2001 December 24 based on CLIQUES.NB *) subclass[composite[inverse[E],id[cliques[x_]],E],x_] := True (* added 2003 June 23 based on T1.NB *) subclass[composite[inverse[E],id[t_],DISJOINT,id[t_],E], composite[complement[inverse[E]],id[t_],E]] := True (* derived 2004 August 15 in SU-IMG-E.NB *) subclass[composite[inverse[E],IMAGE[x_]],composite[x_,inverse[E]]] := True (* added 2001 February 27 based on STUDY.NB *) subclass[composite[inverse[IMAGE[id[x_]]],E],E] := True (* derived 2005 January 5 in IMRK-S.NB *) subclass[composite[x_,inverse[IMAGE[thinpart[y_]]]],S] := subclass[composite[Id,x],composite[S,IMAGE[thinpart[y]]]] (* derived 2004 March 4 in RELATION.NB *) subclass[composite[inverse[y_],inverse[x_]],composite[inverse[x_],inverse[y_]]] := subclass[composite[x,y],composite[y,x]] (* derived 2004 June 16 in X1345.NB *) subclass[composite[inverse[x_],inverse[y_]],Id] := subclass[composite[y,x],Id] (* derived 2004 October 2 in FUNCTION.NB *) subclass[composite[x_,y_,inverse[y_],inverse[x_]],Id] := FUNCTION[composite[x,y]] (* added 2003 August 9 based on ASS-ADDZ.NB *) subclass[composite[inverse[plus[w_]],plus[x_],inverse[plus[y_]],plus[z_]], composite[inverse[plus[natadd[w_,y_]]],plus[natadd[x_,z_]]]] := True (* derived 2005 January 5 in RANK-S.NB *) subclass[composite[inverse[RANK],inverse[S]],ZN] := True (* derived 2004 March 9 in CO-S.NB *) subclass[x_,composite[x_,inverse[S]]] := subclass[x,cart[V,V]] (* derived 2004 March 9 in CO-S.NB *) subclass[x_,composite[inverse[S],x_]] := subclass[x,cart[V,V]] (* derived 2004 July 23 in X23--.NB *) subclass[x_,composite[inverse[S],VERTSECT[y_]]] := and[subclass[x,cart[V,V]],subclass[composite[inverse[E],x],y],subclass[domain[x],domain[VERTSECT[y]]]] (* added 2002 May 28 based on IND-BC.NB *) subclass[composite[inverse[SUCC],id[OMEGA]],BIGCUP] := True (* derived 2004 December 18 in QO-FU.NB *) subclass[x_,composite[inverse[VERTSECT[x_]],inverse[S],VERTSECT[x_]]] := and[equal[V,domain[VERTSECT[x]]],TRANSITIVE[x]] (* Theorem Q-ADJ-K in Q proved 2000 May 20 *) subclass[composite[K,inverse[K]],Q] := True (* derived 2004 February 12 in LEASTFUN.NB *) subclass[composite[LEAST[x_],inverse[LEAST[x_]]],x_] := True (* derived 2004 February 14 in LUB-FU.NB *) subclass[composite[LUB[x_],E],x_] := True (* derived 2004 February 14 in LUB-FU.NB *) subclass[composite[LUB[x_],inverse[LUB[x_]]],x_] := True (* added 2003 May 7 based on MAP-MONO.NB *) subclass[composite[MAP,cross[Id,S]],composite[S,MAP]] := True (* added 2003 May 7 based on MAP-MONO.NB *) subclass[composite[MAP,LEFT[x_],S],composite[S,MAP,LEFT[x_]]] := True (* derived 2005 April 21 in FACT-DIV.NB *) subclass[composite[NATMUL,id[x_],inverse[FIRST]],DIV] := True (* derived 2005 April 23 in FACT-S.NB *) subclass[composite[NATMUL,intersection[composite[inverse[FIRST],x_],composite[inverse[SECOND],y_]]],composite[DIV,x_]] := True (* derived 2005 April 23 in FACT-S.NB *) subclass[composite[NATMUL,intersection[composite[inverse[FIRST],x_],composite[inverse[SECOND],y_]]],composite[DIV,y_]] := True (* added 2002 August 30 based on DIVIDES.NB *) subclass[composite[NATMUL,LEFT[x_]],DIV] := True (* added 2002 October 11 based on MUL-SU-S.NB *) subclass[composite[NATMUL,LEFT[x_]],S] := not[equal[0,x]] (* added 2002 September 1 based on MONO-MUL.NB *) subclass[composite[NATMUL,LEFT[x_],S,id[omega]], composite[S,NATMUL,LEFT[x_]]] := True (* derived 2004 June 19 in REPLACE.NB *) subclass[composite[oopart[x_],inverse[x_]],Id] := True (* added 2003 August 8 based on REPLACE.NB *) subclass[composite[plus[x_],inverse[plus[y_]]],composite[inverse[plus[y_]],plus[x_]]] := True (* added 2003 July 4 based on COARSER.NB *) subclass[composite[POWER,BIGCUP],COARSER] := True (* derived 2004 April 24 in BA-BC.NB *) subclass[composite[POWER,BIGCUP],composite[S,ACLOSURE]] := True (* added 2001 August 30 based on BC-BA-RC.NB *) subclass[composite[POWER,BIGCUP],S] := True (* added 2003 June 29 based on POWER.NB *) subclass[composite[POWER,Di],composite[Di,POWER]] := True (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[POWER,inverse[S]],composite[inverse[S],POWER]] := True (* derived 2005 February 5 in X3222.NB *) subclass[composite[POWER,inverse[SINGLETON]],IMAGE[inverse[S]]] := True (* added 2003 May 11 based on Q-PC.NB *) subclass[composite[POWER,Q],composite[Q,POWER]] := True (* added 2002 March 28 based on TRV.NB *) subclass[composite[PS,PS],S] := True (* derived 2004 December 31 in IN-RK.NB *) subclass[composite[RANK,E],composite[inverse[IMAGE[inverse[RANK]]],E]] := True (* derived 2004 December 31 in IN-RK.NB *) subclass[composite[RANK,inverse[IMAGE[RANK]]],S] := True (* derived 2004 April 26 in RCCORERC.NB *) subclass[composite[RC[x_],CORE[y_],RC[x_]],S] := True (* derived 2004 June 18 in X1400.NB *) subclass[composite[RCF,Di],composite[Di,RCF]] := True (* derived 2004 March 9 in CO-S.NB *) subclass[x_,composite[S,x_]] := subclass[x,cart[V,V]] (* derived 2004 March 9 in CO-S.NB *) subclass[x_,composite[x_,S]] := subclass[x,cart[V,V]] (* added 2002 September 15 based on NATADDEZ.NB *) subclass[composite[S,CUP],composite[S,FIRST]] := True (* added 2002 September 15 based on NATADDEZ.NB *) subclass[composite[S,CUP],composite[S,SECOND]] := True (* added 1998 August 7 *) subclass[composite[S,POWER],E] := True (* added 2000 January 8 based on SU-SR.TXT *) subclass[composite[x_,S],S] := subclass[composite[Id,x],S] (* added 2000 January 8 based on SU-SR.TXT *) subclass[composite[S,x_],S] := subclass[composite[Id,x],S] (* added 2003 February 6 based on OM-SC-2B.NB *) subclass[composite[S,SUCC],E] := True (* derived 2004 July 16 in X1903-46.NB *) subclass[composite[S,x_],union[x_,composite[PS,x_]]] := True (* added 2001 October 7 based on 1ST-2ND.NB *) subclass[composite[SECOND,id[x_]],composite[y_,FIRST]] := subclass[composite[Id,x],y] (* derived 2004 November 6 in IMIM-CAP.NB *) subclass[composite[SECOND,id[inverse[S]]],CAP] := True (* derived 2004 June 18 in X1400.NB *) subclass[composite[SINGLETON,Di],composite[Di,SINGLETON]] := True (* derived 2004 November 21 in FU-VS.NB *) subclass[composite[SINGLETON,x_],E] := subclass[composite[Id,x],Id] (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[SINGLETON,inverse[S]],composite[inverse[S],POWER]] := True (* derived 2004 November 21 in FU-VS.NB *) subclass[composite[SINGLETON,x_],VERTSECT[x_]] := FUNCTION[composite[Id,x]] (* added 2000 December 9 based on SUBVAR.NB *) subclass[composite[SUBVAR,S,CART,DUP],E] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[SUBVAR,S],composite[S,SUBVAR]] := True (* derived 2004 February 28 in IM-IN.NB *) subclass[composite[SUBVAR,S,IMAGE[DUP]],E] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[SUBVAR,S,inverse[SUBVAR]],S] := True (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[TC,inverse[S]], composite[inverse[S],TC]] := True (* added 2002 March 28 based on TRV.NB *) subclass[composite[x_,x_],trv[x_]] := True (* derived 2004 March 21 in TRV-WRAP.NB *) subclass[composite[trv[x_],y_],y_] := subclass[composite[x,y],y] (* added 2002 March 27 based on TRV.NB *) subclass[composite[x_,trv[x_]],trv[x_]] := True (* added 2002 March 27 based on TRV.NB *) subclass[composite[trv[x_],x_],trv[x_]] := True (* derived 2004 August 28 in TRV-CO.NB *) subclass[composite[u___,trv[x_],trv[x_],v___],composite[u___,trv[x_],v___]] := True (* derived 2004 June 16 in TRANSVAR.NB *) subclass[composite[x_,U[subcommutant[x_]]],composite[U[subcommutant[x_]],x_]] := True (* derived 2005 February 5 in X2632.NB *) subclass[composite[U[transvar[cross[x_,Id],cross[Id,y_]]],inverse[x_]],composite[y_,U[transvar[cross[x_,Id],cross[Id,y_]]]]] := True (* derived 2003 December 31 in COARSER.NB *) subclass[composite[UCLOSURE,COARSER],composite[COARSER,UCLOSURE]] := True (* derived 2003 December 31 in COARSER.NB *) subclass[composite[UCLOSURE,COARSER,inverse[UCLOSURE]],COARSER] := True (* added 2002 February 16 based on THINRULE.NB *) subclass[composite[UCLOSURE,inverse[S]],composite[inverse[S],UCLOSURE]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[UCLOSURE,S],composite[S,UCLOSURE]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[composite[UCLOSURE,S,inverse[UCLOSURE]],S] := True (* derived 2004 February 25 in HULLUBLB.NB *) subclass[composite[VERTSECT[complement[composite[complement[x_],LB[x_]]]],S], composite[S,VERTSECT[complement[composite[complement[x_],LB[x_]]]]]] := True (* derived 2004 February 25 in HULLUBLB.NB *) subclass[composite[VERTSECT[complement[composite[complement[x_],LB[x_]]]],S, inverse[VERTSECT[complement[composite[complement[x_],LB[x_]]]]]],S] := True (* derived 2004 Agust 13 in X4015-56.NB *) subclass[composite[ZN,inverse[E]],ZN] := True (* added 2004 April 17 based on CORE.NB *) subclass[core[x_,y_],y_] := True (* added 2001 October 25 based on COREHULL.NB *) subclass[CORE[x_],inverse[S]] := True (* derived 2004 July 20 in X2081.NB *) subclass[CORE[RFX],composite[CAP,id[cart[V,image[CART,Id]]],inverse[FIRST]]] := True (* derived 2004 April 18 in CORE-IVR.NB *) subclass[core[x_,y_],U[x_]] := True subclass[cross[u_,v_],cart[x_,y_]] := and[subclass[cart[domain[u],domain[v]],x], subclass[cart[range[u],range[v]],y]] (* added 2001 December 26 based on CMT-X.NB *) subclass[cross[COMMUTE,COMMUTE], composite[inverse[CROSS],COMMUTE,CROSS]] := True subclass[cross[x_,y_],composite[inverse[FIRST],x_,FIRST]] := True subclass[cross[x_,y_],composite[inverse[SECOND],y_,SECOND]] := True (* derived 2004 June 4 in X-DUP-SU.NB *) subclass[cross[x_,x_],cross[y_,y_]] := subclass[composite[Id,x],y] (* added 1999 October 7 based on SC5-LOG.2 *) subclass[CUP,composite[S,FIRST]] := True (* added 1999 October 7 based on SC5-LOG.2 *) subclass[CUP,composite[S,SECOND]] := True (* derived 2004 December 30 in REPLACE.NB *) subclass[DESCENDING,set[0]] := AxReg (* derived 2005 February 8 in X1734.NB *) subclass[DESCENDING,union[image[inverse[ADJOIN[set[x_]]],DESCENDING],P[complement[x_]]]] := True (* added 2001 March 4 based on SU-PS.NB *) subclass[x_,Di] := and[equal[0,fix[x]],subclass[x,cart[V,V]]] (* added 1999 September 27 based on SU-CP.LOG *) subclass[Di,cart[x_,y_]] := and[equal[V,x],equal[V,y]] (* added 1999 October 26 based on DIF-LOG.1 *) subclass[DIF,cart[V,V]] := True (* added 1999 October 26 based on DIF-LOG.1 *) subclass[DIF,cart[cart[V,V],V]] := True (* added 2001 November 8 based on IMS.NB *) subclass[DIF,composite[inverse[S],FIRST]] := True subclass[DISJOINT,cart[x_,y_]] := and[equal[V,x],equal[V,y]] (* derived 2005 January 29 in DIV.NB *) subclass[DIV,union[cart[omega,set[0]],composite[id[omega],S,id[omega]]]] := True (* added 2002 September 2 based on DIV-PO.NB *) subclass[DIV,union[S,cart[omega,set[0]]]] := True (* derived 2004 November 21 in FUNP-DO.NB *) subclass[y_,domain[funpart[x_]]] := and[FUNCTION[composite[x,id[y]]],subclass[y,domain[x]]] (* derived 2004 May 14 in THINPART.NB *) subclass[domain[x_],domain[VERTSECT[x_]]] := equal[V,domain[VERTSECT[x]]] (* added 2000 December 15 based on DO-C-FNP.NB *) subclass[domain[funpart[x_]],domain[x_]] := True (* Theorem VS-FNP in VS1 proved 2000 February 12 *) subclass[domain[funpart[x_]],domain[VERTSECT[x_]]] := True (* derived 2004 October 26 in AXCH.NB *) subclass[domain[funpart[x_]],fix[composite[y_,funpart[x_]]]] := subclass[funpart[x],inverse[y]] (* derived 2004 June 12 in X1228.NB *) subclass[domain[funpart[x_]],fix[composite[inverse[y_],funpart[x_]]]] := subclass[funpart[x],y] (* added 2002 April 15 based on ITERATE.NB *) subclass[domain[iterate[x_,y_]],omega] := True (* added 2003 June 9 based on BOUNDED.NB *) subclass[domain[LB[x_]],cliques[composite[x_,inverse[x_]]]] := True (* added 2003 June 5 based on FUNFAMILY.NB *) subclass[domain[LB[x_]],FUNS] := and[FUNCTION[rotate[inverse[x]]],subclass[range[x],cart[V,V]]] (* added 2002 June 8 based on POWER-SU..NB *) subclass[domain[power[x_]],omega] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[domain[rec[x_,y_]],domain[domain[x_]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[domain[rec[x_,y_]],domain[VERTSECT[y_]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[domain[rec[x_,y_]],domain[VERTSECT[trv[y_]]]] := True (* derived 2005 January 26 in REMOVED.NB *) subclass[domain[thinpart[x_]],domain[VERTSECT[x_]]] := True (* added 2000 December 18 based on LB-LB.NB *) subclass[domain[UB[x_]],cliques[composite[inverse[x_],x_]]] := True (* derived 2004 August 4 in THIN-DO.NB *) subclass[domain[UB[composite[E,x_]]],image[IMAGE[FIRST],P[x_]]] := True (* added 2003 June 5 based on FUNFAMILY.NB *) subclass[domain[UB[x_]],FUNS] := and[FUNCTION[rotate[x]],subclass[domain[x],cart[V,V]]] (* derived 2004 June 6 in REPLACE.NB *) subclass[domain[VERTSECT[trv[x_]]],domain[VERTSECT[x_]]] := True (* derived 2004 June 6 in REPLACE.NB *) subclass[domain[VERTSECT[trv[x_]]],domain[VERTSECT[eqv[x_]]]] := True (* modified 1998 August 21 *) subclass[DUP,cart[x_,y_]] := and[equal[V,x],equal[V,fix[y]]] (* added 2001 December 29 based on X-FU-FP.NB *) subclass[DUP,inverse[FIRST]] := True (* added 2001 December 29 based on X-FU-FP.NB *) subclass[DUP,inverse[SECOND]] := True (* derived 2004 June 28 in X2200.NB *) subclass[E,composite[E,x_]] := equal[V,fix[x]] (* derived 2004 June 17 in X1337-65.NB *) subclass[E,composite[inverse[IMAGE[inverse[S]]],E]] := True (* derived 2005 January 20 in X1928.NB *) subclass[E,composite[K,complement[E]]] := True (* derived 2004 April 8 in SU-ID.NB *) subclass[E,Id] := False (* derived 2004 March 20 in EQV-WRAP.NB *) subclass[EQV,fix[composite[inverse[CLIQUES],S,IMAGE[SECOND],VS]]] := True (* derived 2004 December 14 in IDEMPROJ.NB *) subclass[EQV,IDEM] := True (* derived 2004 December 7 in ASV-DIV.NB *) subclass[EQV,image[IMAGE[cross[FIRST,Id]],ASSOCIATIVE]] := True (* added 2001 October 28 based on EQV.NB *) subclass[EQV,invar[composite[DUP,FIRST]]] := True (* added 2001 October 28 based on EQV.NB *) subclass[EQV,invar[composite[DUP,SECOND]]] := True (* added 2001 October 28 based on EQV.NB *) subclass[EQV,RFX] := True (* added 2001 October 28 based on EQV.NB *) subclass[EQV,SYM] := True (* added 2001 October 28 based on EQV.NB *) subclass[EQV,TRV] := True (* derived 2004 June 6 in EQV-TRV.NB *) subclass[eqv[x_],trv[x_]] := True (* derived 2005 April 23 in FACT-S.NB *) subclass[FACTORIAL,S] := True (* derived 2005 April 21 in FACT-DIV.NB *) subclass[FACTORIAL,union[DIV,cart[set[0],omega]]] := True (* derived 2004 February 7 in COMPACT.NB *) subclass[FINITE,COMPACT] := True (* Theorem DK-FIN in DK proved 2000 June 2 *) subclass[FINITE,DEDEKIND] := True (* added 2001 December 19 based on SETHOOD2.NB *) subclass[FINITE,image[Q,OMEGA]] := True (* derived 2004 November 2 in SELECT.NB *) subclass[FINITE,SELECT] := True subclass[FIRST,cart[x_,y_]] := and[subclass[cart[V,V],x],equal[V,y]] (* added 2003 May 23 based on CORE-BCL.NB *) subclass[fix[ACLOSURE],binclosed[CAP]] := True (* added 1998 August 27 *) subclass[fix[BIGCUP],FULL] := True (* added 2002 May 25 based on INVAR.NB *) subclass[fix[BIGCUP],subvar[inverse[E]]] := True (* added 2001 December 17 based on Q-HAT.NB *) subclass[fix[CARD],image[Q,OMEGA]] := True (* added 2001 December 10 based on CARD-ALL.NB *) subclass[fix[CARD],OMEGA] := True (* added 2002 June 1 based on RCF.NB *) subclass[fix[composite[BIGCAP,RC[x_]]],Aclosure[x_]] := True (* derived 2004 December 13 in ANTISYM.NB *) subclass[fix[composite[DISJOINT,INVERSE]],ANTISYM] := True (* derived 2005 February 1 in DIV-WF.NB *) subclass[fix[composite[DIV,x_]],omega] := True subclass[fix[composite[x_,y_]],domain[y_]] := True (* added 1998 August 23 *) subclass[fix[composite[x_,id[z_],y_]],image[x_,z_]] := True (* added 1998 August 23 *) subclass[fix[composite[x_,id[z_],y_]],image[inverse[y_],z_]] := True (* added 1998 August 23 *) subclass[fix[composite[x_,id[z_],inverse[y_]]],image[y_,z_]] := True (* added 2002 June 15 based on REPLACE.NB *) subclass[fix[composite[inverse[x_],Di,x_]],y_] := FUNCTION[composite[x,id[complement[y]]]] subclass[fix[composite[inverse[x_],y_]],domain[x_]] := True (* added 2002 June 2 based on COREHULL.NB *) subclass[fix[composite[inverse[E],HULL[x_]]],image[inverse[S],x_]] := True (* added 2003 October 15 based on ACYCLIC.NB *) subclass[fix[composite[INVERSE,image[inverse[CUP],ACYCLIC]]],ACYCLIC] := True (* rule added 1999 August 2 *) subclass[fix[composite[x_,inverse[y_]]],range[y_]] := True (* added 2000 December 18 based on LB-LB.NB *) subclass[fix[composite[inverse[UB[x_]],UB[y_]]], cliques[composite[inverse[x_],y_]]] := True subclass[fix[composite[x_,y_]],range[x_]] := True (* added 2002 May 12 based on OM-SC-2B.NB *) subclass[fix[composite[SUCC,BIGCUP]], fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := True (* added 2000 December 19 based on GT-S.NB *) subclass[fix[x_],domain[x_]] := True (* derived 2004 April 4 in IRR-TRV.NB *) subclass[fix[x_],fix[composite[x_,x_]]] := True (* added 2000 January 8 based on TC-TC.NB *) subclass[fix[x_],fix[composite[inverse[S],x_]]] := True (* derived 2004 June 16 in X1320.NB *) subclass[fix[x_],fix[composite[inverse[x_],S]]] := True (* added 2000 January 8 based on TC-TC.NB *) subclass[fix[x_],fix[composite[S,x_]]] := True (* derived 2004 June 16 in X1318.NB *) subclass[fix[x_],fix[composite[x_,S]]] := True (* derived 2004 June 16 in X1320.NB *) subclass[fix[x_],fix[composite[S,inverse[x_]]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) subclass[fix[x_],fix[trv[x_]]] := True (* added 2002 December 23 based on REPLACE.NB *) subclass[fix[funpart[x_]],fix[x_]] := True (* added 2001 October 26 based on FIX-HULL.NB *) subclass[x_,fix[HULL[x_]]] := True (* derived 2004 January 23 in P-FINITE.NB *) subclass[fix[HULL[x_]],FINITE] := subclass[x,FINITE] (* added 2001 October 27 based on HULL-IMS.NB *) subclass[fix[HULL[x_]],image[inverse[S],x_]] := True (* derived 2004 October 7 in HULL-I.NB *) subclass[fix[HULL[intersection[x_,y_]]],fix[HULL[x_]]] := True (* added 2002 January 28 based on SUBVAR.NB *) subclass[fix[x_],image[x_,fix[x_]]] := True (* Theorem SBV-IVR4 in SUBVAR proved 1999 February 15 *) subclass[fix[IMAGE[x_]],invar[x_]] := True (* revised 2003 May23 based on DEF-CLOS.NB *) subclass[fix[IMAGE[inverse[S]]],binclosed[CAP]] := True (* revised 2003 May 24 based on IMS.NB *) subclass[fix[IMAGE[inverse[S]]],binclosed[DIF]] := True (* added 2001 October 2 based on ACL-IMS.NB *) subclass[fix[IMAGE[inverse[S]]],fix[ACLOSURE]] := True (* Theorem SBV-IVR4 in SUBVAR proved 1999 February 15 *) subclass[fix[IMAGE[x_]],subvar[x_]] := True (* derived 2004 August 15 in ZN-FACTS.NB *) subclass[fix[IMAGE[ZN]],domain[VERTSECT[ZN]]] := True (* added 2002 May 17 based on ZN.NB *) subclass[fix[IMAGE[ZN]],FULL] := True (* derived 2004 May 2 in ZN.NB *) subclass[fix[IMAGE[ZN]],fix[IMAGE[inverse[S]]]] := True\ (* derived 2004 May 2 in ZN.NB *) subclass[fix[IMAGE[ZN]],invar[IMAGE[ZN]]] := True (* added 2000 September 9 based on SU-FP-RA.NB *) subclass[fix[x_],range[x_]] := True (* added 2000 October 13 based on TC-2.LOG *) subclass[fix[x_],U[subvar[x_]]] := True subclass[fix[SINGLETON],fix[E]] := True (* added 2003 May 23 based on CORE-BCL.NB *) subclass[fix[UCLOSURE],binclosed[CUP]] := True (* added 2003 May 18 based on TOPS.NB *) subclass[fix[UCLOSURE],fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := True (* added 2002 April 16 based on INVAR.NB *) subclass[FULL,invar[inverse[SUCC]]] := True (* derived 2005 January 3 in FULL.NB *) subclass[FULL,OMEGA] := False (* added 1999 November 23 based on FUNPART.NB *) subclass[funpart[x_],x_] := True (* derived 2004 June 18 in X13-FUNP.NB *) subclass[x_,funpart[x_]] := FUNCTION[x] (* derived 2004 June 14 in FU-F-O.NB *) subclass[funpart[intersection[x_,y_]],x_] := True (* added 2000 September 8 based on FUNPART.LOG *) subclass[FUNPART,inverse[S]] := True (* derived 2004 December 11 in RESTRICT.NB *) subclass[FUNPART,RESTRICT] := True (* derived 2004 November 12 in SETPFUNP.NB *) subclass[funpart[setpart[x_]],setpart[funpart[x_]]] := True (* derived 2004 November 21 in FUNP-DO.NB *) subclass[funpart[x_],thinpart[x_]] := True (* Theorem Q-FS2 in Q proved 2000 May 2 *) subclass[FUNS,fix[composite[Q,IMAGE[FIRST]]]] := True (* added 2000 September 4 based on NEW.M *) subclass[FUNS,image[inverse[IMAGE[id[cart[V,V]]]],FUNS]] := True (* derived 2004 November 2 in SELECT.NB *) subclass[FUNS,SELECT] := True (* added 2000 November 21 based on SUBLEAST.NB *) subclass[x_,GREATEST[y_]] := and[subclass[x,inverse[E]],subclass[composite[x,E],y]] (* added 2000 December 17 based on CLIQUES.NB *) subclass[GREATEST[x_],composite[x_,inverse[E]]] := True (* added 2000 November 21 based on SUBLEAST.NB *) subclass[GREATEST[x_],inverse[E]] := True (* added 2000 November 25 based on LT-GLB.NB *) subclass[GREATEST[x_],LUB[x_]] := True (* added 2001 March 15 based on H-1.NB *) subclass[H[x_],x_] := True (* derived 2005 January 30 in X3949.NB *) subclass[x_,H[x_]] := subclass[U[x],x] (* added 2001 April 1 based on HF-CONT.NB *) subclass[HC,inverse[S]] := True (* derived 2004 March 29 based on HULL.NB *) subclass[y_,hull[x_,y_]] := True (* derived 2004 October 7 in HULL-I.NB *) subclass[hull[x_,z_],hull[intersection[x_,y_],z_]] := True (* derived 2004 October 7 in HULL-I.NB *) subclass[HULL[intersection[x_,y_]],composite[S,HULL[x_]]] := True (* added 2001 October 25 based on COREHULL.NB *) subclass[HULL[x_],S] := True (* derived 2004 March 29 based on HULL.NB *) subclass[hull[TRV,x_],cart[V,V]] := and[member[x,V],subclass[x,cart[V,V]]] (* 1998 August 19 *) subclass[Id,x_] := equal[V,fix[x]] (* dangerous rule first proposed 1998 August 19 *) subclass[id[x_],y_] := subclass[x,fix[y]] (* derived 2004 April 20 in ID-REVU.NB *) subclass[x_,id[domain[x_]]] := subclass[x,Id] (* derived 2004 April 20 in ID-REVU.NB *) subclass[x_,id[fix[x_]]] := subclass[x,Id] (* derived 2004 April 20 in ID-REVU.NB *) subclass[x_,id[range[x_]]] := subclass[x,Id] (* derived 2004 December 14 in IDEMPROJ.NB *) subclass[IDEM,TRV] := True (* added 2003 August 31 based on ACL-CUP.NB *) subclass[image[ACLOSURE,binclosed[CUP]],binclosed[CUP]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[ACLOSURE,x_],fix[ACLOSURE]] := True (* derived 2004 January 1 in COFIN-T1.NB *) subclass[image[ADJOIN[set[0]],PointClosed],PointClosed] := True (* added 2003 May 24 based on CAPCLADJ.NB *) subclass[image[ADJOIN[set[0]],range[SINGLETON]],binclosed[CAP]] := True (* added 2003 September 13 based on UCL-TOPS.NB *) subclass[image[ADJOIN[set[0]],range[SINGLETON]],binclosed[DIF]] := True (* added 2001 October 23 based on CAPCLOS.NB *) subclass[image[ADJOIN[set[0]],range[SINGLETON]],fix[UCLOSURE]] := True (* added 2001 October 23 based on CAPCLOS.NB *) subclass[image[ADJOIN[set[0]],range[SINGLETON]],image[PAIRSET,S]] := True (* added 2001 October 23 based on CAPCLOS.NB *) subclass[image[ADJOIN[set[0]],range[SINGLETON]],TOPS] := True (* derived 2004 October 18 in XVR-V.NB *) subclass[image[BIGCAP,image[VERTSECT[x_],y_]],Aclosure[image[x,y_]]] := True (* derived 2004 January 23 in P-FINITE.NB *) subclass[image[BIGCUP,x_],FINITE] := and[subclass[x,FINITE],subclass[U[x],FINITE]] (* added 2002 April 27 based on FUL-BC.NB *) subclass[image[BIGCUP,invar[BIGCUP]],FULL] := True (* added 2001 October 14 based on CAPCLOS.NB *) subclass[x_,image[CAP,cart[x_,x_]]] := True (* added 2001 November 11 based on PAIRSET.NB *) subclass[image[CAP,cart[x_,x_]],Aclosure[x_]] := True (* derived 2004 January 18 in ACLOSED.NB *) subclass[image[CAP,cart[fix[ACLOSURE],range[POWER]]],fix[ACLOSURE]] := True (* derived 2004 January 18 in UCLOS.NB *) subclass[image[CAP,cart[fix[UCLOSURE],range[POWER]]],fix[UCLOSURE]] := True (* added 2002 April 25 based on FULL.NB *) subclass[image[CAP,cart[FULL,FULL]],FULL] := True (* derived 2004 June 27 in X1693-97.NB *) subclass[image[CAP,cart[image[CART,Id],TO]],TO] := True (* added 2002 January 19 based on ANTISYM.NB *) subclass[image[CAP,cart[x_,x_]],image[inverse[S],x_]] := True (* derived 2004 October 12 in CMPCT-OM.NB *) subclass[image[CAP,cart[image[RC[omega],omega],image[RC[omega],omega]]],image[RC[omega],omega]] := True (* derived 2005 February 6 in IVR-SBV.NB *) subclass[image[CAP,cart[invar[inverse[x_]],subvar[x_]]],subvar[x_]] := True (* derived 2005 February 6 in IVR-SBV.NB *) subclass[x_,image[CAP,cart[x_,invar[thinpart[y_]]]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) subclass[image[CAP,cart[set[x_,y_],set[x_,y_]]],set[x_,y_]] := or[not[member[x,V]],not[member[y,V]],subclass[x,y],subclass[y,x]] (* derived 2005 February 6 in IVR-SBV.NB *) subclass[image[CAP,cart[subvar[x_],invar[inverse[x_]]]],subvar[x_]] := True (* derived 2004 January 18 in SBV-PS1.NB *) subclass[image[CAP,cart[subvar[PS],range[POWER]]],subvar[PS]] := True (* added 2003 August 30 based on UCL-CAP.NB *) subclass[image[CAP,cart[Uclosure[x_],Uclosure[y_]]], Uclosure[image[CAP,cart[x_,y_]]]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[CARD,x_],fix[CARD]] := True (* revised 1999 July 14 *) subclass[IMAGE[z_],cart[x_,y_]] := and[subclass[P[domain[VERTSECT[z]]],x],subclass[range[IMAGE[z]],y]] (* added 2003 July 2 based on ASS-SC.NB *) subclass[image[CART,cart[image[CART,Id],V]],ASSOCIATIVE] := True (* derived 2004 June 28 in X1773-1800.NB *) subclass[image[CART,cart[REGULAR,REGULAR]],REGULAR] := True (* added 2002 September 25 based on CONSTFNS.NB *) subclass[image[CART,cart[V,range[SINGLETON]]],FUNS] := True (* added 2001 October 28 based on EQV-I.NB *) subclass[image[CART,Id],EQV] := True (* added 2001 October 8 based on RFX.NB *) subclass[image[CART,Id],RFX] := True (* added 2001 October 10 based on SYM-1.NB *) subclass[image[CART,Id],SYM] := True (* added 2001 October 27 based on IMS.NB *) subclass[image[CART,Id],TRV] := True (* added 2003 September 6 based on CUP-HULL.NB *) subclass[image[w_,cart[intersection[u_,x_],intersection[v_,y_]]], image[w_,cart[x_,y_]]] := True (* derived 2004 August 18 in X2812-61.NB *) subclass[image[CART,REGULAR],REGULAR] := True (* derived 2003 December 30 in PTCLOSED.NB *) subclass[x_,image[COARSER,x_]] := True (* derived 2004 December 5 in MAP-CO.NB *) subclass[image[COMPOSE,cart[map[y_,z_],map[x_,y_]]],map[x_,z_]] := True (* derived 2004 December 12 in RESTRICT.NB *) subclass[image[COMPOSE,cart[x_,P[Id]]],image[inverse[S],x_]] := True (* derived 2004 June 24 in SBCOMTNT.NB *) subclass[image[COMPOSE,cart[subcommutant[x_],subcommutant[x_]]],subcommutant[x_]] := True (* derived 2004 September 30 in EQV-THNP.NB *) subclass[image[COMPOSE,cart[TRV,P[Id]]],TRV] := True (* added 2003 July 25 based on CLIQEQDF.NB *) subclass[image[COMPOSE,cart[Z,Z]],cliques[EQUIDIFF]] := True (* derived 2004 August 28 in TRV-CO.NB *) subclass[image[COMPOSE,composite[id[TRV],COMMUTE,id[TRV]]],TRV] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[CORE[x_],y_],Uclosure[x_]] := True (* derived 2004 April 18 in CORE-IVR.NB *) subclass[image[x_,core[invar[x_],y_]],core[invar[x_],y_]] := True (* derived 2004 March 21 in PO-WRAP.NB *) subclass[image[CROSS,cart[ANTISYM,ANTISYM]],ANTISYM] := True (* added 2001 December 18 based on BIJ-X.NB *) subclass[image[CROSS,cart[BIJ,BIJ]],BIJ] := True (* added 2001 November 23 based on FUN-X.NB *) subclass[image[CROSS,cart[FUNS,FUNS]],FUNS] := True (* derived 2004 March 21 in PO-WRAP.NB *) subclass[image[CROSS,cart[PO,PO]],PO] := True (* derived 2004 March 18 in RFX-WRAP.NB *) subclass[image[CROSS,cart[RFX,RFX]],RFX] := True (* derived 2004 March 21 in PO-WRAP.NB *) subclass[image[CROSS,cart[TRV,TRV]],TRV] := True (* derived 2004 September 21 in WF-X.NB *) subclass[image[CROSS,cart[V,WF]],WF] := True (* derived 2004 September 21 in WF-X.NB *) subclass[image[CROSS,cart[WF,V]],WF] := True (* added 2001 October 15 based on CUPCLOS.NB *) subclass[x_,image[CUP,cart[x_,x_]]] := True (* added 2003 August 31 based on ACL-CUP.NB *) subclass[image[CUP,cart[Aclosure[x_],Aclosure[y_]]],Aclosure[image[CUP,cart[x_,y_]]]] := True (* derived 2005 February 4 in DK-K.NB *) subclass[image[CUP,cart[FINITE,x_]],x_] := subclass[image[K,x],x] (* derived 2005 February 4 in DK-K.NB *) subclass[x_,image[CUP,cart[FINITE,x_]]] := True (* added 2003 October 8 based on FS-CUP.NB *) subclass[image[CUP,cart[x_,x_]],FUNS] := FUNCTION[U[x]] (* derived 2004 October 12 in CMPCT-OM.NB *) subclass[image[CUP,cart[image[RC[omega],omega],image[RC[omega],omega]]],image[RC[omega],omega]] := True (* derived 2004 November 2 in SELECT.NB *) subclass[image[CUP,cart[SELECT,SELECT]],SELECT] := True (* added 2001 November 11 based on PAIRSET.NB *) subclass[image[CUP,cart[x_,x_]],Uclosure[x_]] := True (* derived 2004 August 31 in ADD-1-PT.NB *) subclass[image[CUP,composite[SINGLETON,inverse[FIRST],complement[inverse[E]],IMAGE[FIRST],id[FUNS]]],FUNS] := True (* added 2000 February 12 based on RA-SG.NB *) subclass[x_,image[Di,x_]] := not[member[x,range[SINGLETON]]] (* derived 2004 February 22 in ID-A-C.NB *) subclass[image[Di,A[complement[x_]]],U[x_]] := True (* added 2003 May 7 based on UNOPS.NB *) subclass[image[DIV,x_],omega] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[image[y_,domain[rec[x_,y_]]],domain[rec[x_,y_]]] := True (* derived 2004 June 6 in REPLACE.NB *) subclass[image[x_,domain[VERTSECT[trv[x_]]]],domain[VERTSECT[trv[x_]]]] := True (* derived 2004 July 25 in CANTOR.NB *) subclass[image[DORA,FUNS],composite[complement[S],POWER]] := True (* derived 2004 April 7 in PCDORA-Q.NB *) subclass[image[DORA,FUNS],composite[inverse[POWER],Q,inverse[S],POWER]] := True (* added 2003 June 6 based on FUNCTION.NB *) subclass[IMAGE[DUP],inverse[IMAGE[inverse[DUP]]]] := True (* added 2001 December 20 based on Q-OO.NB *) subclass[IMAGE[DUP],Q] := True (* derived 2004 June 27 in X1693-97.NB *) subclass[image[EQUIV,x_],EQV] := True (* derived 2004 June 6 in EQV-TRV.NB *) subclass[image[eqv[x_],y_],fix[eqv[x_]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) subclass[image[eqv[x_],y_],hull[invar[eqv[x_]],y_]] := True (* derived 2005 February 3 in IVR-FP.NB *) subclass[image[x_,fix[y_]],fix[composite[x_,y_,inverse[x_]]]] := True (* added 2003 June 15 based on RA-VS.NB *) subclass[image[FUNPART,x_],FUNS] := True (* added 2000 December 29 based on GT-RS.NB *) subclass[image[GREATEST[x_],y_],fix[x_]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[HC,x_],FULL] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[HULL[x_],y_],fix[HULL[x_]]] := True (* derived 2004 May 5 in IVR-HULL.NB *) subclass[image[x_,hull[invar[x_],y_]],hull[invar[x_],y_]] := True (* added 2003 September 24 based on PO-FACTS.NB *) subclass[image[HULL[RFX],intersection[TRV,P[Di]]],PO] := True (* derived 2004 June 14 in TP-SYM.NB *) subclass[image[HULL[SYM],x_],SYM] := True (* added 2002 February 13 based on HULL-TRV.NB *) subclass[image[HULL[TRV],x_],TRV] := True (* added 2003 May 30 based on RESTRICT.NB *) subclass[IMAGE[id[cart[V,V]]],RESTRICT] := True (* derived 2004 October 10 in COMPACT0.NB *) subclass[IMAGE[id[complement[set[0]]]],inverse[COARSER]] := True subclass[IMAGE[id[x_]],inverse[S]] := True (* derived 2004 January 2 in CUT-EQNS.NB *) subclass[IMAGE[id[x_]],S] := equal[V,x] (* added 2003 September 4 based on IDEMCORE.NB *) subclass[IMAGE[id[U[x_]]],composite[S,CORE[x_]]] := True (* derived 2004 December 6 in FIN-AXCH.NB *) subclass[image[IMAGE[composite[id[inverse[E]],inverse[FIRST]]],FINITE],SELECT] := True (* derived 2004 December 24 in SEL-ON.NB *) subclass[image[IMAGE[composite[id[inverse[E]],inverse[FIRST]]],P[P[OMEGA]]],SELECT] := True (* added 2003 April 26 based on ISO.NB *) subclass[image[IMAGE[composite[id[inverse[FIRST]],inverse[SECOND]]],FUNS],BIJ] := True (* derived 2004 December 7 in ASV-DIV.NB *) subclass[image[IMAGE[composite[id[SECOND],inverse[FIRST]]],EQV],ASSOCIATIVE] := True (* derived 2004 December 7 in ASV-DIV.NB *) subclass[image[IMAGE[cross[FIRST,Id]],ASSOCIATIVE],TRV] := True (* derived 2004 August 19 in X2896.NB *) subclass[image[IMAGE[cross[inverse[funpart[y_]],funpart[x_]]],FUNS],FUNS] := True (* derived 2004 June 28 in X1773-1800.NB *) subclass[image[IMAGE[cross[SWAP,Id]],REGULAR],REGULAR] := True (* derived 2004 January 4 in VS-IMIN.NB *) subclass[image[image[DORA,FUNS],FINITE],FINITE] := True (* derived 2004 August 11 in X1993.NB *) subclass[image[image[DORA,FUNS],range[SINGLETON]],range[SINGLETON]] := True (* added 2001 June 5 based on SUBCOM.NB *) subclass[image[IMAGE[DUP],FULL],subcommutant[inverse[E]]] := True (* added 2003 May 14 based on LIST-DEF.NB *) subclass[image[IMAGE[DUP],omega],LISTS] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[image[IMAGE[FIRST],partrec[x_,y_]],invar[y_]] := True (* derived 2004 June 28 in X1780.NB *) subclass[image[IMAGE[FIRST],REGULAR],REGULAR] := True (* derived 2004 September 21 in WF-X.NB *) subclass[image[IMAGE[FIRST],x_],set[0]] := equal[0,domain[U[x]]] (* derived 2004 September 21 in WF-X.NB *) subclass[image[IMAGE[FIRST],subvar[cross[x_,y_]]],subvar[x_]] := True (* derived 2004 January 8 in FIN-FU.NB *) subclass[image[IMAGE[funpart[x_]],FINITE],FINITE] := True (* derived 2005 January 17 in BIJ-PO.NB *) subclass[image[IMAGE[id[cart[x_,x_]]],ANTISYM],ANTISYM] := True (* derived 2004 June 27 in X1693-97.NB *) subclass[image[IMAGE[id[cart[x_,x_]]],EQV],EQV] := True (* derived 2004 March 21 in PO-WRAP.NB *) subclass[image[IMAGE[id[cart[x_,x_]]],PO],PO] := True (* derived 2005 January 16 in FUN-RFX.NB *) subclass[image[IMAGE[id[cart[x_,x_]]],RFX],RFX] := True (* derived 2004 June 27 in TO-RS.NB *) subclass[image[IMAGE[id[cart[x_,x_]]],TO],TO] := True (* derived 2005 January 16 in TRV-RS.NB *) subclass[image[IMAGE[id[cart[x_,x_]]],TRV],TRV] := True (* derived 2004 July 20 in X2081.NB *) subclass[image[IMAGE[id[cart[x_,x_]]],WO],WO] := True (* derived 2004 November 2 in SELECT.NB *) subclass[image[IMAGE[id[cart[x_,V]]],SELECT],SELECT] := True (* derived 2004 November 2 in SELECT.NB *) subclass[image[IMAGE[id[cart[x_,V]]],X[y_]],X[composite[y_,id[x_]]]] := True (* added 2003 June 5 based on FUNFAMILY.NB *) subclass[image[IMAGE[id[cart[V,V]]],domain[LB[x_]]],FUNS] := FUNCTION[rotate[inverse[x]]] (* added 2003 June 5 based on FUNFAMILY.NB *) subclass[image[IMAGE[id[cart[V,V]]],domain[UB[x_]]],FUNS] := FUNCTION[rotate[x]] (* derived 2004 March 14 in WO-SU.NB *) subclass[image[IMAGE[id[Di]],TO],ACYCLIC] := True (* derived 2004 March 14 in WF-WO.NB *) subclass[image[IMAGE[id[Di]],TO],TRV] := True (* derived 2004 March 14 in WO-TRV.NB *) subclass[image[IMAGE[id[Di]],WO],ACYCLIC] := True (* derived 2004 March 14 in WF-WO.NB *) subclass[image[IMAGE[id[Di]],WO],TRV] := True (* derived 2004 March 14 in WF-WO.NB *) subclass[image[IMAGE[id[Di]],WO],WF] := True (* derived 2004 December 27 in TRV-RS.NB *) subclass[image[IMAGE[id[x_]],image[CART,Id]],EQV] := EQUIVALENCE[composite[Id,x]] (* derived 2004 December 27 in TRV-RS.NB *) subclass[image[IMAGE[id[x_]],image[CART,Id]],TRV] := TRANSITIVE[composite[Id,x]] (* derived 2004 January 18 in ACLOSED.NB *) subclass[image[IMAGE[id[P[x_]]],fix[ACLOSURE]],fix[ACLOSURE]] := True (* added 2001 October 24 based on UCLOS.NB *) subclass[image[IMAGE[id[P[x_]]],fix[UCLOSURE]],fix[UCLOSURE]] := True (* derived 2004 January 18 in SBV-PS1.NB *) subclass[image[IMAGE[id[P[x_]]],subvar[PS]],subvar[PS]] := True (* derived 2004 December 28 in TRV-RS.NB *) subclass[image[IMAGE[id[x_]],range[CART]],TRV] := TRANSITIVE[composite[Id,x]] (* derived 2005 January 15 in H-FIN.NB *) subclass[image[IMAGE[id[REGULAR]],invar[POWER]],invar[POWER]] := True (* derived 2004 January 11 in PO-RS-S.NB *) subclass[image[IMAGE[id[S]],image[CART,Id]],PO] := True (* derived 2004 January 11 in PO-RS-S.NB *) subclass[image[IMAGE[id[S]],range[CART]],TRV] := True (* added 2003 May 24 based on CUPCLIMG.NB *) subclass[image[IMAGE[IMAGE[x_]],binclosed[CUP]],binclosed[CUP]] := True (* derived 2004 May 4 in FIN-IMG.NB *) subclass[image[IMAGE[IMAGE[x_]],FINITE],FINITE] := True (* added 2003 March 16 based on IMG-UCL.NB *) subclass[image[IMAGE[IMAGE[x_]],fix[UCLOSURE]],fix[UCLOSURE]] := True (* added 2003 May 24 based on CAPCLPOW.NB *) subclass[image[IMAGE[POWER],binclosed[CAP]],binclosed[CAP]] := True (* derived 2004 November 19 in FU-RO-IN.NB *) subclass[image[IMAGE[inverse[ASSOC]],FUNS],FUNS] := True (* derived 2003 January 13 in CAPCUPRC.NB *) subclass[image[IMAGE[RC[x_]],binclosed[CAP]],binclosed[CUP]] := True (* derived 2003 January 13 in CAPCUPRC.NB *) subclass[image[IMAGE[RC[x_]],binclosed[CUP]],binclosed[CAP]] := True (* derived 2004 February 1 in FINCHAIN.NB *) subclass[image[IMAGE[RC[x_]],cliques[union[S,inverse[S]]]], cliques[union[S,inverse[S]]]] := True (* added 2003 June 25 based on ACL-UCL.NB *) subclass[image[IMAGE[RC[x_]],fix[UCLOSURE]],fix[ACLOSURE]] := True (* derived 2004 June 28 in X1773-1800.NB *) subclass[image[IMAGE[ROT],REGULAR],REGULAR] := True (* derived 2004 June 28 in X1780.NB *) subclass[image[IMAGE[SECOND],REGULAR],REGULAR] := True (* derived 2004 September 21 in WF-X.NB *) subclass[image[IMAGE[SECOND],subvar[cross[x_,y_]]],subvar[y_]] := True (* derived 2005 January 31 in X4210.NB *) subclass[image[IMAGE[SWAP],FINITE],FINITE] := True (* derived 2004 June 17 in X1366.NB *) subclass[image[IMAGE[SWAP],invar[cross[x_,y_]]],invar[cross[y_,x_]]] := True (* derived 2004 June 28 in X1773-1800.NB *) subclass[image[IMAGE[SWAP],REGULAR],REGULAR] := True (* derived 2003 December 18 in RA-ITER.NB *) subclass[image[x_,y_],image[trv[x_],y_]] := True (* derived 2003 December 18 in RA-ITER.NB *) subclass[image[x_,image[trv[x_],y_]],image[trv[x_],y_]] := True (* derived 2004 May 4 in FIN-IMG.NB *) subclass[image[IMG,cart[FUNS,FINITE]],FINITE] := True (* derived 2004 December 27 in FUN-TRV.NB *) subclass[image[IMG,cart[image[CROSS,id[image[INVERSE,FUNS]]],TRV]],TRV] := True (* derived 2004 June 27 in TO-RS.NB *) subclass[image[IMG,cart[image[CROSS,id[P[Id]]],TO]],TO] := True (* derived 2003 January 13 in CAPCUPRC.NB *) subclass[image[IMG,cart[range[RCF],binclosed[CAP]]],binclosed[CUP]] := True (* derived 2003 January 13 in CAPCUPRC.NB *) subclass[image[IMG,cart[range[RCF],binclosed[CUP]]],binclosed[CAP]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[INTADD,x_],Z] := True subclass[image[z_,intersection[x_,y_]],image[z_,x_]]:= True (* derived 2004 January 17 in SBV-PS-K.NB *) subclass[image[inverse[ADJOIN[set[x_]]],subvar[PS]],subvar[PS]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[inverse[CARD],x_],image[Q,OMEGA]] := True (* derived 2004 February 7 in COMPACT.NB *) subclass[x_,image[inverse[COARSER],x_]] := True (* derived 2004 October 17 in CMPCTCOA.NB *) subclass[image[inverse[COARSER],set[x_]],COMPACT] := or[member[x,COMPACT],not[member[x,V]]] (* derived 2004 February 7 in COMPACT.NB *) subclass[image[inverse[COARSER],set[x_]],image[COARSER,FINITE]] := or[member[x,COMPACT],not[member[x,V]]] (* added 2002 September 10 based on DJ-CP.NB *) subclass[image[inverse[x_],complement[y_]],z_] := subclass[image[x,complement[z]],y] (* added 2002 September 3 based on DIV-ZERO.NB *) subclass[image[inverse[DIV],x_],omega] := True (* derived 2005 February 22 in PRIMEDIV.NB *) subclass[image[inverse[DIV],set[x_]],set[x_,set[0]]] := or[equal[x,set[0]],member[x,PRIMES],not[member[x,omega]]] subclass[image[inverse[x_],y_],domain[x_]] := True (* derived 2005 January 31 in X4210.NB *) subclass[image[INVERSE,FINITE],FINITE] := True (* derived 2004 November 9 in AC2-AC3.NB *) subclass[image[INVERSE,FUNS],SELECT] := axch (* added 2003 February 21 based on IDEMHULL.NB *) subclass[image[inverse[HULL[x_]],y_],image[inverse[S],x_]] := True (* derived 2004 November 9 in AC2-AC3.NB *) subclass[image[inverse[IMAGE[composite[id[inverse[FIRST]],inverse[SECOND]]]],SELECT],SELECT] := True (* derived 2004 October 17 in CMPCTCOA.NB *) subclass[image[inverse[IMAGE[inverse[S]]],COMPACT],COMPACT] := True (* derived 2004 January 17 in SBV-PS-K.NB *) subclass[image[inverse[K],subvar[PS]],subvar[PS]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[inverse[KURA],x_],cart[V,V]] := True (* added 2001 September 4 based on BIN-IMIN.NB *) subclass[image[inverse[MAP],x_],cart[V,V]] := True (* added 2000 December 3 based on DO-LT.NB *) subclass[image[inverse[PAIRSET],x_],cart[V,V]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[inverse[PLUS],x_],omega] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[inverse[plus[x_]],y_],omega] := True (* added 2002 November 29 based on PLUS.NB *) subclass[image[INVERSE,range[PLUS]],BIJ] := True (* added 2002 December 1 based on Z-PC-S.NB *) subclass[image[INVERSE,range[PLUS]],Z] := True (* added 2002 March 5 based on HF.NB *) subclass[image[inverse[RANK],x_],REGULAR] := True subclass[x_,image[inverse[S],x_]] := True (* derived 2003 December 31 in COARSER.NB *) subclass[IMAGE[inverse[S]],COARSER] := True (* derived 2005 February 4 *) subclass[IMAGE[inverse[S]],composite[S,IMAGE[inverse[TC]]]] := True (* derived 2004 January 23 in P-FINITE.NB *) subclass[image[inverse[S],x_],FINITE] := subclass[x,FINITE] (* added 2003 May 21 based on INF-CLOS.NB *) subclass[image[inverse[S],fix[composite[S,IMAGE[x_],POWER]]],domain[VERTSECT[x_]]] := True (* added 2002 June 2 based on HER-HULL.NB *) subclass[image[inverse[S],x_],image[inverse[S],y_]] := subclass[x,image[inverse[S],y]] (* derived 2005 February 17 in X3741-49.NB *) subclass[image[inverse[S],omega],cliques[union[S,inverse[S]]]] := True (* added 2001 April 21 based on PT.NB *) subclass[IMAGE[inverse[S]],S] := True (* added 2003 April 1 based on IM-IN-SG.NB *) subclass[image[inverse[SINGLETON],x_],U[x_]] := True (* added 2002 May 28 based on IND-SC-1.NB *) subclass[image[inverse[SUCC],x_],U[x_]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[inverse[trv[x_]],y_],domain[x_]] := True (* derived 2004 October 17 in CMPCTCOA.NB *) subclass[image[inverse[UCLOSURE],COMPACT],COMPACT] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[iterate[x_,y_],z_],union[y_,image[trv[x_],y_]]] := True (* added 2000 December 29 based on LT-IM-SU.NB *) subclass[image[LEAST[x_],y_],fix[x_]] := True (* added 2001 December 20 based on Q-OO.NB *) subclass[IMAGE[LEFT[x_]],Q] := member[x,V] (* added 2002 September 1 based on MONO-MUL.NB *) subclass[image[NATADD,x_],omega] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[NATMUL,x_],omega] := True (* derived 2005 February 20 in CARD-TWO.NB *) subclass[image[PAIRSET,x_],DEDEKIND] := True (* derived 2005 February 20 in CARD-TWO.NB *) subclass[image[PAIRSET,x_],image[Q,OMEGA]] := True (* added 2002 April 18 based on DESCEND.NB *) subclass[image[PAIRSET,intersection[E,inverse[E]]],DESCENDING] := True (* added 2003 May 23 based on REPLACE.NB *) subclass[image[PAIRSET,S],binclosed[CAP]] := True (* added 2003 May 23 based on REPLACE.NB *) subclass[image[PAIRSET,S],binclosed[CUP]] := True (* added 2001 October 23 based on CHAINS.NB *) subclass[image[PAIRSET,S],cliques[union[S,inverse[S]]]] := True (* derived 2004 June 14 in TP-SYM.NB *) subclass[image[PAIRSET,SWAP],FUNS] := True (* added 2001 October 30 based on SYM-CORE.NB *) subclass[image[PAIRSET,SWAP],SYM] := True (* derived 2004 January 23 in P-FINITE.NB *) subclass[image[POWER,x_],FINITE] := subclass[x,FINITE] (* derived 2004 May 4 in BIN-CPS.NB *) subclass[image[POWER,P[Id]],binclosed[COMPOSE]] := True (* added 2001 December 20 based on Q-OO.NB *) subclass[IMAGE[POWER],Q] := True subclass[image[POWER,REGULAR],REGULAR] := True (* derived 2004 May 4 in BIN-CPS.NB *) subclass[image[POWER,TRV],binclosed[COMPOSE]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[power[x_],y_],union[Id,trv[x_]]] := True (* Theorem Q-SBV in Q proved 2000 April 27 *) subclass[x_,image[Q,x_]] := True subclass[image[x_,y_],range[x_]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[RANK,x_],OMEGA] := True (* Theorem RK-IM-SU derived 2003 December 20 in RK-TC-3.NB *) subclass[image[RANK,x_],rank[x_]] := True (* added 2003 February 4 based on PLUS-Q.NB *) subclass[image[RC[omega],omega],image[Q,set[omega]]] := True (* added 2003 May 9 based on IVR-SUCC.NB *) subclass[image[RC[omega],omega],invar[SUCC]] := True (* added 2001 December 20 based on Q-OO.NB *) subclass[IMAGE[RIGHT[x_]],Q] := member[x,V] subclass[x_,image[S,x_]] := True (* Theorems RP-A-2 and RP-A-3 in RP1 added 1998 August 18 *) subclass[x_,image[S,set[y_]]] := subclass[y,A[x]] (* added 2003 June 6 based on FUNCTION.NB *) subclass[image[SINGLETON,x_],BIJ] := subclass[x,cart[V,V]] (* added 2002 January 17 based on ANTISYM1.NB *) subclass[image[SINGLETON,cart[V,V]],ANTISYM] := True (* added 2001 October 16 based on IM-IN-SG.NB *) subclass[image[SINGLETON,cart[V,V]],BIJ] := True (* added 2001 October 16 based on IM-IN-SG.NB *) subclass[image[SINGLETON,cart[V,V]],FUNS] := True (* added 2001 October 16 based on IM-IN-SG.NB *) subclass[image[SINGLETON,cart[V,V]],TRV] := True (* added 2003 October 15 based on ACYCLIC.NB *) subclass[image[SINGLETON,Di],ACYCLIC] := True (* added 2003 September 29 based on WF.NB *) subclass[image[SINGLETON,Di],WF] := True (* derived 2003 December 30 in T2.NB *) subclass[image[SINGLETON,x_],FINITE] := True (* added 2003 June 6 based on FUNCTION.NB *) subclass[image[SINGLETON,x_],FUNS] := subclass[x,cart[V,V]] (* added 2001 October 16 based on IM-IN-SG.NB *) subclass[image[SINGLETON,Id],RFX] := True (* added 2001 October 16 based on IM-IN-SG.NB *) subclass[image[SINGLETON,Id],SYM] := True (* derived 2003 December 30 in T2.NB *) subclass[image[SINGLETON,omega],image[inverse[S],omega]] := True (* added 2001 December 20 based on Q-OO.NB *) subclass[IMAGE[SINGLETON],Q] := True (* added 2003 June 25 based on RUSSELL.NB *) subclass[image[SINGLETON,RUSSELL],RUSSELL] := True (* added 2001 October 16 based on RA-SG.NB *) subclass[image[SINGLETON,U[x_]],image[inverse[S],x_]] := True (* derived 2004 August 14 in X4205.NB *) subclass[image[SUBVAR,FINITE],FINITE] := True (* derived 2004 December 23 in RA-SBV.NB *) subclass[image[SUBVAR,image[inverse[S],x_]],image[inverse[S],image[SUBVAR,x_]]] := True (* added 2002 April 26 based on FULSUC-A.NB *) subclass[image[SUCC,FULL],fix[composite[SUCC,BIGCUP]]] := True (* added 2002 April 26 based on FULLSUCC.NB *) subclass[image[SUCC,FULL],FULL] := True (* derived 2005 February 6 in X3404.NB *) subclass[image[SUCC,image[S,x_]],image[S,x_]] := True (* derived 2005 April 26 in DICHOT.NB *) subclass[image[SUCC,U[nat[x_]]],nat[x_]] := True (* derived 2003 December 21 in DO-RA-IM.NB *) subclass[image[TC,x_],FULL] := True (* derived 2005 January 22 in IMG-INS.TXT *) subclass[IMAGE[thinpart[x_]],Id] := equal[Id,thinpart[x]] (* derived 2005 January 22 in IMG-INS.TXT *) subclass[IMAGE[thinpart[x_]],inverse[S]] := subclass[thinpart[x],Id] (* derived 2005 January 22 in IMG-INS.TXT *) subclass[IMAGE[thinpart[x_]],S] := equal[V,fix[thinpart[x]]] (* derived 2003 December 18 in RA-ITER.NB *) subclass[image[trv[x_],y_],y_] := subclass[image[x,y],y] (* derived 2003 December 18 in RA-ITER.NB *) subclass[image[trv[composite[NATADD,x_]],y_],omega] := True (* derived 2004 March 29 based on HULL.NB *) subclass[image[trv[x_],y_],hull[invar[x_],y_]] := True (* derived 2003 December 18 in RA-ITER.NB *) subclass[image[trv[plus[x_]],y_],omega] := True (* derived 2003 December 18 in RA-ITER.NB *) subclass[image[trv[x_],y_],range[x_]] := True (* derived 2004 August 27 in IVR-TRV.NB *) subclass[image[trv[x_],y_],range[iterate[x_,y_]]] := True (* derived 2004 June 16 in TRANSVAR.NB *) subclass[image[x_,U[transvar[x_,y_]]],image[y_,U[transvar[x_,y_]]]] := True (* derived 2003 December 24 in UCL-ON.NB *) subclass[image[UCLOSURE,x_],fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := True (* added 2003 March 16 based on CORE-UCL.NB *) subclass[image[UCLOSURE,x_],fix[UCLOSURE]] := True (* derived 2003 December 28 in PTCLOSED.NB *) subclass[image[UCLOSURE,PointClosed],PointClosed] := True (* added 1998 January 24 *) subclass[image[V,x_],y_] := or[equal[0,x],equal[V,y]] (* modified 1999 August 31 *) subclass[x_,image[V,y_]] := or[equal[0,x],not[equal[0,y]]] (* derived 2004 November 21 in FU-VS.NB *) subclass[image[VERTSECT[x_],y_],range[SINGLETON]] := and[FUNCTION[composite[thinpart[x],id[y]]],subclass[y,domain[x]]] (* derived 2004 January 4 in VS-IMIN.NB *) subclass[image[VS,x_],FUNS] := True (* derived 2004 January 4 in VS-IMIN.NB *) subclass[image[VS,image[INVERSE,FUNS]],BIJ] := True (* derived 2004 December 18 in PO-BIJ.NB *) subclass[image[VS,PO],BIJ] := True (* added 2001 July 15 based on ZN-AGAIN.NB *) subclass[x_,image[ZN,x_]] := True (* derived 2005 January 5 in REG-ZN.NB *) subclass[image[ZN,intersection[REGULAR,x_]],REGULAR] := True (* derived 2004 Agust 13 in X4015-56.NB *) subclass[x_,image[ZN,rank[x_]]] := True (* derived 2004 August 15 in ZN-FACTS.NB *) subclass[IMAGE[ZN],S] := True (* added 2002 May 17 based on ZN.NB *) subclass[image[ZN,U[x_]],image[ZN,x_]] := True (* added 2002 May 9 based on WORK1330.NB *) subclass[IMAGE[ZN],ZN] := True subclass[intersection[x_,y_],x_] := True subclass[x_,intersection[y_,z_]] := and[subclass[x,y],subclass[x,z]] (* derived 2004 November 13 in AC1-A8.NB *) subclass[intersection[cliques[union[DISJOINT,Id]], image[IMAGE[FIRST],intersection[FUNS,P[inverse[E]]]]], domain[UB[image[inverse[CAP],range[SINGLETON]]]]] := True (* derived 2004 November 23 in A8-AXCH.NB *) subclass[intersection[cliques[union[DISJOINT,Id]],P[complement[set[0]]]], domain[UB[image[inverse[CAP],range[SINGLETON]]]]] := axch (* added 1998 September 11 *) subclass[intersection[complement[x_],y_],z_] := subclass[y,union[x,z]] (* added 2001 December 26 based on CMT-CO.NB *) subclass[intersection[composite[COMMUTE,FIRST],composite[COMMUTE,SECOND]], composite[COMMUTE,COMPOSE]] := True (* added 2001 December 26 based on COMMUTE.NB *) subclass[intersection[composite[COMMUTE,FIRST],composite[COMMUTE,SECOND]], composite[COMMUTE,CUP]] := True (* derived 2004 October 14 in REFINE.NB *) subclass[intersection[composite[inverse[COARSER],IMAGE[inverse[S]]], composite[inverse[IMAGE[inverse[S]]],COARSER]],Id] := False (* derived 2004 September 24 in COREDESC.NB *) subclass[intersection[DESCENDING,P[x_]],set[0]] := WELLFOUNDED[composite[id[x],E]] (* derived 2005 February 1 in DIV-WF.NB *) subclass[intersection[Di,DIV],union[cart[intersection[omega,complement[set[0]]],set[0]],composite[id[omega],E]]] := True (* derived 2004 February 3 in FIN-RANK.NB *) subclass[intersection[y_,domain[x_]],image[inverse[x_],image[x_,y_]]] := True (* derived 2004 February 1 in FINCHAIN.NB *) subclass[intersection[FINITE,cliques[union[S,inverse[S]]]], union[fix[composite[E,BIGCAP]],set[0]]] := True (* derived 2004 February 1 in FINCHAIN.NB *) subclass[intersection[FINITE,cliques[union[S,inverse[S]]]], union[fix[composite[inverse[IMAGE[inverse[BIGCUP]]],E]],set[0]]] := True (* derived 2005 February 3 in X4224.NB *) subclass[intersection[FINITE,FULL],H[FINITE]] := True (* derived 2004 April 4 in IRR-TRV.NB *) subclass[intersection[fix[x_],fix[y_]],fix[composite[x_,y_]]] := True (* derived 2003 December 24 in UCL-ON.NB *) subclass[intersection[y_,fix[x_]],image[x_,y_]] := True (* derived 2004 January 23 in P-FINITE.NB *) subclass[intersection[fix[UCLOSURE],P[FINITE]],FINITE] := True (* added 2002 May 28 based on IND-SC-1.NB *) subclass[intersection[FULL,invar[SUCC]],fix[BIGCUP]] := True (* derived 2004 December 30 in AXREG.NB *) subclass[intersection[FULL,P[complement[set[0]]]],DESCENDING] := True (* added 2001 October 14 based on CAPCLOS.NB *) subclass[intersection[x_,y_],image[CAP,cart[x_,y_]]] := True (* added 2001 October 15 based on CUPCLOS.NB *) subclass[intersection[x_,y_],image[CUP,cart[x_,y_]]] := True (* derived 2005 April 21 in U-PRIMES.NB *) subclass[intersection[image[inverse[DIV],set[x_]],image[inverse[DIV],set[succ[x_]]]],set[set[0]]] := True (* added 2001 December 31 based on DORA-DJ.NB *) subclass[intersection[image[inverse[DORA],DISJOINT],P[cart[V,V]]],TRV] := True (* added 2002 January 17 based on ANTISYM2.NB *) subclass[intersection[image[inverse[IMAGE[id[Di]]],TRV],P[cart[V,V]]],ANTISYM] := True (* derived 2005 January 25 *) subclass[intersection[image[inverse[IMAGE[SECOND]],range[SINGLETON]],P[cart[V,V]]],FUNS] := True (* derived 2004 January 18 in SBV-PS1.NB *) subclass[intersection[image[PS,x_],P[y_]],image[PS,intersection[x_,P[y_]]]] := True (* derived 2005 January 27 in DEDEKIND.NB *) subclass[intersection[image[Q,set[x_]],P[x_]],set[x_]] := or[member[x,DEDEKIND],not[member[x,V]]] (* modified 1999 August 31 *) subclass[intersection[x_,image[V,y_]],z_] := or[subclass[x,z],equal[0,y]] (* derived 2004 January 22 in INVAR.NB *) subclass[intersection[INVAR,composite[DISJOINT,IMAGE[SECOND]]],composite[DISJOINT,IMAGE[FIRST]]] := True (* derived 2004 May 11 in EQV-GEN.NB *) subclass[intersection[x_,inverse[x_]],eqv[x_]] := True (* derived 2004 March 6 in UB-LEAST.NB *) subclass[intersection[y_,lb[x_,y_]],fix[x_]] := True (* derived 2004 March 6 in UB-LEAST.NB *) subclass[intersection[y_,lb[x_,y_]],image[inverse[x_],y_]] := True (* derived 2005 April 28 in MAX-MIN.NB *) subclass[intersection[nat[x_],nat[y_]],nat[z_]] := or[not[member[nat[z],nat[x]]],not[member[nat[z],nat[y]]]] (* added 2002 May 24 based on OMEGA.NB *) subclass[intersection[OMEGA,fix[BIGCUP]],invar[SUCC]] := True (* added 2003 January 20 based on ON-SUC-7.NB *) (* a reformulation of Theorem ON-SUC-7 without variables *) subclass[intersection[OMEGA,fix[BIGCUP]], union[image[S,set[omega]],set[0]]] := True (* derived 2004 December 12 in RESTRICT.NB *) subclass[intersection[x_,P[cart[V,V]]],image[COMPOSE,cart[x_,P[Id]]]] := True (* derived 2005 February 1 in DIV-WF.NB *) subclass[intersection[P[y_],subvar[x_]],subvar[composite[x_,id[y_]]]] := True (* derived 2004 February 7 in T1-FIN.NB *) subclass[intersection[PointClosed,P[FINITE]],FINITE] := True (* derived 2004 June 17 in X1337-65.NB *) subclass[intersection[y_,range[x_]],image[x_,image[inverse[x_],y_]]] := True (* derived 2004 December 31 in IN-RK.NB *) subclass[intersection[REGULAR,x_],image[inverse[RANK],rank[x_]]] := True (* derived 2004 December 19 in QO-IDEM.NB *) subclass[intersection[RFX,TRV],IDEM] := True (* added 2002 October 18 based on SINGLTON.NB *) subclass[intersection[x_,set[y_]],z_] := or[member[y,z],not[member[y,x]]] (* added 2002 October 11 based on MUL-SU-S.NB *) subclass[intersection[x_,set[y_]],set[z_]] := or[equal[y,z],not[member[y,x]]] (* derived 2005 February 1 in DIV-WF.NB *) subclass[intersection[subvar[x_],subvar[y_]],subvar[composite[x_,y_]]] := True (* derived 2003 December 28 in PTCLOSED.NB *) subclass[intersection[T1,fix[UCLOSURE]],PointClosed] := True (* derived 2004 February 7 in T1-FIN.NB *) subclass[intersection[T1,TOPS,P[FINITE]],range[POWER]] := True (* derived 2003 December 30 in T2.NB *) subclass[intersection[T1,TOPS],T2] := False (* added 2003 October 15 based on ACYCLIC.NB *) subclass[intersection[TRV,P[Di]],ACYCLIC] := True (* derived 2004 April 4 in IRR-TRV.NB *) subclass[intersection[TRV,P[Di]],fix[composite[DISJOINT,INVERSE]]] := True (* derived 2004 March 6 in UB-LEAST.NB *) subclass[intersection[y_,ub[x_,y_]],fix[x_]] := True (* derived 2004 March 6 in UB-LEAST.NB *) subclass[intersection[y_,ub[x_,y_]],image[x_,y_]] := True (* derived 2004 June 17 in X2124.NB *) subclass[invar[BIGCUP],fix[composite[inverse[S],POWER,IMAGE[inverse[S]]]]] := True (* derived 2004 November 11 in SEL-RFX.NB *) subclass[invar[composite[DUP,FIRST]],SELECT] := True (* derived 2005 February 10 in X3571.NB *) subclass[invar[composite[id[omega],SUCC]],union[image[S,set[omega]],P[complement[set[0]]]]] := True (* derived 2005 February 6 in IVR-SBV.NB *) subclass[invar[x_],invar[composite[x_,id[y_]]]] := True (* derived 2005 January 25 in X2288.NB *) subclass[invar[POWER],fix[composite[inverse[BIGCUP],S,IMAGE[inverse[S]]]]] := True (* derived 2005 January 15 in IVR-POW.NB *) subclass[invar[POWER],subvar[inverse[E]]] := True (* added 2002 May 28 based on IND-SC-1.NB *) subclass[invar[SUCC],subvar[inverse[E]]] := True (* added 2003 January 20 based on ONSUC7OT.NB *) (* variable-free formulation of induction *) subclass[invar[SUCC],union[image[S,set[omega]],P[complement[set[0]]]]] := True (* added 2001 December 17 based on Q-HAT.NB *) subclass[inverse[CARD],Q] := True subclass[inverse[z_],cart[x_,y_]] := and[subclass[range[z],x],subclass[domain[z],y]] (* derived 2003 December 31 in COARSER.NB *) subclass[inverse[COARSER],composite[inverse[BIGCUP],BIGCUP]] := True (* added 2001 October 14 based on CAPCLOS.NB *) subclass[inverse[DUP],CAP] := True (* added 1999 July 24 based on session CAP-CUP *) subclass[inverse[DUP],CUP] := True subclass[inverse[DUP],FIRST] := True subclass[inverse[DUP],SECOND] := True (* derived 2004 June 28 in X2200.NB *) subclass[inverse[E],composite[x_,BIGCAP]] := subclass[S,x] (* derived 2004 June 28 in X2200.NB *) subclass[inverse[E],composite[x_,BIGCUP]] := subclass[inverse[S],x] (* derived 2004 June 17 in X1337-65.NB *) subclass[inverse[E],composite[inverse[E],IMAGE[inverse[S]]]] := True (* added 2002 May 16 based on TC-IN-E.NB *) subclass[inverse[E],composite[inverse[E],SUCC]] := True (* added 2001 January 2 based on TC-SU.NB *) subclass[inverse[E],composite[inverse[E],TC]] := True (* added 2002 March 27 based on TRV.NB *) subclass[inverse[E],ZN] := True (* derived 2004 June 18 in X13-FUNP.NB *) subclass[inverse[funpart[inverse[x_]]],x_] := True (* derived 2004 January 4 in VS-IMIN.NB *) subclass[inverse[image[DORA,FUNS]],composite[BIGCUP,Q]] := True (* derived 2004 January 10 in IN-IDP.NB *) subclass[inverse[IMAGE[DUP]],IMAGE[FIRST]] := True (* derived 2004 January 10 in IN-IDP.NB *) subclass[inverse[IMAGE[DUP]],IMAGE[SECOND]] := True (* derived 2004 January 10 in IN-IDP.NB *) subclass[inverse[IMAGE[DUP]],IMAGE[inverse[DUP]]] := True (* derived 2004 October 10 in COMPACT0.NB *) subclass[inverse[IMAGE[id[complement[set[0]]]]],COARSER] := True subclass[inverse[IMAGE[id[x_]]],S] := True (* derived 2004 August 19 in X2901-93.NB *) subclass[inverse[IMAGE[inverse[BIGCUP]]],IMAGE[BIGCUP]] := True (* derived 2004 August 19 in X2901-93.NB *) subclass[inverse[IMAGE[inverse[CUP]]],IMAGE[CUP]] := True (* derived 2004 August 19 in X2901-93.NB *) subclass[INVERSE,IMAGE[SWAP]] := True (* added 1998 September 10 *) subclass[inverse[x_],inverse[y_]] := subclass[composite[Id,x],y] (* derived 2004 June 19 in REPLACE.NB *) subclass[inverse[oopart[x_]],funpart[inverse[x_]]] := True (* derived 2003 December 30 in PTCLOSED.NB *) subclass[inverse[POWER],BIGCUP] := True (* added 2001 March 4 based on SU-PS.NB *) subclass[x_,inverse[PS]] := and[equal[0,fix[x]],subclass[x,inverse[S]]] (* added 2001 December 20 based on Q-OO.NB *) subclass[INVERSE,Q] := True (* added 2002 March 5 based on HF.NB *) subclass[inverse[RANK],ZN] := True (* added 2003 May 31 based on RS-I.NB *) subclass[inverse[RESTRICT],S] := True (* added 2003 July 4 based on COARSER.NB *) subclass[inverse[S],composite[inverse[S],POWER,BIGCUP]] := True (* added 2001 July 14 based on ZN-IMG.NB *) subclass[inverse[S],ZN] := True (* added 2001 May 10 based on ACLOSED.NB *) subclass[inverse[SINGLETON],BIGCAP] := True subclass[inverse[SINGLETON],BIGCUP] := True (* added 2000 May 14 based on K-2.NB *) subclass[K,cart[V,V]] := True (* derived 2005 January 9 *) subclass[K,inverse[image[inverse[DIF],range[SINGLETON]]]] := True (* added 2001 March 4 based on SU-PS.NB *) subclass[K,S] := True (* added 2000 November 21 based on NORMAL.NB *) subclass[x_,LB[y_]] := and[subclass[x,cart[V,V]],subclass[composite[x,E],inverse[y]]] (* derived 2004 February 19 in REPLACE2.NB *) subclass[x_,lb[y_,z_]] := subclass[cart[x,z],y] (* derived 2004 December 22 in UCL-COMT.NB *) subclass[LB[x_],composite[BIGCUP,LB[UB[x_]]]] := True (* derived 2004 February 21 in LB-UB-SU.NB *) subclass[lb[x_,y_],image[inverse[x_],y_]] := not[equal[0,y]] (* derived 2004 February 21 in LB-UB-SU.NB *) subclass[lb[x_,V],domain[x_]] := True (* added 2000 November 21 based on SUBLEAST.NB *) subclass[x_,LEAST[y_]] := and[subclass[x,inverse[E]],subclass[composite[x,E],inverse[y]]] (* added 2000 November 25 based on LT-GLB.NB *) subclass[LEAST[x_],GLB[x_]] := True (* added 2000 November 21 based on SUBLEAST.NB *) subclass[LEAST[x_],inverse[E]] := True (* added 2002 June 29 based on LEFT-SU.NB *) subclass[LEFT[x_],inverse[SECOND]] := True (* rules added 1998 January 22 *) subclass[LeftPairV,cart[V,V]] := True (* added 2003 May 14 based on LIST-DEF.NB *) subclass[LISTS,FUNS] := True (* added 2001 April 27 based on MAP2.NB *) subclass[MAP,cart[cart[V,V],V]] := True (* added 2001 April 27 based on MAP2.NB *) subclass[MAP,cart[V,V]] := True (* added 2001 April 27 based on MAP2.NB *) subclass[map[x_,y_],FUNS] := True (* derived 2004 November 25 in MAP-SU.NB *) subclass[map[u_,v_],map[x_,y_]] := or[and[equal[0,u],equal[0,x]],and[equal[0,v],not[equal[0,u]]], and[equal[u,x],subclass[v,y]],not[member[u,V]]] (* derived 2004 November 25 in MAP-SS-0.NB *) subclass[map[x_,y_],set[0]] := or[equal[0,x],equal[0,y],not[member[x,V]]] (* derived 2004 November 26 in XS-CP.NB *) subclass[map[x_,y_],X[cart[x_,y_]]] := True (* added 2000 November 21 based on SUBLEAST.NB *) subclass[x_,MAXIMAL[y_]] := and[subclass[x,inverse[E]], subclass[intersection[composite[x,E],inverse[y]],Id]] (* added 2000 November 21 based on SUBLEAST.NB *) subclass[MAXIMAL[x_],inverse[E]] := True (* added 2000 November 21 based on SUBLEAST.NB *) subclass[x_,MINIMAL[y_]] := and[subclass[x,inverse[E]],subclass[intersection[y,composite[x,E]],Id]] (* added 2000 November 21 based on SUBLEAST.NB *) subclass[MINIMAL[x_],inverse[E]] := True (* derived 2005 February 13 in NAT.NB *) subclass[nat[x_],nat[y_]] := not[member[nat[y],nat[x]]] (* derived 2005 June 17 in DF.NB *) subclass[nat[x_],natadd[nat[y_],nat[z_]]] := not[member[natadd[nat[y],nat[z]],nat[x]]] (* derived 2005 May 25 in MOD-CHAR.NB *) subclass[nat[z_],natmod[nat[x_],nat[y_]]] := not[member[natmod[nat[x],nat[y]],nat[z]]] (* derived 2005 June 17 in DF.NB *) subclass[nat[x_],natsub[nat[y_],nat[z_]]] := or[member[nat[y],nat[z]],not[member[nat[y],natadd[nat[x],nat[z]]]]] (* derived 2005 February 13 in NAT.NB *) subclass[nat[x_],omega] := True (* derived 2005 April 26 in DICHOT.NB *) subclass[nat[x_],U[nat[x_]]] := equal[0,nat[x]] (* derived 2005 April 28 in MAX-MIN.NB *) subclass[nat[x_],union[nat[y_],nat[z_]]] := not[member[union[nat[y],nat[z]],nat[x]]] (* added 2002 September 1 based on MONO-ADD.NB *) subclass[x_,natadd[x_,y_]] := True (* added 2002 October 12 based on O-17.NB *) subclass[natadd[x_,y_],x_] := or[and[equal[0,y],member[x,omega]],equal[V,x]] (* derived 2005 May 27 in ADD-SU.NB *) subclass[NATADD,composite[complement[inverse[E]],FIRST]] := True (* derived 2005 May 27 in ADD-SU.NB *) subclass[NATADD,composite[complement[inverse[E]],SECOND]] := True (* added 2002 June 22 based on ADD-CUP.NB *) subclass[NATADD,composite[S,CUP]] := True (* added 2002 September 15 based on NATADDEZ.NB *) subclass[NATADD,composite[S,FIRST]] := True (* added 2002 September 15 based on NATADDEZ.NB *) subclass[NATADD,composite[S,SECOND]] := True (* derived 2005 June 17 in DF.NB *) subclass[natadd[nat[x_],nat[y_]],nat[z_]] := not[member[nat[z],natadd[nat[x],nat[y]]]] (* added 2002 September 29 based on SUB-ADD.NB *) subclass[natadd[x_,y_],natadd[x_,z_]] := or[and[member[y,omega],subclass[y,z]],not[member[x,omega]],not[member[z,omega]]] (* derived 2005 May 27 in MOD-SU-1.NB *) subclass[natmod[x_,y_],x_] := or[and[member[x,omega],member[y,omega]],equal[V,x]] (* derived 2005 May 27 in MOD-SU-2.NB *) subclass[y_,natmod[x_,y_]] := or[equal[0,y],not[member[x,omega]],not[member[y,omega]]] (* derived 2005 May 21 in MOD-SU.NB *) subclass[natmod[x_,y_],natsub[x_,y_]] := True (* added 2002 October 11 based on MUL-SU-S.NB *) subclass[y_,natmul[x_,y_]] := or[equal[0,y],not[equal[0,x]],not[member[y,omega]]] (* added 2002 June 30 based on NATMUL.NB *) subclass[NATMUL,cart[cart[V,V],V]] := True (* added 2002 October 14 based on MUL-MONO.NB *) subclass[natmul[x_,y_],natmul[x_,z_]] := or[and[equal[0,x],member[y,omega]], and[member[y,omega],subclass[y,z]], not[member[x,omega]],not[member[z,omega]]] (* added 2002 September 21 based on SUB-LESS.NB *) subclass[natsub[x_,y_],x_] := or[and[member[x,omega],member[y,omega],subclass[y,x]],equal[V,x]] (* derived 2005 June 17 in DF.NB *) subclass[natsub[nat[x_],nat[y_]],nat[z_]] := and[not[member[nat[x],nat[y]]],not[member[nat[z],natsub[nat[x],nat[y]]]]] (* added 2002 October 3 based on MONOSUB1.NB *) subclass[natsub[x_,y_],natsub[x_,z_]] := or[and[member[y,omega],subclass[y,x],subclass[z,y]], not[member[x,omega]],not[member[z,omega]],not[subclass[z,x]]] (* added 2002 October 3 based on MONOSUB2.NB *) subclass[natsub[x_,z_],natsub[y_,z_]] := or[and[member[x,omega],subclass[x,y],subclass[z,x]], not[member[y,omega]],not[member[z,omega]],not[subclass[z,y]]] (* added 2003 May 23 based on BCL-SU.NB *) subclass[OMEGA,binclosed[CAP]] := True (* added 2003 May 23 based on BCL-SU.NB *) subclass[OMEGA,binclosed[CUP]] := True (* added 2002 April 23 based on TRICHOT.NB *) subclass[OMEGA,cliques[union[E,composite[inverse[E],SUCC]]]] := True (* added 2002 April 23 based on TRICHOT.NB *) subclass[OMEGA,cliques[union[S,inverse[E]]]] := True (* added 2001 November 11 based on CHAINS.NB *) subclass[OMEGA,cliques[union[S,inverse[S]]]] := True (* derived 2004 October 12 in CMPCT-OM.NB *) subclass[omega,COMPACT] := True (* derived 2005 January 4 in IMINRANK.NB *) subclass[OMEGA,domain[VERTSECT[ZN]]] := True (* Theorem FIN-OM2 in FINITE proved 2000 March 19 *) subclass[omega,FINITE] := True (* added 2001 October 2 based on REPLACE.NB *) subclass[OMEGA,fix[ACLOSURE]] := True (* added 2002 May 28 based on CARD-OM.NB *) subclass[omega,fix[CARD]] := True (* derived 2005 January 7 in CARD-OM.NB *) subclass[OMEGA,fix[CARD]] := False (* added 2002 June 1 based on RCF.NB *) subclass[OMEGA,fix[composite[IMAGE[SECOND],IMAGE[id[BIGCAP]],RCF]]] := True (* added 2002 May 24 based on ADJOIN.NB *) subclass[omega,fix[composite[inverse[SUCC],ADJOIN[set[0]],IMAGE[SUCC]]]] := True (* added 2003 June 2 based on ON-SUC-1.NB *) subclass[OMEGA,fix[composite[inverse[SUCC],S,IMAGE[SUCC]]]] := True (* added 2001 December 5 based on CARD-ON.NB *) subclass[OMEGA,fix[composite[S,CARD]]] := True (* derived 2005 April 26 in DICHOT.NB *) subclass[omega,fix[composite[S,IMAGE[SUCC],BIGCUP]]] := True (* added 2001 September 30 based on ACL-2.NB *) subclass[omega,FULL] := True (* added 2001 March 17 based on H-FULL.NB *) subclass[OMEGA,FULL] := True (* derived 2005 January 5 in SU-HC.NB *) subclass[omega,H[FINITE]] := True (* derived 2005 January 5 in SU-HC.NB *) subclass[OMEGA,H[FULL]] := True (* derived 2005 January 30 in X3837.NB *) subclass[OMEGA,invar[BIGCUP]] := True (* derived 2005 February 10 in X3557.NB *) subclass[omega,invar[composite[inverse[SUCC],id[omega]]]] := True (* added 2002 May 11 based on OM-2.NB *) subclass[omega,invar[inverse[SUCC]]] := True (* added 2002 May 26 based on ON-SUC-1.NB *) subclass[OMEGA,invar[inverse[SUCC]]] := True (* added 2001 November 11 based on CHAINS.NB *) subclass[omega,OMEGA] := True (* added 2000 February 12 based on ON-SUC16.NB *) subclass[omega,REGULAR] := True (* Theorem ON-REG in ON5 *) subclass[OMEGA,REGULAR] := True (* added 2002 October 6 based on OMEGA-2.NB *) subclass[omega,RUSSELL] := True (* added 2002 May 15 based on TRICHOT.NB *) subclass[OMEGA,RUSSELL] := True (* added 2002 June 8 based on OM-SS-SU.NB *) subclass[omega,set[x_]] := False (* added 2003 January 9 based on OM-SUC.NB *) subclass[omega,succ[x_]] := subclass[omega,x] (* derived 2003 December 24 based on ON-SC.NB *) subclass[OMEGA,union[fix[BIGCUP],fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]]] := True (* derived 2003 December 24 based on ON-SC.NB *) subclass[OMEGA,union[fix[BIGCUP],fix[composite[SUCC,BIGCUP]]]] := True (* derived 2003 December 24 in UCL-ON.NB *) subclass[OMEGA,union[fix[BIGCUP],fix[UCLOSURE]]] := True (* added 2002 May 24 based on OMEGA.NB *) subclass[OMEGA,union[fix[BIGCUP],range[SUCC]]] := True (* added 2003 February 6 based on OM-SC-2B.NB *) subclass[omega,union[fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]],set[0]]] := True (* added 2002 April 17 based on BC-SUCC.NB *) subclass[omega,union[fix[composite[SUCC,BIGCUP]],set[0]]] := True (* derived 2005 February 23 in X3729.NB *) subclass[omega,union[fix[UCLOSURE],set[0]]] := True (* derived 2005 January 27 in BA-OM.NB *) subclass[omega,union[image[inverse[BIGCAP],set[0]],set[0]]] := True (* derived 2005 January 27 in BA-ON.NB *) subclass[OMEGA,union[image[inverse[BIGCAP],set[0]],set[0]]] := True (* added 2002 May 11 based on OM-1.NB *) subclass[omega,union[image[S,set[x_]],P[complement[set[x_]]]]] := True (* revised 2003 June 1 based on REPLACE.NB *) subclass[OMEGA,union[intersection[OMEGA,complement[fix[BIGCUP]]],invar[SUCC]]] := True (* added 2002 May 25 based on OM-INVAR.NB *) subclass[omega,union[invar[SUCC],range[SUCC]]] := True (* added 2002 May 24 based on OMEGA.NB *) subclass[OMEGA,union[invar[SUCC],range[SUCC]]] := True (* added 2002 May 13 based on OM-SUC.NB *) subclass[omega,union[range[SUCC],set[0]]] := True (* derived 2003 December 25 in TOPSDEFN.NB *) subclass[OMEGA,union[TOPS,fix[BIGCUP]]] := True (* derived 2005 February 23 in X3729.NB *) subclass[omega,union[TOPS,set[0]]] := True (* derived 2004 May 9 in OOPART.NB *) subclass[oopart[x_],x_] := True (* derived 2004 May 9 in OOPART.NB *) subclass[OOPART,cart[V,V]] := True (* derived 2004 May 9 in OOPART.NB *) subclass[oopart[x_],funpart[x_]] := True (* derived 2004 May 9 in OOPART.NB *) subclass[OOPART,inverse[S]] := True (* derived 2004 December 11 in RESTRICT.NB *) subclass[OOPART,RESTRICT] := True (* Theorems PC-SC-1 and PC-SC-2 in PC2 *) subclass[x_,P[y_]] := subclass[U[x],y] (* added 2002 May 10 based on P-A.NB *) subclass[P[A[x_]],x_] := member[0,x] (* added 2003 October 15 based on ACYCLIC.NB *) subclass[P[x_],ACYCLIC] := and[equal[0,fix[trv[x]]],subclass[x,cart[V,V]]] (* derived 2004 January 11 in PSU-ASYM.TXT *) subclass[P[x_],ANTISYM] := and[subclass[x,cart[V,V]],subclass[intersection[x,inverse[x]],Id]] (* Theorems BIJ-OO1 and BIJ-OO2 in BIJ proved 2000 May 1 *) subclass[P[x_],BIJ] := ONEONE[x] (* derived 2004 August 6 in CONSTANT.NB *) subclass[P[cart[x_,set[y_]]],invar[composite[RIGHT[y_],FIRST]]] := True (* derived 2004 December 24 in SEL-ON.NB *) subclass[P[cart[V,OMEGA]],SELECT] := True (* derived 2004 November 7 in AXCH-RE.NB *) subclass[P[cart[V,V]],SELECT] := axch (* added 2001 December 24 based on CLIQUES.NB *) subclass[P[x_],cliques[y_]] := subclass[cart[x,x],y] (* derived 2004 December 21 in COMUTANT.NB *) subclass[P[complement[cart[V,V]]],commutant[x_]] := True (* derived 2004 November 18 in XS-IN-AC.NB *) subclass[P[complement[cart[V,V]]],SELECT] := True (* added 2001 July 12 based on ZN-2.NB *) subclass[P[complement[cart[V,V]]],subcommutant[x_]] := True (* added 2002 April 10 based on INVAR.NB *) subclass[P[complement[domain[x_]]],invar[x_]] := True (* derived 2004 October 26 in AXCH-AC1.NB *) subclass[P[complement[set[0]]],image[IMAGE[FIRST],intersection[FUNS,P[inverse[E]]]]] := axch (* derived 2004 June 15 in HULIVRSW.NB *) subclass[P[domain[VERTSECT[x_]]],subvar[x_]] := subclass[IMAGE[x],S] (* derived 2004 January 13 based on FIN-SUPC.NB *) subclass[P[FINITE],FINITE] := False (* derived 2004 May 9 in IMGFU-FP.NB *) subclass[P[fix[funpart[x_]]],fix[IMAGE[funpart[x_]]]] := True (* Theorem SBV-SU3 in SUBVAR *) subclass[P[fix[x_]],subvar[x_]] := True (* Theorems FS-PC-1 and FS-PC-2 in FS *) subclass[P[x_],FUNS] := FUNCTION[x] (* added 2002 January 17 based on ANTISYM1.NB *) subclass[P[Id],ANTISYM] := True (* added 2001 December 23 based on DORA-3.NB *) subclass[P[Id],EQV] := True (* derived 2004 December 14 in IDEMPROJ.NB *) subclass[P[Id],IDEM] := True (* added 2002 February 9 based on IDEM.NB *) subclass[P[Id],PROJ] := True (* added 2002 February 9 based on RFX-FUNS.NB *) subclass[P[Id],invar[composite[DUP,SECOND]]] := True (* added 2002 February 9 based on RFX-FUNS.NB *) subclass[P[Id],invar[composite[DUP,FIRST]]] := True (* added 2002 January 19 based on PO.NB *) subclass[P[Id],PO] := True (* added 2001 October 8 based on RFX-ID.NB *) subclass[P[Id],RFX] := True (* added 2001 October 10 based on SYM-1.NB *) subclass[P[Id],SYM] := True (* added 2001 October 9 based on TRV-1.NB *) subclass[P[Id],TRV] := True (* added 2003 May 7 based on UNOPS.NB *) subclass[P[Id],U[image[MAP,Id]]] := True (* added 2001 September 7 based on BIJ-NORM.NB *) subclass[P[x_],image[INVERSE,FUNS]] := and[FUNCTION[inverse[x]],subclass[x,cart[V,V]]] (* derived 2005 February 4 in X3943.NB *) subclass[P[x_],image[inverse[S],intersection[FULL,P[complement[set[y_]]]]]] := not[member[y,tc[x]]] (* derived 2004 June 12 in X855.NB *) subclass[P[image[inverse[x_],set[y_]]],domain[UB[x_]]] := True (* derived 2004 June 12 in X855.NB *) subclass[P[image[x_,set[y_]]],domain[LB[x_]]] := True (* derived 2004 February 28 in IM-IN.NB *) subclass[P[image[x_,y_]],subvar[composite[x_,id[y_],inverse[x_]]]] := True (* derived 2004 November 9 in AC2-AC3.NB *) subclass[P[inverse[FIRST]],SELECT] := axch (* added 2003 May 23 based on BCL-SU.NB *) subclass[P[OMEGA],binclosed[CAP]] := True (* added 2003 May 23 based on BCL-SU.NB *) subclass[P[OMEGA],binclosed[CUP]] := True (* derived 2004 October 16 in ON-ACL.NB *) subclass[P[OMEGA],fix[ACLOSURE]] := True (* derived 2005 February 11 in X3567.NB *) subclass[P[omega],transvar[inverse[SUCC],BIGCUP]] := True (* added 2002 May 25 based on WELLORD.NB *) subclass[P[omega],union[fix[composite[E,BIGCAP]],set[0]]] := True (* Theorem ON-WO-BA in ON5 proved 2000 November 3 *) subclass[P[OMEGA],union[set[0],fix[composite[E,BIGCAP]]]] := True (* derived 2004 February 28 in IM-IN.NB *) subclass[P[range[x_]],subvar[composite[x_,inverse[x_]]]] := True (* Theorems REG2-SU3 and REG3-SU in REG2 proved 1999 June 12 *) subclass[P[x_],REGULAR] := subclass[x,REGULAR] (* added 2002 March 4 based on RUS.NB *) subclass[P[RUSSELL],RUSSELL] := True (* Theorem PC-SU-SS in RP/2/CURIOUS proved 1998 October 8 *) subclass[P[x_],set[y_]] := and[equal[0,x],equal[0,y]] (* derived 2005 February 20 in CARD-TWO.NB *) subclass[P[set[x_,y_]],union[range[PAIRSET],set[0]]] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) subclass[P[RUSSELL],union[fix[composite[DISJOINT,BIGCAP]],set[0]]] := True (* derived 2005 January 5 in WO-ID.NB *) subclass[P[x_],union[image[SINGLETON,x_],set[0]]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2005 January 5 in WO-ID.NB *) subclass[P[x_],union[range[SINGLETON],set[0]]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 June 27 in X1712-20.NB *) subclass[P[x_],union[RUSSELL,x_]] := True (* added 2003 September 29 based on WF.NB *) subclass[P[x_],WF] := WELLFOUNDED[x] (* added 2003 February 26 based on ACL-Z.NB *) subclass[P[Z],union[image[SINGLETON,Z], image[inverse[BIGCAP],set[0]],set[0]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[partrec[funpart[x_],thinpart[y_]],FUNS] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[partrec[x_,y_],fix[composite[inverse[IMAGE[composite[id[inverse[FIRST]],inverse[SECOND]]]], UB[composite[FIRST,intersection[composite[inverse[IMG],SECOND],composite[inverse[SECOND],VERTSECT[y_],FIRST]], intersection[composite[inverse[FIRST],FIRST],composite[inverse[x_],SECOND]]]]]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[partrec[x_,y_],image[inverse[UB[composite[FIRST, intersection[composite[inverse[IMG],SECOND],composite[inverse[SECOND],VERTSECT[y_],FIRST]], intersection[composite[inverse[FIRST],FIRST],composite[inverse[x_],SECOND]]]]],P[inverse[FIRST]]]] := True (* added 2002 November 29 based on PLUS.NB *) subclass[PLUS,cart[V,V]] := True (* added 2003 August 7 based on PLUS.NB *) subclass[plus[x_],cart[V,V]] := True (* added 2003 August 8 based on REPLACE.NB *) subclass[plus[natsub[x_,y_]],composite[inverse[plus[y_]],plus[x_]]] := True (* added 2003 August 8 based on REPLACE.NB *) subclass[plus[x_],S] := True (* added 2003 September 24 based on PO-FACTS.NB *) subclass[PO,ANTISYM] := True (* derived 2004 December 14 in IDEMPROJ.NB *) subclass[PO,IDEM] := True (* added 2003 September 24 based on PO-FACTS.NB *) subclass[PO,RFX] := True (* added 2003 September 24 based on PO-FACTS.NB *) subclass[PO,TRV] := True (* derived 2003 December 28 in PTCLOSED.NB *) subclass[PointClosed,fix[UCLOSURE]] := False (* derived 2003 December 28 in PTCLOSED.NB *) subclass[PointClosed,T1] := True (* added 1998 August 7 *) subclass[POWER,cart[x_,y_]] := and[equal[V,x],subclass[range[POWER],y]] (* added 2003 May 11 based on Q-PC.NB *) subclass[POWER,composite[Q,S]] := True (* added 1998 August 7 *) subclass[POWER,E] := True (* added 2002 January 20 based on UU.NB *) subclass[POWER,inverse[BIGCUP]] := True (* added 2003 May 5 based on POWER-SU.NB *) subclass[power[x_],power[y_]] := subclass[composite[Id,x],y] (* derived 2004 April 6 in SMALLER.NB *) subclass[POWER,SMALLER] := True (* derived 2005 April 21 in U-PRIMES.NB *) subclass[PRIMES,FINITE] := True (* derived 2005 February 22 in PRIMES.NB *) subclass[PRIMES,omega] := True (* added 2002 February 9 based on IDEM.NB *) subclass[PROJ,FUNS] := True (* derived 2004 December 14 in IDEMPROJ.NB *) subclass[PROJ,IDEM] := True (* added 2002 February 9 based on MOREIDEM.NB *) subclass[PROJ,invar[composite[DUP,SECOND]]] := True (* added 2002 February 9 based on IDEM.NB *) subclass[PROJ,TRV] := True (* added 2001 March 4 based on SU-PS.NB *) subclass[x_,PS] := and[equal[0,fix[x]],subclass[x,S]] (* added 2000 October 3 based on KMINIMAL.NB *) subclass[PS,Di] := True (* added 2000 May 14 based on K-2.NB *) subclass[PS,S] := True (* Corollary of Theorem Q-SR-POW in Q proved 2000 October 1 *) subclass[Q,composite[complement[S],POWER]] := True (* added 2001 December 20 based on Q-POW.NB *) subclass[Q,composite[inverse[POWER],Q,POWER]] := True (* added 2003 January 14 based on SB-THM.NB *) subclass[Q,composite[Q,inverse[S]]] := True (* added 2003 January 14 based on SB-THM.NB *) subclass[Q,composite[Q,S]] := True (* derived 2004 July 26 in DORAFUNS.NB *) subclass[Q,image[DORA,FUNS]] := True (* derived 2004 November 2 in SELECT.NB *) subclass[range[CART],SELECT] := True (* added 2001 October 9 based on TRV-1.NB *) subclass[range[CART],TRV] := True (* added 1999 October 9 based on CROSS.4 *) subclass[range[CROSS],P[cart[cart[V,V],cart[V,V]]]] := True (* derived 2005 April 16 in FACTRL.NB *) subclass[range[FACTORIAL],omega] := True (* derived 2004 February 20 in REPLACE1.NB *) subclass[range[GLB[x_]],union[domain[x_],ub[x_,V]]] := True (* derived 2004 September 12 in WF-REC-5.NB *) subclass[range[history[x_,y_]],cart[V,V]] := True (* added 2002 June 24 based on THIN-TRV.NB *) subclass[range[IMAGE[composite[inverse[power[x_]],inverse[FIRST]]]],succ[omega]] := True (* derived 2004 December 31 in IN-RK.NB *) subclass[range[IMAGE[inverse[RANK]]],REGULAR] := True (* Theorem IMG-PC2 in IMG2 *) subclass[range[IMAGE[x_]],P[range[x_]]] := True (* derived 2004 August 27 in IVR-TRV.NB *) subclass[range[iterate[x_,z_]],z_] := subclass[image[x,z],z] (* added 2003 October 21 based on LAMHUL-2.NB *) subclass[range[LAMBHULL],cliques[complement[cross[S,complement[S]]]]] := True (* added 2003 October 21 based on LAMHUL-2.NB *) subclass[range[LAMBHULL],FUNS] := True (* derived 2004 February 20 in REPLACE1.NB *) subclass[range[LUB[x_]],union[lb[x_,V],range[x_]]] := True (* added 2001 August 23 based on FINITE.NB *) subclass[range[PAIRSET],FINITE] := True (* added 2002 November 29 based on PLUS.NB *) subclass[range[PLUS],BIJ] := True (* added 2003 May 7 based on UNOPS.NB *) subclass[range[PLUS],U[image[MAP,Id]]] := True (* added 2002 November 29 based on PLUS.NB *) subclass[range[PLUS],Z] := True (* revised 2003 May23 based on DEF-CLOS.NB *) subclass[range[POWER],binclosed[CAP]] := True (* added 2003 May 23 based on REPLACE.NB *) subclass[range[POWER],binclosed[CUP]] := True (* revised 2003 May23 based on DEF-CLOS.NB *) subclass[range[POWER],binclosed[DIF]] := True (* added 2001 May 10 based on UCLOS-4.NB *) subclass[range[POWER],fix[ACLOSURE]] := True (* added 2002 January 21 based on RA-POW.NB *) subclass[range[POWER], fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := True (* added 2001 September 23 based on RA-POW.NB *) subclass[range[POWER],fix[IMAGE[inverse[S]]]] := True (* added 2001 May 10 based on UCLOS-4.NB *) subclass[range[POWER],fix[UCLOSURE]] := True (* added 2000 September 4 based on NEW.M *) subclass[range[POWER],invar[IMAGE[id[x_]]]] := True (* added 2003 July 3 based on T1T2PTCL.NB *) subclass[range[POWER],PointClosed] := True (* derived 2004 December 23 in RA-SBV.NB *) subclass[range[POWER],range[SUBVAR]] := True (* added 2003 June 6 based on RUSSELL.NB *) subclass[range[POWER],RUSSELL] := True (* added 2003 June 23 based on T1.NB *) subclass[range[POWER],T1] := True (* added 2003 June 23 based on T2.NB *) subclass[range[POWER],T2] := True (* added 2001 October 23 based on TOPS.NB *) subclass[range[POWER],TOPS] := True (* added 2002 February 4 based on RCF-NORM.NB *) subclass[range[RCF],BIJ] := True (* derived 2004 January 13 in RA-RCF.NB *) subclass[range[RCF],cliques[complement[cross[inverse[S],complement[S]]]]] := True (* derived 2004 January 13 in RA-RCF.NB *) subclass[range[RCF],FUNS] := True (* derived 2004 January 13 in RA-RCF.NB *) subclass[range[RCF],SYM] := True (* added 2003 May 7 based on UNOPS.NB *) subclass[range[RCF],U[image[MAP,Id]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[range[rec[x_,y_]],range[x_]] := True (* revised 2003 May23 based on DEF-CLOS.NB *) subclass[range[SINGLETON],binclosed[CAP]] := True (* revised 2003 May23 based on DEF-CLOS.NB *) subclass[range[SINGLETON],binclosed[CUP]] := True (* revised 2003 May23 based on DEF-CLOS.NB *) subclass[range[SINGLETON],binclosed[DIF]] := False (* added 2001 November 11 based on IMIN-SG.NB *) subclass[range[SINGLETON],cliques[union[S,inverse[S]]]] := True (* added 2001 October 16 based on IM-IN-SG.NB *) subclass[range[SINGLETON],DEDEKIND] := True (* added 2001 October 16 based on IM-IN-SG.NB *) subclass[range[SINGLETON],FINITE] := True (* added 2001 October 15 based on ACL-UCL.NB *) subclass[range[SINGLETON],fix[ACLOSURE]] := True (* added 2000 September 28 based on APPLY.NB *) subclass[range[SINGLETON],fix[composite[E,BIGCAP]]] := True (* added 2002 January 21 based on VS-IN-BC.TXT *) subclass[range[SINGLETON],fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := True (* derived 2005 February 20 in CARD-TWO.NB *) subclass[range[SINGLETON],image[Q,OMEGA]] := True (* added 2001 October 11 based on VARIOUS.NB *) subclass[range[SINGLETON],range[PAIRSET]] := True (* derived 2004 November 2 in SELECT.NB *) subclass[range[SINGLETON],SELECT] := True (* derived 2004 June 19 based on X1421-45.NB *) subclass[range[SINGLETON],union[P[complement[x_]],P[x_]]] := True (* derived 2004 December 23 in RA-SBV.NB *) subclass[range[SUBVAR],fix[UCLOSURE]] := True (* derived 2005 January 26 in REMOVED.NB *) subclass[range[thinpart[composite[id[x_],S]]],x_] := True (* derived 2005 January 26 in REMOVED.NB *) subclass[range[thinpart[eqv[x_]]],domain[VERTSECT[eqv[x_]]]] := True (* derived 2005 January 26 in REMOVED.NB *) subclass[range[thinpart[trv[x_]]],domain[VERTSECT[trv[x_]]]] := True (* derived 2005 January 26 in REMOVED.NB *) subclass[range[thinpart[trv[x_]]],range[x_]] := True (* derived 2005 January 26 in REMOVED.NB *) subclass[range[thinpart[ZN]],domain[VERTSECT[ZN]]] := True (* derived 2004 December 6 in FIN-AXCH.NB *) subclass[range[VERTSECT[composite[id[inverse[E]],inverse[FIRST]]]],SELECT] := True (* derived 2004 May 12 in EQV-GEN.NB *) subclass[range[VERTSECT[eqv[x_]]],cliques[eqv[x_]]] := True (* derived 2005 January 25 *) subclass[range[VERTSECT[x_]],FUNS] := and[FUNCTION[rotate[inverse[thinpart[x]]]],subclass[range[thinpart[x]],cart[V,V]]] (* added 2002 November 19 based on FP-EQDF.NB *) subclass[range[VERTSECT[x_]],range[IMAGE[x_]]] := True (* derived 2004 August 15 in ZN-FACTS.NB *) subclass[range[VERTSECT[ZN]],domain[VERTSECT[ZN]]] := True (* derived 2004 August 15 in ZN-FACTS.NB *) subclass[range[VERTSECT[ZN]],fix[IMAGE[ZN]]] := True (* derived 2004 August 15 in ZN-FACTS.NB *) subclass[range[VERTSECT[ZN]],FULL] := True (* derived 2004 August 15 in ZN-FACTS.NB *) subclass[range[VERTSECT[ZN]],range[POWER]] := True (* derived 2005 January 5 in IMRK-S.NB *) subclass[RANK,composite[S,IMAGE[RANK]]] := True (* added 2002 March 5 based on HF.NB *) subclass[RANK,inverse[ZN]] := True (* derived 2004 December 29 in RK-SC.NB *) subclass[rank[x_],succ[rank[U[x_]]]] := True (* derived 2004 December 29 in RK-SC.NB *) subclass[rank[U[x_]],rank[x_]] := True (* added 1999 October 29 based on 1999 October 28 session RC-LOG.1 *) subclass[RC[x_],cart[P[x_],P[x_]]] := True (* added 1999 October 29 based on 1999 October 28 session RC-LOG.1 *) subclass[RC[x_],DISJOINT] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[rec[x_,y_],cart[V,V]] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[rec[x_,y_],composite[x_,id[composite[IMG,id[cart[P[inverse[FIRST]],V]],inverse[SECOND],VERTSECT[y_]]],inverse[FIRST]]] := True (* derived 2004 August 3 in WF-REC-1.NB *) subclass[rec[x_,y_],composite[x_,inverse[FIRST]]] := True (* added 2002 March 4 based on ZN-1.NB *) subclass[REGULAR,domain[VERTSECT[ZN]]] := True (* Theorem REG-35 in REG2 proved 1998 March 1 *) subclass[REGULAR,RUSSELL] := True (* derived 2005 February 15 in RUS-A-DJ.NB *) subclass[REGULAR,union[fix[composite[DISJOINT,BIGCAP]],set[0]]] := True (* added 2003 May 30 based on RESTRICT.NB *) subclass[RESTRICT,cart[V,V]] := True (* added 2003 May 30 based on RESTRICT.NB *) subclass[RESTRICT,inverse[S]] := True (* derived 2004 December 17 in RFX.NB *) subclass[rfx[x_],x_] := True (* derived 2005 January 16 in RFX-CO.NB *) subclass[rfx[x_],composite[rfx[x_],rfx[x_]]] := True (* derived 2005 January 16 in RFX-CO.NB *) subclass[RFX,fix[composite[inverse[S],COMPOSE,DUP]]] := True (* added 2002 February 9 based on RFX-FUNS.NB *) subclass[RFX,invar[composite[DUP,FIRST]]] := True (* added 2002 February 9 based on RFX-FUNS.NB *) subclass[RFX,invar[composite[DUP,SECOND]]] := True (* derived 2004 November 11 in SEL-RFX.NB *) subclass[RFX,SELECT] := True (* added 2002 June 29 based on LEFT-SU.NB *) subclass[RIGHT[x_],inverse[FIRST]] := True subclass[RightPairV,cart[V,V]] := True (* derived 2004 June 25 in X2500-19.NB *) subclass[ROT,composite[SWAP,cross[SECOND,inverse[FIRST]]]] := True (* derived 2004 June 25 in X2500-19.NB *) subclass[rotate[x_],composite[SECOND,inverse[x_],FIRST]] := True (* added 2002 October 27 based on NATMUL.NB *) subclass[rotate[x_],rotate[y_]] := subclass[composite[x,id[cart[V,V]]],y] (* derived 2004 August 9 in RS-2.NB *) subclass[RS[composite[x_,id[y_]]],RS[x_]] := True (* derived 2004 December 12 in RESTRICT.NB *) subclass[RS[x_],FUNS] := FUNCTION[thinpart[x]] (* derived 2004 August 9 in RS-2.NB *) subclass[RS[x_],invar[composite[id[x_],inverse[FIRST],FIRST]]] := True (* derived 2004 November 2 in SELECT.NB *) subclass[RS[inverse[E]],SELECT] := axch (* derived 2004 December 12 in RESTRICT.NB *) subclass[RS[x_],REGULAR] := subclass[thinpart[x],REGULAR] (* derived 2004 August 7 in RS-1.NB *) subclass[RS[x_],set[0]] := equal[0,domain[thinpart[x]]] (* derived 2004 September 30 in EQV-THNP.NB *) subclass[RS[trv[x_]],TRV] := True subclass[S,cart[x_,y_]] := and[equal[V,x],equal[V,y]] (* added 2003 October 20 based on MONOPLUS.NB *) subclass[S,composite[inverse[ACLOSURE],S,ACLOSURE]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[S,composite[inverse[BIGCUP],inverse[POWER],S]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[S,composite[inverse[CLIQUES],S,CLIQUES]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[S,composite[inverse[CORE[x_]],S,CORE[x_]]] := True (* added 2001 May 11 based on MONO-2.NB *) subclass[S,composite[inverse[IMAGE[x_]],S,IMAGE[x_]]] := equal[V,domain[VERTSECT[x]]] (* added 2003 October 20 based on MONOPLUS.NB *) subclass[S,composite[inverse[SUBVAR],S,SUBVAR]] := True (* revised 2000 October 24 *) subclass[S,composite[inverse[TC],S,TC]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[S,composite[inverse[UCLOSURE],S,UCLOSURE]] := True (* derived 2004 April 6 in SMALLER.NB *) subclass[S,composite[Q,S]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[S,composite[S,HC]] := True (* added 2003 October 20 based on MONOPLUS.NB *) subclass[S,composite[S,IMAGE[id[x_]]]] := True (* derived 2005 January 5 in RANK-S.NB *) subclass[S,inverse[ZN]] := True subclass[SECOND,cart[x_,y_]] := and[subclass[cart[V,V],x],equal[V,y]] (* Theorems SS-11 in SS3 and SS-SU in SS4 *) subclass[set[x_],y_] := or[not[member[x,V]],member[x,y]] (* derived 2004 March 4 in PAIRSET.NB *) subclass[set[x_,y_],image[z_,set[y_]]] := or[and[member[y,fix[z]],member[pair[y,x],z]], and[member[y,fix[z]],not[member[x,V]]],and[not[member[x,V]],not[member[y,V]]]] (* derived 2005 January 18 in SET-SU.NB *) subclass[set[x__,y___],set[x__,z___]] := subclass[set[y],set[x,z]] (* derived 2005 January 21 in SS-A.NB *) subclass[x_,set[U[x_]]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 November 12 in SETPFUNP.NB *) subclass[setpart[x_],x_] := True subclass[SINGLETON,cart[x_,y_]] := and[equal[V,x],subclass[range[SINGLETON],y]] subclass[SINGLETON,E] := True (* added 2003 June 6 based on FUNCTION.NB *) subclass[SINGLETON,inverse[BIGCAP]] := True subclass[SINGLETON,inverse[BIGCUP]] := True (* derived 2004 April 6 in SMALLER.NB *) subclass[SMALLER,cart[V,V]] := True (* derived 2004 April 6 in SMALLER.NB *) subclass[SMALLER,composite[Q,S]] := True (* added 2002 January 28 based on SUBVAR.NB *) subclass[SUBVAR,composite[E,IMAGE[inverse[DUP]]]] := True (* derived 2004 January 19 in SBV-SU-I.NB *) subclass[subvar[intersection[x_,y_]],subvar[x_]] := True (* added 2003 October 7 based on WF-IND.NB *) subclass[subvar[x_],set[0]] := WELLFOUNDED[composite[Id,x]] (* derived 2005 February 1 in DIV-WF.NB *) subclass[subvar[x_],subvar[composite[x_,x_]]] := True (* derived 2005 April 19 in XVR-TRV.NB *) subclass[subvar[x_],subvar[trv[x_]]] := True (* added 2002 October 27 based on SUBVAR.NB *) subclass[subvar[x_],subvar[union[x_,y_]]] := True (* derived 2005 January 30 in X3914.NB *) subclass[subvar[SUCC],DESCENDING] := True (* added 2002 April 26 based on FULLSUCC.NB *) subclass[x_,succ[x_]] := True subclass[SUCC,cart[x_,y_]] := and[equal[V,x],subclass[range[SUCC],y]] (* Theorem SUC-ES1 in SUC-REL *) subclass[SUCC,E] := True (* derived 2005 January 7 in K-SUCC.NB *) subclass[SUCC,K] := equal[0,fix[E]] (* derived 2005 June 27 in NAT-SUCC.NB *) subclass[succ[x_],nat[y_]] := member[x,nat[y]] (* added 2002 June 8 based on OM-SS-SU.NB *) subclass[succ[x_],omega] := member[x,omega] (* Theorem SUC-ES1 in SUC-REL *) subclass[SUCC,S] := True (* derived 2005 January 3 in SUCC-UP.NB *) subclass[succ[setpart[x_]],y_] := and[member[setpart[x],y],subclass[setpart[x],y]] (* derived 2005 January 7 in K-SUCC.NB *) subclass[SUCC,union[Id,K]] := True (* derived 2005 January 7 in K-SUCC.NB *) subclass[SUCC,union[K,id[fix[E]]]] := True subclass[SWAP,cart[x_,y_]] := and[subclass[cart[V,V],x],subclass[cart[V,V],y]] (* added 2001 October 10 based on SYM-1.NB *) subclass[SYM,invar[SWAP]] := True (* derived 2003 December 27 in T1.NB *) subclass[T1,binclosed[CAP]] := False (* derived 2003 December 27 in T1.NB *) subclass[T1,fix[UCLOSURE]] := False (* derived 2003 December 28 in PTCLOSED.NB *) subclass[T1,PointClosed] := False (* derived 2003 December 30 in T2.NB *) subclass[T1,T2] := False (* derived 2003 December 30 in T2.NB *) subclass[T2,binclosed[CAP]] := False (* derived 2003 December 30 in T2.NB *) subclass[T2,fix[UCLOSURE]] := False (* added 2003 June 23 based on T1.NB *) subclass[T2,T1] := True (* added 2001 March 15 based on H-1.NB *) subclass[x_,tc[x_]] := True (* derived 2005 February 3 in X4224.NB *) subclass[tc[intersection[FINITE,FULL]],FINITE] := True (* added 2000 January 8 based on SU-RS.NB *) subclass[TC,S] := True (* derived 2004 May 14 in THINPART.NB *) subclass[thinpart[x_],x_] := True (* derived 2004 May 14 in THINPART.NB *) subclass[thinpart[x_],cart[V,V]] := True (* derived 2004 November 21 in FUNP-DO.NB *) subclass[thinpart[x_],funpart[x_]] := FUNCTION[thinpart[x]] (* derived 2004 February 10 in TO.NB *) subclass[TO,ANTISYM] := True (* derived 2004 December 14 in IDEMPROJ.NB *) subclass[TO,IDEM] := True (* derived 2004 February 10 in TO.NB *) subclass[TO,PO] := True (* derived 2004 February 10 in TO.NB *) subclass[TO,RFX] := True (* derived 2004 February 10 in TO.NB *) subclass[TO,TRV] := True (* revised 2003 May23 based on DEF-CLOS.NB *) subclass[TOPS,binclosed[CAP]] := True (* added 2003 May 18 based on TOPS.NB *) subclass[TOPS,fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := True (* added 2001 October 23 based on TOPS.NB *) subclass[TOPS,fix[UCLOSURE]] := True (* derived 2003 December 27 in T1.NB *) subclass[TOPS,T1] := False (* derived 2003 December 30 in T2.NB *) subclass[TOPS,T2] := False (* derived 2004 June 24 in XVR-SU.NB *) subclass[transvar[x_,y_],transvar[composite[w_,x_],composite[w_,y_]]] := True (* added 2003 March 29 based on TRV-EQ.NB *) subclass[x_,trv[x_]] := subclass[x,cart[V,V]] (* derived 2004 March 21 in TRV-WRAP.NB *) subclass[trv[x_],x_] := TRANSITIVE[composite[Id,x]] (* derived 2004 March 29 based on HULL.NB *) subclass[trv[x_],hull[TRV,x_]] := True (* added 2003 July 1 based on TRANSTIV.NB *) subclass[trv[intersection[x_,y_]],trv[x_]] := True (* derived 2004 March 23 in TRV-K.NB *) subclass[trv[K],S] := True (* added 2001 January 18 based on TWIST-1.NB *) subclass[twist[x_],cart[V,V]] := True (* added 2002 May 10 based on U-A.NB *) subclass[U[x_],A[x_]] := or[equal[0,x],member[x,range[SINGLETON]]] (* added 2002 May 28 based on CARD-OM.NB *) subclass[U[card[x_]],card[x_]] := True (* Theorem DO-GT in GREATEST proved 2000 November 18 *) subclass[U[domain[GREATEST[x_]]],domain[x_]] := True (* Theorem DO-LT in LEAST proved 2000 December 5 *) subclass[U[domain[LEAST[x_]]],range[x_]] := True (* derived 2004 February 14 in LUB-SET.NB *) subclass[U[domain[LUB[x_]]],domain[x_]] := True (* derived 2004 August 19 in X2901-93.NB *) subclass[U[fix[IMAGE[x_]]],domain[VERTSECT[x_]]] := True (* derived 2004 August 19 in X2901-93.NB *) subclass[U[fix[IMAGE[x_]]],range[x_]] := True (* derived 2005 January 30 in X3949.NB *) subclass[U[x_],H[x_]] := subclass[U[x],x] (* added 2001 March 17 based on TC-I-FUL.NB *) subclass[U[H[x_]],x_] := True (* Theorem H-1 in H proved 2001 March 15 *) subclass[U[H[x_]],H[x_]] := True (* derived 2004 December 25 in SELCO-LT.NB *) subclass[U[image[COMPOSE,x_]],cart[V,V]] := True (* added 2002 May 4 based on CORE.NB *) subclass[U[image[CORE[x_],P[y_]]],y_] := True (* added 2002 December 16 based on REPLACE.NB *) subclass[U[image[inverse[IMAGE[x_]],y_]],domain[VERTSECT[x_]]] := True (* added 2003 June 6 based on FUNCTION.NB *) subclass[U[image[MAP,x_]],FUNS] := True (* derived 2004 January 22 in U-SBV-PC.NB *) subclass[U[image[SUBVAR,x_]],subvar[U[x_]]] := True (* derived 2005 February 3 in X4224.NB *) subclass[U[intersection[FINITE,FULL]],FINITE] := True (* added 2003 June 4 based on LIMITORD.NB *) subclass[U[intersection[OMEGA,x_]],OMEGA] := True (* added 2000 December 3 based on SUBVAR.NB *) subclass[U[intersection[x_,y_]],U[y_]] := True (* derived 2005 February 13 in NAT.NB *) subclass[U[nat[x_]],nat[x_]] := True (* derived 2005 April 26 in DICHOT.NB *) subclass[U[nat[x_]],omega] := True (* derived 2004 August 14 in X4052-57.NB *) subclass[U[rank[x_]],rank[x_]] := True (* Theorems REG2-SU1 and REG2-SU2 in REG2 proved 1999 June 12 *) subclass[U[x_],REGULAR] := subclass[x,REGULAR] (* derived 2004 September 21 in WF-X.NB *) subclass[U[subvar[cross[x_,y_]]],cart[range[x_],range[y_]]] := True (* derived 2004 September 21 in WF-X.NB *) subclass[U[subvar[cross[x_,y_]]],cart[V,V]] := True (* added 2000 December 3 based on SUBVAR.NB *) subclass[U[subvar[inverse[x_]]],domain[x_]] := True (* added 2000 October 12 based on TC-2.NB *) subclass[U[subvar[x_]],range[x_]] := True (* derived 2004 April 18 in TC-FIN.NB *) subclass[U[x_],tc[x_]] := True (* Theorem TC-FUL-1 in TC2 proved 2000 October 16 *) subclass[U[tc[x_]],tc[x_]] := True (* derived 2004 December 6 in U-MAP.NB *) subclass[U[U[image[MAP,x_]]],cart[V,V]] := True (* added 2000 November 21 based on NORMAL.NB *) subclass[x_,UB[y_]] := and[subclass[x,cart[V,V]],subclass[composite[x,E],y]] (* derived 2004 February 19 in REPLACE2.NB *) subclass[x_,ub[y_,z_]] := subclass[cart[z,x],y] (* derived 2004 December 22 in UCL-COMT.NB *) subclass[UB[x_],composite[BIGCUP,LB[LB[x_]]]] := True (* derived 2004 February 21 in LB-UB-SU.NB *) subclass[ub[x_,y_],image[x_,y_]] := not[equal[0,y]] (* derived 2004 February 21 in LB-UB-SU.NB *) subclass[ub[x_,V],range[x_]] := True (* added 2001 September 22 based on UCL.NB *) subclass[x_,Uclosure[x_]] := True (* derived 2003 December 30 in PTCLOSED.NB *) subclass[UCLOSURE,COARSER] := True (* added 2003 June 6 based on ACL-UCL.NB *) subclass[UCLOSURE,composite[inverse[S],POWER,BIGCUP]] := True (* derived 2004 January 23 in P-FINITE.NB *) subclass[Uclosure[x_],FINITE] := and[subclass[x,FINITE],subclass[P[x],FINITE]] (* added 2001 May 10 based on UCLOS-1.NB *) subclass[UCLOSURE,S] := True (* derived 2004 April 25 in IMS-UCL.NB *) subclass[Uclosure[x_],union[image[S,x_],set[0]]] := True (* added 2002 December 21 based on IVR-EQDF.NB *) subclass[Uclosure[Z],invar[EQUIDIFF]] := True subclass[x_,union[x_,y_]] := True subclass[union[x_,y_],z_] := and[subclass[x,z],subclass[y,z]] (* added 1998 September 11 *) subclass[x_,union[complement[y_],z_]] := subclass[intersection[x,y],z] (* added 2002 September 8 based on REPLACE.NB *) subclass[x_,union[y_,composite[Id,complement[z_]]]] := and[subclass[x,union[y,cart[V,V]]],subclass[intersection[x,z],y]] (* derived 2005 January 21 in SS-U.NB *) subclass[x_,union[y_,image[Di,x_]]] := or[not[member[x,range[SINGLETON]]],subclass[x,y]] (* added 2002 January 30 based on ACL-TRV.NB *) subclass[x_,union[y_,image[V,z_]]] := or[not[equal[0,z]],subclass[x,y]] (* derived 2004 April 10 in UP-RULES.NB *) subclass[w_,union[x_,intersection[y_,image[V,z_]]]] := or[and[not[equal[0,z]],subclass[w,union[x,y]]],subclass[w,x]] (* added 2003 June 6 based on RUSSELL.NB *) subclass[x_,union[RUSSELL,U[x_]]] := True (* Axiom AX-V in AX-A *) subclass[x_,V] := True (* added 1998 September 17 *) subclass[V,0] := False (* added 1999 September 27 based on SP-V-CP.LOG *) subclass[V,cart[x_,y_]] := False (* derived 2004 February 25 in HULLUBLB.NB *) subclass[VERTSECT[complement[composite[complement[x_],LB[x_]]]],S] := True (* added 2002 May 9 based on WORK1330.NB *) subclass[VERTSECT[x_],inverse[LB[x_]]] := True (* derived 2004 August 15 in ZN-FACTS.NB *) subclass[VERTSECT[ZN],composite[S,POWER]] := True (* added 2002 May 9 based on WORK1330.NB *) subclass[VERTSECT[ZN],composite[ZN,POWER]] := True (* derived 2004 August 15 in ZN-FACTS.NB *) subclass[VERTSECT[ZN],E] := True (* added 2003 June 11 based on VS.NB *) subclass[VS,cart[V,V]] := True (* derived 2004 September 18 in WF-WRAP.NB *) subclass[wf[x_],x_] := True (* derived 2004 September 18 in WF-WRAP.NB *) subclass[x_,wf[x_]] := WELLFOUNDED[x] (* added 2003 October 15 based on ACYCLIC.NB *) subclass[WF,ACYCLIC] := True (* derived 2004 September 25 in LAMB-WF.NB *) subclass[WFPART,cart[V,V]] := True (* derived 2004 December 11 in RESTRICT.NB *) subclass[WFPART,composite[inverse[IMAGE[SWAP]],RESTRICT,IMAGE[SWAP]]] := True (* derived 2004 September 25 in LAMB-WF.NB *) subclass[WFPART,inverse[S]] := True (* derived 2004 March 14 in WO-SU.NB *) subclass[WO,ANTISYM] := True (* derived 2004 December 14 in IDEMPROJ.NB *) subclass[WO,IDEM] := True (* derived 2004 March 14 in WO-TRV.NB *) subclass[WO,PO] := True (* derived 2004 March 14 in WO-SU.NB *) subclass[WO,RFX] := True (* derived 2004 March 14 in WO-TRV.NB *) subclass[WO,TO] := True (* derived 2004 March 14 in WO-TRV.NB *) subclass[WO,TRV] := True (* derived 2004 November 26 in XS-CP.NB *) subclass[X[cart[x_,y_]],map[x_,y_]] := or[equal[0,x],not[equal[0,y]]] (* derived 2004 October 31 in U-X.NB *) subclass[X[x_],FUNS] := True (* derived 2004 November 26 in XS-CP.NB *) subclass[X[x_],map[domain[x_],range[x_]]] := True (* derived 2004 October 28 in X.NB *) subclass[X[x_],map[domain[x_],V]] := True (* derived 2004 November 2 in SELECT.NB *) subclass[X[x_],X[y_]] := or[and[equal[domain[x],domain[y]],subclass[composite[Id,x],y]],equal[0,X[x]]] (* added 2002 November 29 based on PLUS.NB *) subclass[Z,BIJ] := True (* added 2003 October 21 based on MONOPLUS.NB *) subclass[Z,cliques[complement[cross[S,complement[S]]]]] := True (* added 2002 November 17 based on HER-Z.NB *) subclass[Z,cliques[EQUIDIFF]] := True (* added 2002 November 19 based on FP-EQDF.NB *) subclass[Z,fix[IMAGE[EQUIDIFF]]] := True (* added 2003 August 12 based on RO-ZADD.NB *) subclass[Z,FUNS] := True (* added 2003 July 25 based on CPS-ZXZ.NB *) subclass[Z,image[COMPOSE,cart[Z,Z]]] := True (* added 2002 December 19 based on SUC-Z.NB *) subclass[Z,invar[cross[SUCC,SUCC]]] := True (* added 2001 June 5 based on SUBCOM.NB *) subcommutant[0] := V (* added 2001 June 5 based on SUBCOM.NB *) subcommutant[cart[x_,V]] := P[complement[cart[V,x]]] (* added 2001 June 5 based on SUBCOM.NB *) subcommutant[composite[Id,x_]] := subcommutant[x] (* derived 2004 June 24 in SP-E-CO.NB *) subcommutant[E] := P[complement[cart[V,V]]] (* derived 2004 June 17 in X1366.NB *) subcommutant[funpart[x_]] := intersection[invar[cross[funpart[x],funpart[x]]], P[complement[cart[complement[domain[funpart[x]]],domain[funpart[x]]]]]] (* added 2001 June 5 based on SUBCOM.NB *) subcommutant[Id] := V (* added 2001 June 5 based on SUBCOM.NB *) subcommutant[id[x_]] := P[complement[cart[complement[x],x]]] (* derived 2004 December 21 in SBCOMMUT.NB *) subcommutant[POWER] := invar[cross[POWER,POWER]] (* derived 2004 May 2 in REGULAR.NB *) subcommutant[REGULAR] := P[complement[cart[V,REGULAR]]] (* derived 2004 December 21 in SBCOMMUT.NB *) subcommutant[S] := P[complement[cart[V,V]]] (* derived 2004 December 21 in SBCOMMUT.NB *) subcommutant[SINGLETON] := invar[cross[SINGLETON,SINGLETON]] (* added 2001 June 5 based on SUBCOM.NB *) subcommutant[V] := P[complement[cart[V,V]]] subcommute[x_,y_] := subclass[composite[x,y],composite[y,x]] (* Theorem SBV-0 in SUBVAR proved 1999 February 14 *) subvar[0] := set[0] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[ACLOSURE] := P[fix[ACLOSURE]] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[ADJOIN[x_]] := P[image[S,set[x]]] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[CARD] := P[fix[CARD]] subvar[cart[x_,y_]] := union[intersection[complement[P[complement[x]]],P[y]], set[0]] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[COARSER] := V (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[COMMUTE] := V (* added 2000 December 5 based on DO-GT.NB *) subvar[complement[x_]] := complement[domain[GREATEST[x]]] (* Theorem SBV-IDCO in SUBVAR proved 1999 February 14 *) subvar[composite[Id,x_]] := subvar[x] (* Theorem SBV-RS in SUBVAR proved 1999 February 16 *) subvar[composite[id[x_],y_]] := intersection[P[x],subvar[y]] (* added 2001 December 23 based on DORA-3.NB *) subvar[composite[inverse[FIRST],SECOND]] := intersection[image[inverse[DORA],S],P[cart[V,V]]] (* added 2001 December 23 based on DORA-3.NB *) subvar[composite[inverse[SECOND],FIRST]] := intersection[image[inverse[DORA],inverse[S]],P[cart[V,V]]] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[CORE[x_]] := P[Uclosure[x]] (* added 2001 November 27 based on FUNPART2.NB *) subvar[cross[Id,Di]] := intersection[image[inverse[FUNPART],set[0]],P[cart[V,V]]] (* Theorem SBV-DI in SUBVAR proved 1999 February 16 *) subvar[Di] := complement[range[SINGLETON]] (* derived 2004 March 18 in RFX-TRV.NB *) subvar[DIV] := P[omega] (* related to Theorem SBV-E in SUBVAR proved 1999 February 13 *) subvar[E] := DESCENDING (* added 2003 January 9 based on SBV-EQDF.NB *) subvar[EQUIDIFF] := P[cart[omega,omega]] (* added 2000 April 23 based on FINITE.NB *) subvar[FINITE] := V (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[FUNPART] := P[FUNS] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[HC] := P[FULL] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[HULL[x_]] := P[fix[HULL[x]]] (* Theorem SBV-IDX in SUBVAR proved 1999 February 14 *) subvar[id[x_]] := P[x] (* Theorem SBV-ID in SUBVAR proved 1999 February 13 *) subvar[Id] := V (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[IMAGE[id[x_]]] := P[P[x]] (* Theorem SBV-BC in SUBVAR proved 1999 February 14 *) subvar[inverse[BIGCUP]] := invar[BIGCUP] (* Theorem SBV-SR2 in SUBVAR proved 1999 February 16 *) subvar[inverse[S]] := V (* Theorem SBV-Q in SUBVAR2 proved 2000 April 27 *) subvar[Q] := V (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[RANK] := P[OMEGA] (* derived 2004 May 2 in REGULAR.NB *) subvar[REGULAR] := REGULAR (* Theorem SBV-SR1 in SUBVAR proved 1999 February 16 *) subvar[S] := V (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[SUBCOMMUTE] := V (* Theorem SBV-SW in SUBVAR proved 1999 February 15 *) subvar[SWAP] := fix[IMAGE[SWAP]] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[TC] := P[FULL] (* added 2003 November 4 based on SBVIDEMP.NB *) subvar[UCLOSURE] := P[fix[UCLOSURE]] (* added 2000 November 21 based on MAX-DO.NB *) subvar[union[x_,complement[cart[y_,V]]]] := union[complement[P[y]],subvar[x]] (* added 2001 May 31 based on SUBVAR.NB *) subvar[union[complement[x_],id[y_]]] := complement[image[inverse[GREATEST[x]],complement[y]]] (* added 2001 November 17 based on SUBVAR.NB *) subvar[union[x_,complement[image[V,set[y_]]]]] := union[complement[image[V,set[y]]],subvar[x]] (* added 2000 November 30 based on INVAR-U.NB *) subvar[union[Id,x_]] := V (* Theorem SBV-V in SUBVAR proved 1999 February 13 *) subvar[V] := V (* derived 2004 September 18 in WF-WRAP.NB *) subvar[wf[x_]] := set[0] (* added 2001 July 15 based on ZN-AGAIN.NB *) subvar[ZN] := V (* definition added 2002 October 17 *) subvariant[x_,y_] := subclass[y,image[x,y]] (* added 2001 August 23 based on OM.NB *) succ[0] := set[0] (* derived 2005 June 17 in DF.NB *) succ[nat[natsub[nat[x_],set[0]]]] := union[intersection[image[V,intersection[nat[x],set[set[0]]]],nat[x]],set[0]] (* derived 2005 February 16 in BC-OM.NB *) succ[U[nat[x_]]] := union[nat[x],set[0]] (* added 2002 July 28 based on ADDRULES.NB *) succ[union[x_,complement[image[V,y_]]]] := union[complement[image[V,y]],succ[x]] symdif[x_,y_] := union[dif[x,y],dif[y,x]] (* added 2000 September 19 *) SYMMETRIC[x_] := equal[inverse[x],x] (* derived 2004 April 18 in TC-FIN.NB *) tc[FINITE] := V (* added 2001 August 16 based on TC-REG.NB *) tc[FULL] := V (* added 2001 March 17 based on MUSTKEEP.NB *) tc[H[x_]] := H[x] (* derived 2004 December 29 in I-FUL-REG.NB *) tc[image[SINGLETON,x_]] := union[image[SINGLETON,x],tc[x]] (* derived 2004 December 29 in I-FUL-REG.NB *) tc[intersection[FULL,REGULAR]] := REGULAR (* Theorem TC-PC-1A in TC2 proved 2000 October 26 *) tc[P[x_]] := union[P[x],tc[x]] (* Theorem RK-1-TC in RANK1 proved 2001 August 11 *) tc[rank[x_]] := rank[x] (* added 2002 March 4 based on RUS.NB *) tc[RUSSELL] := V (* added 2001 March 15 based on H-1.NB *) tc[set[x_]] := union[intersection[image[V,set[x]],tc[x]],set[x]] (* derived 2005 January 3 in SUCC-UP.NB *) tc[succ[x_]] := union[set[x],tc[x]] (* Theorem TC-TC in TC2 proved 2000 October 23 *) tc[tc[x_]] := tc[x] (* Theorem TC-SC in TC2 proved 2000 October 23 *) tc[U[x_]] := U[tc[x]] (* Theorem TC-U in TC2 proved 2000 October 23 *) tc[union[x_,y_]] := union[tc[x],tc[y]] (* definition of thin *) thin[x_] := equal[V,domain[VERTSECT[x]]] (* added 2002 November 24 based on THIN.NB *) thin[cart[x_,y_]] := or[equal[0,x],member[y,V]] (* added 2002 November 24 based on THIN.NB *) thin[composite[x_,FIRST]] := thin[x] (* added 2002 November 24 based on THIN.NB *) thin[composite[inverse[FIRST],x_]] := equal[0,domain[x]] (* added 2002 November 24 based on THIN.NB *) thin[composite[inverse[SECOND],x_]] := equal[0,domain[x]] (* added 2002 November 24 based on THIN.NB *) thin[composite[x_,SECOND]] := thin[x] (* added 2002 November 24 based on THIN.NB *) thin[id[x_]] := True (* derived 2004 May 14 in THINPART.NB *) thinpart[0] := 0 (* derived 2004 May 14 in THINPART.NB *) thinpart[cart[x_,y_]] := cart[x,setpart[y]] (* derived 2004 May 14 based on SPECIAL.NB *) thinpart[complement[composite[complement[inverse[E]],x_]]] := composite[complement[composite[complement[inverse[E]],x]],id[domain[x]]] (* derived 2004 May 14 based on SPECIAL.NB *) thinpart[complement[composite[complement[inverse[S]],x_]]] := composite[complement[composite[complement[inverse[S]],x]],id[domain[x]]] (* derived 2004 May 14 in THINPART.NB *) thinpart[complement[S]] := 0 (* derived 2004 May 14 in THINPART.NB *) thinpart[complement[thinpart[x_]]] := 0 (* derived 2004 December 24 in THINPART.NB *) thinpart[composite[BIGCAP,inverse[LB[x_]]]] := composite[inverse[E],ACLOSURE,VERTSECT[x]] (* derived 2004 December 24 in THINPART.NB *) thinpart[composite[BIGCAP,inverse[UB[x_]]]] := composite[inverse[E],ACLOSURE,VERTSECT[inverse[x]]] (* derived 2004 December 24 in THINPART.NB *) thinpart[composite[BIGCUP,inverse[LB[x_]]]] := composite[inverse[E],UCLOSURE,VERTSECT[x]] (* derived 2004 December 24 in THINPART.NB *) thinpart[composite[BIGCUP,inverse[UB[x_]]]] := composite[inverse[E],UCLOSURE,VERTSECT[inverse[x]]] (* derived 2004 May 14 in THINPART.NB *) thinpart[composite[Id,x_]] := thinpart[x] (* derived 2004 May 14 in THINPART.NB *) thinpart[composite[x_,id[y_]]] := composite[thinpart[x],id[y]] (* derived 2004 May 14 based on SPECIAL.NB *) thinpart[composite[id[x_],inverse[FIRST]]] := composite[id[thinpart[x]],inverse[FIRST]] (* derived 2004 May 14 based on SPECIAL.NB *) thinpart[composite[id[x_],inverse[SECOND]]] := composite[id[inverse[thinpart[inverse[x]]]],inverse[SECOND]] (* derived 2004 December 24 in THINPART.NB *) thinpart[composite[inverse[E],x_]] := composite[inverse[E],thinpart[x]] (* derived 2004 August 4 in THIN-RA.NB *) thinpart[composite[x_,inverse[E]]] := composite[inverse[E],IMAGE[x]] (* derived 2004 December 24 in THINPART.NB *) thinpart[composite[inverse[S],x_]] := composite[inverse[S],thinpart[x]] (* derived 2004 May 14 based on SPECIAL.NB *) thinpart[composite[x_,SWAP]] := composite[thinpart[x],SWAP] (* derived 2004 May 14 based on SPECIAL.NB *) thinpart[cross[x_,y_]] := cross[thinpart[x],thinpart[y]] (* derived 2004 May 14 in THINPART.NB *) thinpart[Di] := 0 (* derived 2004 May 14 in THINPART.NB *) thinpart[DISJOINT] := 0 (* derived 2004 May 14 in THINPART.NB *) thinpart[funpart[x_]] := funpart[x] (* derived 2005 April 16 in VS-I-DI.NB *) thinpart[intersection[Di,x_]] := intersection[Di,thinpart[x]] (* derived 2004 May 14 in THINPART.NB *) thinpart[intersection[x_,thinpart[y_]]] := intersection[x,thinpart[y]] (* derived 2004 May 14 in THINPART.NB *) thinpart[inverse[BIGCUP]] := inverse[BIGCUP] (* derived 2004 May 14 in THINPART.NB *) thinpart[inverse[E]] := inverse[E] (* derived 2004 December 24 in UCL-LBUB.NB *) thinpart[inverse[LB[x_]]] := composite[inverse[S],VERTSECT[x]] (* derived 2004 May 14 in THINPART.NB *) thinpart[inverse[S]] := inverse[S] (* derived 2004 May 14 in THINPART.NB *) thinpart[inverse[SUCC]] := inverse[SUCC] (* derived 2005 January 29 in RFXTRVTH.NB *) thinpart[rfx[trv[thinpart[x_]]]] := rfx[trv[thinpart[x]]] (* derived 2004 May 14 in THINPART.NB *) thinpart[setpart[x_]] := composite[Id,setpart[x]] (* derived 2004 May 14 in THINPART.NB *) thinpart[thinpart[x_]] := thinpart[x] (* derived 2004 May 14 in THINPART.NB *) thinpart[V] := 0 (* derived 2004 February 11 in TOTORDER.NB *) TOTALORDER[0] := True (* derived 2004 February 10 in TOTORDER.NB *) TOTALORDER[cart[x_,x_]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 February 10 in TOTORDER.NB *) TOTALORDER[composite[id[omega],S,id[omega]]] := True (* derived 2004 February 10 in TOTORDER.NB *) TOTALORDER[composite[id[OMEGA],S,id[OMEGA]]] := True (* derived 2004 March 21 in PO-WRAP.NB *) TOTALORDER[composite[id[x_],S,id[x_]]] := subclass[cart[x,x],union[S,inverse[S]]] (* derived 2004 February 10 in TOTORDER.NB *) TOTALORDER[Id] := False (* derived 2004 February 10 in TOTORDER.NB *) TOTALORDER[id[x_]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 February 10 in TOTORDER.NB *) TOTALORDER[S] := False (* derived 2004 February 10 in TOTORDER.NB *) TOTALORDER[union[cart[set[x_],set[y_]],id[set[x_,y_]]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[0] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[ACLOSURE] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[ADJOIN[x_]] := True (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[BIGCAP] := False (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[CARD] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[cart[x_,y_]] := True (* added 2003 July 4 based on COARSER.NB *) TRANSITIVE[COARSER] := True (* derived 2004 December 10 in DIV-TRV.NB *) TRANSITIVE[composite[COMPOSE,id[cart[BIJ,V]],inverse[SECOND]]] := True (* derived 2004 December 10 in DIV-TRV.NB *) TRANSITIVE[composite[COMPOSE,id[cart[FUNS,V]],inverse[SECOND]]] := True (* derived 2004 December 10 in DIV-TRV.NB *) TRANSITIVE[composite[COMPOSE,id[cart[V,BIJ]],inverse[FIRST]]] := True (* derived 2004 December 10 in DIV-TRV.NB *) TRANSITIVE[composite[COMPOSE,id[cart[V,FUNS]],inverse[FIRST]]] := True (* derived 2004 December 2 in PRECISE.NB *) TRANSITIVE[composite[COMPOSE,id[composite[inverse[IMAGE[SECOND]],IMAGE[FIRST]]],inverse[FIRST]]] := True (* derived 2004 December 2 in PRECISE.NB *) TRANSITIVE[composite[COMPOSE,id[composite[inverse[IMAGE[SECOND]],IMAGE[FIRST]]],inverse[SECOND]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[composite[COMPOSE,inverse[FIRST]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[composite[COMPOSE,inverse[SECOND]]] := True (* derived 2004 March 23 in ADJECT.NB *) TRANSITIVE[composite[CUP,id[cart[V,x_]],inverse[FIRST]]] := subclass[image[CUP,cart[x,x]],x] (* derived 2004 March 29 based on HULL.NB *) TRANSITIVE[composite[Id,hull[TRV,x_]]] := True (* derived 2004 August 7 in RS-1.NB *) TRANSITIVE[composite[id[x_],inverse[FIRST],FIRST]] := True (* derived 2004 August 28 in TRV-E-OM.NB *) TRANSITIVE[composite[id[omega],E]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[id[x_],S]] := True (* derived 2004 January 11 in PO-RS-S.NB *) TRANSITIVE[composite[id[x_],S,id[y_]]] := True (* derived 2004 September 30 in EQV-THNP.NB *) TRANSITIVE[composite[id[x_],trv[y_]]] := True (* derived 2004 December 16 in RFX-CORE.NB *) TRANSITIVE[composite[id[x_],trv[y_],id[z_]]] := True (* derived 2004 June 24 in SBCOMTNT.NB *) TRANSITIVE[composite[Id,U[subcommutant[x_]]]] := True (* derived 2004 August 28 in TRV-E-OM.NB *) TRANSITIVE[composite[inverse[E],id[omega]]] := True (* derived 2004 August 28 in TRV-TC.NB *) TRANSITIVE[composite[inverse[E],TC]] := True (* derived 2004 August 27 in TRV-COND.NB *) TRANSITIVE[composite[inverse[funpart[x_]],funpart[x_]]] := True (* derived 2004 December 17 in RFXTRV-C.NB *) TRANSITIVE[composite[inverse[funpart[x_]],inverse[S],funpart[x_]]] := True (* derived 2004 December 27 in FUN-TRV.NB *) TRANSITIVE[composite[inverse[funpart[x_]],trv[y_],funpart[x_]]] := True (* derived 2004 October 14 in REFINE.NB *) TRANSITIVE[composite[inverse[IMAGE[inverse[S]]],COARSER]] := True (* derived 2004 October 14 in REFINE.NB *) TRANSITIVE[composite[inverse[IMAGE[inverse[S]]],S]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[inverse[S],ACLOSURE]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[inverse[S],CORE[x_]]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[inverse[S],HC]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[inverse[S],IMAGE[id[x_]]]] := True (* derived 2004 October 14 in REFINE.NB *) TRANSITIVE[composite[inverse[S],IMAGE[inverse[S]]]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[inverse[S],TC]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[inverse[S],UCLOSURE]] := True (* derived 2005 February 4 in X3943.NB *) TRANSITIVE[composite[inverse[TC],E]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[POWER,BIGCUP]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[Q,inverse[S]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) TRANSITIVE[composite[Q,S]] := True (* derived 2004 August 10 in RS-3.NB *) TRANSITIVE[composite[RESTRICT,id[P[cart[V,V]]]]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,ACLOSURE]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,CORE[x_]]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,HC]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,HULL[x_]]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,id[x_]]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,IMAGE[id[x_]]]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,RANK]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,TC]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[composite[S,UCLOSURE]] := True (* derived 2004 September 30 in EQV-THNP.NB *) TRANSITIVE[composite[trv[x_],id[y_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[CORE[x_]] := True (* derived 2004 December 3 in TRVASSOC.NB *) TRANSITIVE[cross[trv[x_],trv[y_]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[Di] := False (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[DISJOINT] := False (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[DIV] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[EQUIDIFF] := True (* derived 2004 August 28 in TRV-TC.NB *) TRANSITIVE[EQUIV] := True (* derived 2004 May 11 in EQV-GEN.NB *) TRANSITIVE[eqv[x_]] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[FUNPART] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[HC] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[HULL[x_]] := True (* derived 2004 March 29 based on HULL.NB *) TRANSITIVE[hull[TRV,x_]] := and[member[x,V],subclass[x,cart[V,V]]] (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[Id] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[id[x_]] := True (* derived 2004 July 26 in DORAFUNS.NB *) TRANSITIVE[image[DORA,FUNS]] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[IMAGE[id[x_]]] := True (* derived 2004 August 28 in TRV-CO.NB *) TRANSITIVE[IMAGE[inverse[S]]] := True (* derived 2004 April 4 in IRR-TRV.NB *) TRANSITIVE[intersection[complement[composite[Q,inverse[S]]],composite[Q,S]]] := True (* added 2003 July 4 based on TRANSTIV.NB *) TRANSITIVE[intersection[Di,x_]] := and[subclass[intersection[x,inverse[x]],Id],TRANSITIVE[composite[Id,x]]] (* derived 2004 March 21 in TRV-WRAP.NB *) TRANSITIVE[intersection[trv[x_],trv[y_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[inverse[x_]] := TRANSITIVE[composite[Id,x]] (* derived 2004 August 28 in TRV-TC.NB *) TRANSITIVE[OOPART] := True (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[POWER] := False (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[PS] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[Q] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[RANK] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[RESTRICT] := True (* derived 2004 December 17 in RFXTRV-C.NB *) TRANSITIVE[rfx[thinpart[trv[x_]]]] := True (* derived 2004 December 16 in RFX-CORE.NB *) TRANSITIVE[rfx[trv[x_]]] := True (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[ROT] := False (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[S] := True (* derived 2004 April 6 in SMALLER.NB *) TRANSITIVE[SMALLER] := True (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[SWAP] := False (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[TC] := True (* derived 2004 June 6 in EQV-TRV.NB *) TRANSITIVE[thinpart[eqv[x_]]] := True (* derived 2004 December 17 in RFXTRV-C.NB *) TRANSITIVE[thinpart[rfx[trv[x_]]]] := True (* derived 2004 June 5 in THPT-TRV.NB *) TRANSITIVE[thinpart[trv[x_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[trv[x_]] := True (* added 2003 July 1 based on ASS-TRV.NB *) TRANSITIVE[TWIST] := False (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[UCLOSURE] := True (* derived 2004 June 6 in EQV-TRV.NB *) TRANSITIVE[union[eqv[x_],id[y_]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) TRANSITIVE[union[Id,eqv[x_]]] := True (* derived 2004 March 23 in TRV-K.NB *) TRANSITIVE[union[Id,trv[x_]]] := True (* derived 2004 June 6 in EQV-TRV.NB *) TRANSITIVE[union[id[x_],trv[y_]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[V] := False (* derived 2004 December 11 in RESTRICT.NB *) subclass[WFPART,composite[inverse[IMAGE[SWAP]],RESTRICT,IMAGE[SWAP]]] := True (* added 2003 July 1 based on TRANSTIV.NB *) TRANSITIVE[ZN] := True (* derived 2004 June 16 in TRANSVAR.NB *) transvar[0,x_] := V (* derived 2004 June 16 in TRANSVAR.NB *) transvar[x_,0] := P[complement[domain[x]]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[complement[S],complement[E]] := FULL (* derived 2004 June 16 in TRANSVAR.NB *) transvar[composite[Id,x_],y_] := transvar[x,y] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[x_,composite[Id,y_]] := transvar[x,y] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[cross[Id,x_],cross[inverse[x_],Id]] := subcommutant[x] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[cross[x_,Id],cross[Id,inverse[x_]]] := image[inverse[IMAGE[SWAP]],subcommutant[x]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[cross[Id,inverse[x_]],cross[x_,Id]] := subcommutant[inverse[x]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[cross[inverse[x_],Id],cross[Id,x_]] := image[inverse[IMAGE[SWAP]],subcommutant[inverse[x]]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[Id,x_] := subvar[x] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[x_,Id] := invar[x] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[id[x_],y_] := subvar[union[y,id[complement[x]]]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[x_,id[y_]] := intersection[invar[x],P[complement[image[inverse[x],complement[y]]]]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[inverse[S],complement[S]] := complement[fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[S,complement[composite[x_,S]]] := complement[domain[GREATEST[composite[x,S]]]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[S,complement[inverse[S]]] := complement[fix[composite[E,BIGCAP]]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[S,E] := DESCENDING (* derived 2005 April 19 in XVR-TRV.NB *) transvar[S,inverse[E]] := subvar[inverse[E]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[union[x_,y_],z_] := intersection[transvar[x,z],transvar[y,z]] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[x_,union[y_,complement[cart[V,V]]]] := transvar[x,y] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[x_,V] := V (* derived 2004 June 16 in TRANSVAR.NB *) transvariant[x_,y_,z_] := subclass[image[x,z],image[y,z]] (* added 2002 March 27 based on TRV.NB *) trv[0] := 0 (* added 2002 March 27 based on TRV.NB *) trv[ACLOSURE] := ACLOSURE (* added 2003 April 4 based on TRV.NB *) trv[ADJOIN[x_]] := ADJOIN[x] (* added 2002 March 27 based on TRV.NB *) trv[CARD] := CARD (* added 2002 March 24 based on TRV-1.NB *) trv[cart[x_,y_]] := cart[x,y] (* added 2002 March 28 based on COMMUTE.NB *) trv[COMMUTE] := cart[V,V] (* derived 2005 April 19 in XVR-TRV.NB *) trv[complement[E]] := cart[V,V] (* added 2002 March 24 based on TRV-1.NB *) trv[composite[Id,x_]] := trv[x] (* derived 2004 August 28 in TRV-E-OM.NB *) trv[composite[id[omega],E]] := composite[id[omega],E] (* added 2002 December 31 based on TRV-SUCC.NB *) trv[composite[id[omega],SUCC]] := composite[id[omega],E] (* added 2002 March 28 based on TRV.NB *) trv[composite[inverse[E],SUCC]] := union[Id,composite[inverse[E],TC]] (* derived 2004 August 28 in TRV-TC.NB *) trv[composite[inverse[SUCC],E]] := union[Id,composite[inverse[TC],E]] (* added 2003 April 4 based on TRV.NB *) trv[CORE[x_]] := CORE[x] (* derived 2005 April 19 in XVR-TRV.NB *) trv[Di] := cart[V,V] (* added 2002 March 28 based on TRV.NB *) trv[DISJOINT] := cart[V,V] (* added 2002 March 24 based on TRV-2.NB *) trv[E] := composite[inverse[TC],E] (* derived 2004 June 6 in EQV-TRV.NB *) trv[eqv[x_]] := eqv[x] (* added 2002 March 27 based on TRV.NB *) trv[FUNPART] := FUNPART (* added 2002 March 27 based on TRV.NB *) trv[HC] := HC (* added 2003 April 4 based on TRV.NB *) trv[HULL[x_]] := HULL[x] (* added 2002 March 27 based on TRV.NB *) trv[Id] := Id (* added 2002 March 28 based on TRV.NB *) trv[id[x_]] := id[x] (* added 2002 March 28 based on TRV.NB *) trv[IMAGE[id[x_]]] := IMAGE[id[x]] (* added 2002 March 28 based on TRV.NB *) trv[IMAGE[inverse[S]]] := IMAGE[inverse[S]] (* added 2002 March 24 based on TRV-1.NB *) trv[inverse[x_]] := inverse[trv[x]] (* added 2002 March 28 based on TRV.NB *) trv[PS] := PS (* added 2002 March 27 based on TRV.NB *) trv[Q] := Q (* added 2002 March 27 based on TRV.NB *) trv[RANK] := RANK (* derived 2004 June 6 in EQV-TRV.NB *) trv[thinpart[eqv[x_]]] := thinpart[eqv[x]] (* derived 2004 May 2 in REGULAR.NB *) subvar[REGULAR] := REGULAR (* added 2002 March 24 based on TRV-1.NB *) trv[S] := S (* derived 2005 April 19 in XVR-TRV.NB *) trv[SUBCOMMUTE] := cart[V,V] (* added 2002 March 27 based on TRV.NB *) trv[TC] := TC (* derived 2004 June 5 in THPT-TRV.NB *) trv[thinpart[trv[x_]]] := thinpart[trv[x]] (* added 2002 March 24 based on TRV-1.NB *) trv[trv[x_]] := trv[x] (* added 2002 March 27 based on TRV.NB *) trv[UCLOSURE] := UCLOSURE (* derived 2004 May 12 in EQUIV.NB *) trv[union[x_,complement[image[V,y_]]]] := union[cart[V,complement[image[V,y]]],trv[x]] (* added 2002 March 28 based on TRV.NB *) trv[union[Id,x_]] := union[Id,trv[x]] (* added 2002 March 28 based on TRV.NB *) trv[V] := cart[V,V] (* added 2002 March 27 based on TRV.NB *) trv[ZN] := ZN (* added 2001 January 20 based on TW-0.NB *) twist[0] := 0 (* added 2001 January 18 based on TWIST-2.NB *) twist[cart[x_,y_]] := cross[x,y] (* added 2001 January 20 based on TWIST-2.NB *) twist[complement[x_]] := composite[id[cart[V,V]],complement[twist[x]],id[cart[V,V]]] (* added 2003 July 2 based on TWIST.NB *) twist[composite[ASSOC,SWAP]] := composite[cross[SWAP,SWAP],inverse[RIF],SWAP] (* added 2003 May 30 based on TWIST.NB *) twist[composite[x_,cross[y_,z_]]] := composite[cross[inverse[z],Id],twist[x],cross[y,Id]] (* added 2003 May 30 based on TWIST.NB *) twist[composite[cross[x_,y_],z_]] := composite[cross[Id,y],twist[z],cross[Id,inverse[x]]] (* added 2001 February 8 based on TWIST-4.NB *) twist[composite[DUP,x_,inverse[DUP]]] := id[composite[Id,x]] (* added 2001 February 8 based on TWIST-2.NB *) twist[composite[x_,FIRST]] := composite[inverse[SECOND],rotate[inverse[x]]] (* added 2001 January 18 based on TWIST-1.NB *) twist[composite[Id,x_]] := twist[x] (* added 2001 January 20 based on TWIST-2.NB *) twist[composite[x_,id[y_]]] := intersection[composite[inverse[FIRST],y,FIRST],twist[x]] (* added 2001 January 20 based on TWIST-2.NB *) twist[composite[id[x_],y_]] := intersection[composite[inverse[SECOND],x,SECOND],twist[y]] (* added 2001 February 27 based on TWIST.NB *) twist[composite[intersection[composite[inverse[FIRST],u_],composite[inverse[SECOND],v_]], w_,intersection[composite[x_,FIRST],composite[y_,SECOND]]]] := composite[cross[inverse[y],v],id[w],cross[x,inverse[u]]] (* added 2001 February 27 based on TW-CPS.NB *) twist[composite[inverse[E],COMPOSE]] := composite[SWAP,cross[SECOND,E], id[composite[inverse[SECOND],FIRST]],cross[inverse[E],inverse[FIRST]]] (* added 2001 February 8 based on TWIST-2.NB *) twist[composite[inverse[FIRST],x_]] := composite[inverse[FIRST],rotate[x],SWAP] (* added 2002 November 3 based on EQUIDIFF.NB *) twist[composite[inverse[NATADD],NATADD]] := composite[SWAP,EQUIDIFF] (* added 2002 December 23 based on RIF-TW.NB *) twist[composite[inverse[NATADD],rotate[NATADD]]] := composite[inverse[NATADD],rotate[NATADD]] (* added 2003 July 2 based on TWIST.NB *) twist[composite[inverse[RIF],SWAP]] := composite[SWAP,inverse[ASSOC]] (* added 2002 December 23 based on RIF-TW.NB *) twist[composite[inverse[rotate[NATADD]],NATADD]] := composite[inverse[NATADD],rotate[NATADD],SWAP] (* added 2001 February 1 based on TWISTROT.NB *) twist[composite[inverse[rotate[x_]],rotate[y_]]] := composite[RIF,cross[composite[SWAP,inverse[y]],inverse[x]]] (* added 2001 February 8 based on TWIST-2.NB *) twist[composite[inverse[SECOND],x_]] := composite[SWAP,inverse[rotate[composite[x,SWAP]]],FIRST] (* added 2001 February 8 based on TWIST-2.NB *) twist[composite[x_,SECOND]] := composite[inverse[rotate[composite[inverse[x],SWAP]]],SECOND] (* added 2002 December 1 based on TW-RIF.NB *) twist[composite[SWAP,cross[x_,y_],inverse[RIF]]] := composite[cross[Id,x],ASSOC,SWAP,cross[Id,inverse[y]]] (* added 2002 November 3 based on EQUIDIFF.NB *) twist[composite[SWAP,EQUIDIFF]] := composite[inverse[NATADD],NATADD] (* added 2002 November 9 based on TW-I-FL.NB *) twist[composite[SWAP,inverse[x_]]] := composite[SWAP,twist[composite[x,SWAP]],SWAP] (* added 2002 December 23 based on RIF-TW.NB *) twist[composite[SWAP,inverse[rotate[NATADD]],NATADD]] := composite[SWAP,inverse[rotate[NATADD]],NATADD] (* added 2002 June 7 based on RIF.NB *) twist[composite[SWAP,RIF]] := ROT (* added 2001 January 20 based on TWIST-2.NB *) twist[composite[SWAP,x_,SWAP]] := inverse[twist[x]] (* added 2002 November 9 based on TW-I-FL.NB *) twist[composite[SWAP,twist[x_]]] := composite[SWAP,twist[composite[SWAP,x]]] (* added 2001 January 18 based on TWIST-2.NB *) twist[cross[x_,y_]] := cart[composite[Id,x],composite[Id,y]] (* added 2001 January 20 based on TW-0.NB *) twist[Di] := union[cart[Di,cart[V,V]],cart[cart[V,V],Di]] (* added 2001 January 21 based on TWIST-1.NB *) twist[DUP] := composite[id[inverse[SECOND]],inverse[SECOND],SECOND, id[inverse[FIRST]]] (* added 2002 November 3 based on EQUIDIFF.NB *) twist[EQUIDIFF] := EQUIDIFF (* added 2001 January 18 based on TWIST-2.NB *) twist[Id] := cart[Id,Id] (* added 2001 January 18 based on TWIST-2.NB *) twist[id[x_]] := composite[DUP,x,inverse[DUP]] (* added 2001 January 20 based on TW-I.NB *) twist[intersection[x_,y_]] := intersection[twist[x],twist[y]] (* added 2001 January 18 based on TWIST-2.NB *) twist[inverse[x_]] := composite[SWAP,twist[x],SWAP] (* added 2001 February 15 based on RO-REG.NB *) twist[REGULAR] := cart[cart[REGULAR,REGULAR],cart[REGULAR,REGULAR]] (* added 2001 February 1 based on RIF-2.NB *) twist[RIF] := composite[id[FIRST],inverse[FIRST],inverse[SECOND], FIRST,FIRST,id[SECOND]] (* added 2001 January 20 based on RIF-2.NB *) twist[ROT] := composite[SWAP,RIF] (* added 2002 December 30 based on 9-TWIST.NB *) twist[set[x_]] := cart[cart[set[first[first[x]]],set[first[second[x]]]], cart[set[second[first[x]]],set[second[second[x]]]]] (* added 2001 January 18 based on TWIST-2.NB *) twist[SWAP] := SWAP (* added 2001 January 18 based on TWIST-1.NB *) twist[twist[x_]] := composite[id[cart[V,V]],x,id[cart[V,V]]] (* added 2001 January 18 based on TWIST-2.NB *) twist[union[x_,y_]] := union[twist[x],twist[y]] (* added 2001 January 20 based on TW-0.NB *) twist[V] := cart[cart[V,V],cart[V,V]] (* Theorem SC-3A in SC1 *) U[0] := 0 (* restored 2001 October 14 based on ACL-3.NB *) U[Aclosure[x_]] := U[x] (* added 2003 October 15 based on ACYCLIC.NB *) U[ACYCLIC] := Di (* added 2002 January 17 based on ANTISYM1.NB *) U[ANTISYM] := cart[V,V] (* added 2003 July 2 based on ASS-SC.NB *) U[ASSOCIATIVE] := cart[cart[V,V],V] (* Theorem BIJ-SC in BIJ proved 2000 April 27 *) U[BIJ] := cart[V,V] (* added 2003 May 23 based on REPLACE.NB *) U[binclosed[CAP]] := V (* derived 2004 May 4 in BIN-CPS.NB *) U[binclosed[COMPOSE]] := V (* revised 2003 May23 based on DEF-CLOS.NB *) U[binclosed[CUP]] := V (* revised 2003 May23 based on DEF-CLOS.NB *) U[binclosed[DIF]] := V (* added 2000 December 9 based on CLIQUES.NB *) U[cliques[x_]] := fix[x] (* derived 2005 March 26 in U-CMPCT.NB *) U[COMPACT] := V (* Corollary SP-SC-A in SP3 proved 1999 January 19 *) U[complement[A[x_]]] := image[V,x] (* added 2000 December 14 based on U-DO.NB *) U[complement[DESCENDING]] := V (* Theorem FINC-SC in FINITE proved 2000 March *) U[complement[FINITE]] := V (* derived 2004 September 18 in SSIM-PRS.NB *) U[complement[image[PAIRSET,Di]]] := V (* 1998 August 25 *) U[complement[image[S,set[x_]]]] := image[Di,x] (* Theorem SC-IMV-B in SC1 proved 1998 August 16 *) U[complement[image[V,x_]]] := complement[image[V,x]] (* added 2000 December 14 based on U-DO.NB *) U[complement[invar[POWER]]] := V (* added 2000 December 14 based on U-DO.NB *) U[complement[invar[SUCC]]] := V (* Theorem E-IM-PC in E2 proved 1998 August 17 *) U[complement[P[x_]]] := image[V,complement[x]] (* derived 2004 September 18 in WF-WRAP.NB *) U[complement[range[SINGLETON]]] := V (* Theorem REG-C-SC in REG2 proved 1999 March 17 *) U[complement[REGULAR]] := image[V,complement[REGULAR]] (* Theorem SP-SC-C1 in SP3 proved 1998 July 14 *) U[complement[set[x_]]] := V (* derived 2004 February 19 in REPLACE2.NB *) U[complement[subvar[x_]]] := complement[lb[x,complement[fix[x]]]] (* added 2004 April 17 based on CORE.NB *) U[core[image[inverse[BIGCUP],x_],y_]] := U[intersection[x,Uclosure[y]]] (* added 2003 April 1 based on IM-IN-SG.NB *) U[DEDEKIND] := V (* Theorem REG-C in REG2 *) U[DESCENDING] := complement[REGULAR] (* added 2000 December 14 based on U-DO.NB *) U[domain[GREATEST[x_]]] := image[inverse[x],fix[x]] (* added 2000 November 10 based on UB-LB-2.LOG *) U[domain[LB[x_]]] := range[x] (* added 2000 December 14 based on OFFICE2.NB *) U[domain[LEAST[x_]]] := image[x,fix[x]] (* added 2000 November 5 based on UB-2.NB *) U[domain[UB[x_]]] := domain[x] (* added 2001 July 17 based on ZN-IMG3.NB *) U[domain[VERTSECT[ZN]]] := domain[VERTSECT[ZN]] (* added 2001 October 28 based on EQV-I.NB *) U[EQV] := cart[V,V] (* Theorem FIN-SC1 in FINITE proved 2000 March 15 *) U[FINITE] := V (* added 2001 July 17 based on U-FIX.NB *) U[fix[ACLOSURE]] := V (* derived 2004 April 4 in IRR-TRV.NB *) U[fix[composite[DISJOINT,INVERSE]]] := Di (* added 2000 December 14 based on U-DO.NB *) U[fix[composite[E,BIGCAP]]] := V (* added 2002 January 21 based on VS-IN-BC.TXT *) U[fix[composite[inverse[E],IMAGE[inverse[BIGCUP]]]]] := V (* added 2003 September 7 based on FIX-HULL.NB *) U[fix[HULL[x_]]] := U[x] (* added 2002 November 19 based on FP-EQDF.NB *) U[fix[IMAGE[EQUIDIFF]]] := cart[omega,omega] (* added 2000 December 16 based on Q-CA.NB *) U[fix[IMAGE[inverse[S]]]] := V (* derived 2005 January 26 in REMOVED.NB *) U[fix[IMAGE[ZN]]] := range[thinpart[ZN]] (* added 2001 July 17 based on U-FIX.NB *) U[fix[UCLOSURE]] := V (* Theorem TC-FUL-2 proved 2000 October 16 *) U[FULL] := V (* Theorem FS-SC in FS added 1998 August 17 *) U[FUNS] := cart[V,V] (* Theorem HF-FUL-2 in HF proved 2001 March 25 *) U[H[FINITE]] := H[FINITE] (* Theorem H-FULL-2 in H proved 2001 March 22 *) U[H[FULL]] := H[FULL] (* derived 2004 April 18 in H-RUS.NB *) U[H[RUSSELL]] := H[RUSSELL] (* derived 2004 December 14 in IDEMPROJ.NB *) U[IDEM] := cart[V,V] (* added 2001 September 30 based on ACL-2.NB *) U[image[ACLOSURE,x_]] := image[BIGCAP,image[inverse[S],x]] (* added 2001 March 28 based on ADJOIN.NB *) U[image[ADJOIN[x_],y_]] := union[intersection[image[V,set[x]],U[y]],intersection[x,image[V,y],image[V,set[x]]]] (* Theorem BC-IM-4 in BIGCUP/BC *) U[image[BIGCUP,x_]] := U[U[x]] (* added 1999 October 5 based on CAP-CUP.2 *) U[image[CAP,x_]] := fix[composite[inverse[E],x,E]] (* added 1999 October 5 based on CAP-CUP.2 *) U[image[CAP,cart[x_,y_]]] := intersection[U[x],U[y]] (* added 1999 October 5 based on CART.1 *) U[image[CART,x_]] := composite[inverse[E],x,E] (* added 2001 May 4 based on CLIQUES.NB *) U[image[CLIQUES,P[x_]]] := cliques[x] (* derived 2004 December 23 in COARSER.NB *) U[image[COARSER,x_]] := image[inverse[S],image[BIGCUP,x]] (* added 2001 March 9 based on IM-CPS.NB *) U[image[COMPOSE,cart[x_,y_]]] := composite[U[x],U[y]] (* derived 2004 January 11 in SCIMCORE.NB *) U[image[CORE[x_],y_]] := U[intersection[x,image[inverse[S],y]]] (* added 1999 October 5 based on CAP-CUP.1 *) U[image[CUP,x_]] := union[U[domain[x]],U[range[x]]] (* added 1999 December 21 based on U-IMAGE.NB *) U[image[CROSS,cart[x_,y_]]] := cross[U[x],U[y]] (* Theorem SP-SC-DI in SP3 proved 1999 April 13 *) U[image[Di,x_]] := image[V,x] (* added 1999 October 30 based on IMAGEINT.2 *) U[image[DIF,x_]] := fix[composite[complement[inverse[E]],x,E]] (* Theorem DJT-SC-A in DJT proved 1999 March 25 *) U[image[DISJOINT,x_]] := complement[A[x]] (* derived 2005 May 3 in IN-E-DIV.NB *) U[image[DIV,x_]] := intersection[omega,image[V,intersection[omega,x,complement[set[0]]]]] (* added 2001 March 31 based on HF-IM.NB *) U[image[HC,P[x_]]] := H[x] (* added 2002 March 24 based on TRV-1.NB *) U[image[HULL[TRV],P[x_]]] := trv[x] (* derived 2004 April 18 in REPLACE.NB *) U[image[IMAGE[x_],y_]] := image[x,core[y,domain[VERTSECT[x]]]] (* added 1999 November 26 based on IM-IMG.NB *) U[image[IMG,x_]] := range[fix[composite[inverse[FIRST],inverse[E],x,E]]] (* added 1999 November 26 based on IM-IMG.NB *) U[image[IMG,cart[x_,y_]]] := image[U[x],U[y]] (* derived 2004 April 18 in REPLACE.NB *) U[image[INVERSE,x_]] := inverse[core[x,cart[V,V]]] (* 1998 August 25 *) U[image[inverse[BIGCAP],x_]] := image[S,x] (* added 1998 August 10 *) U[image[inverse[BIGCUP],x_]] := image[inverse[S],x] (* derived 2005 May 3 in DIV-E.NB *) U[image[inverse[DIV],x_]] := union[intersection[omega,image[V,intersection[x,set[0]]]],U[intersection[omega,x]]] (* added 2001 October 20 based on UB-LB.NB *) U[image[inverse[LB[x_]],y_]] := image[x,y] (* SR-IM-2B in SR3 *) U[image[inverse[S],x_]] := U[x] (* Theorem TC-IMIN4 in TC3 proved 2001 March 15 *) U[image[inverse[TC],x_]] := U[intersection[FULL,x]] (* added 2001 October 20 based on UB-LB.NB *) U[image[inverse[UB[x_]],y_]] := image[inverse[x],y] (* Theorem K-IM-SC in K proved 2000 May 25 *) U[image[K,x_]] := image[V,x] (* added 1999 October 5 based on PAIRSET.3 *) U[image[PAIRSET,x_]] := union[domain[x],range[x]] (* Theorem POW-IM2 in POW3 *) U[image[POWER,x_]] := image[inverse[S],x] (* added 1998 August 10 *) U[image[PS,x_]] := image[V,x] (* added 2001 February 27 based on DMORG.NB *) U[image[RC[x_],y_]] := intersection[x,complement[A[intersection[y,P[x]]]],image[V,set[x]]] (* added 2002 February 4 based on RCF-NORM.NB *) U[image[RCF,x_]] := intersection[DISJOINT,image[inverse[CUP],x]] (* Theorem SR-IM-2A in SR3 *) U[image[S,x_]] := image[V,x] (* modified 1998 August 11 *) U[image[SINGLETON,x_]] := x (* derived 2004 December 23 in RA-SBV.NB *) U[image[SUBVAR,image[inverse[S],x_]]] := U[image[SUBVAR,x]] (* derived 2004 January 22 in U-SBV-PC.NB *) U[image[SUBVAR,P[x_]]] := subvar[x] (* Theorem SUC-U-SC added 1998 March 24 *) U[image[SUCC,x_]] := union[x,U[x]] (* Theorem TC-IM-2A in TC3 proved 2000 October 26 *) U[image[TC,x_]] := U[tc[x]] (* added 2001 September 30 based on ACL-2.NB *) U[image[UCLOSURE,x_]] := image[BIGCUP,image[inverse[S],x]] (* Theorem SC-IMV-A in SC1 *) U[image[V,x_]] := image[V,x] (* added 1999 November 2 based on 1999 November 1 notebook EQUIV.NB *) U[image[VERTSECT[x_],y_]] := image[x,intersection[y,domain[VERTSECT[x]]]] (* added 2001 July 15 based on ZN-AGAIN.NB *) U[image[ZN,x_]] := image[ZN,U[x]] (* derived 2005 May 3 in DIV-E.NB *) U[intersection[x_,complement[image[V,y_]]]] := intersection[complement[image[V,y]],U[x]] (* added 2002 November 19 based on CORE.NB *) U[intersection[x_,complement[set[0]]]] := U[x] (* derived 2004 December 29 in I-FUL-REG.NB *) U[intersection[FULL,REGULAR]] := REGULAR (* added 2001 October 10 based on REPLACE.NB *) U[intersection[x_,image[SINGLETON,y_]]] := intersection[y,image[inverse[SINGLETON],x]] (* added 1998 January 24 *) U[intersection[x_,image[V,y_]]] := intersection[U[x],image[V,y]] (* added 2003 June 3 based on ON-SC-4B.NB *) U[intersection[OMEGA,complement[fix[BIGCUP]]]] := OMEGA (* added 2003 June 4 based on LIMITORD.NB *) U[intersection[OMEGA,fix[BIGCUP]]] := OMEGA (* derived 2004 April 17 in REPLACE.NB *) U[intersection[x_,P[y_]]] := core[x,y] (* added 2001 October 10 based IM-IN-SG.NB *) U[intersection[x_,range[SINGLETON]]] := image[inverse[SINGLETON],x] (* added 1998 September 24 *) U[intersection[x_,set[y_]]] := intersection[y,image[V,intersection[x,set[y]]]] (* derived 2004 June 6 in EQV-TRV.NB *) U[invar[x_]] := domain[VERTSECT[trv[x]]] (* Theorem MAP-SC3 in MAP\1 proved 2001 April 27 *) U[map[x_,y_]] := intersection[image[V,set[x]],cart[x,y]] (* Theorem OM-PC-5' in OM2 *) U[omega] := omega (* added 1998 February 7 Theorem ON-5B in ON6 *) U[OMEGA] := OMEGA (* Theorem PC-7-COR in PC1 *) U[P[x_]] := x (* derived 2004 August 3 in WF-REC-1.NB *) U[partrec[x_,y_]] := rec[x,y] (* added 2003 September 24 based on PO-FACTS.NB *) U[PO] := cart[V,V] (* added 2003 July 3 based on T1T2PTCL.NB *) U[PointClosed] := V (* derived 2005 April 21 in U-PRIMES.NB *) U[PRIMES] := omega (* derived 2004 December 14 in IDEMPROJ.NB *) U[PROJ] := cart[V,V] (* Theorem CART-RA5 in CART proved 1999 July 26 *) U[range[CART]] := cart[V,V] (* added 1999 October 11 based on CROSS.1 *) U[range[CROSS]] := cart[cart[V,V],cart[V,V]] (* derived 2005 January 25 *) U[range[IMAGE[x_]]] := range[thinpart[x]] (* added 2003 October 21 based on LAMHUL-2.NB *) U[range[LAMBHULL]] := S (* added 2001 December 22 based on DORA-2.NB *) U[range[MAP]] := FUNS (* added 1999 October 6 based on PAIRSET.2 *) U[range[PAIRSET]] := V (* added 2002 November 29 based on PLUS.NB *) U[range[PLUS]] := composite[id[omega],S,id[omega]] (* Theorem POW-RA-1 *) U[range[POWER]] := V (* derived 2004 January 22 in U-SBV-PC.NB *) U[range[SUBVAR]] := V (* added 2002 February 3 based on RCF.NB *) U[range[RCF]] := DISJOINT (* Theorem SG-RA-SC in SG2 proved 1998 February 3 *) U[range[SINGLETON]] := V (* Theorem SUC-RA-3 in SUC-RELATION *) U[range[SUCC]] := V (* derived 2005 January 25 *) U[range[VERTSECT[x_]]] := range[thinpart[x]] (* derived 2004 November 16 in XS.NB *) U[range[XS]] := FUNS (* Theorem REG-3 in REG2 *) U[REGULAR] := REGULAR (* added 2001 October 8 based on RFX.NB *) U[RFX] := cart[V,V] (* derived 2004 August 7 in RS-1.NB *) U[RS[x_]] := thinpart[x] (* Theorem RUS-PC-5 in RUS2 added 1998 February 7 *) U[RUSSELL] := V (* derived 2004 November 2 in SELECT.NB *) U[SELECT] := V (* derived 2005 January 18 in SET-A-U.NB *) U[set[x_,y___]] := union[intersection[x,image[V,set[x]]],U[set[y]]] (* added 2001 July 12 based on ZN-2.NB *) U[subcommutant[inverse[E]]] := union[ZN,complement[cart[V,V]]] (* added 2003 January 17 based on SBV-IN-E.NB *) U[subvar[inverse[E]]] := V (* Normalization rule for FINITE *) U[subvar[PS]] := complement[FINITE] (* added 2002 April 15 based on ITERATE.NB *) U[subvar[union[cross[composite[id[omega],SUCC],x_], id[cart[set[0],y_]]]]] := iterate[x,y] (* added 2002 March 4 based on ZN-1.NB *) U[succ[x_]] := union[intersection[x,image[V,set[x]]],U[x]] (* added 2001 October 10 based on SYM-1.NB *) U[SYM] := cart[V,V] (* added 2003 July 3 based on T1T2PTCL.NB *) U[T1] := V (* added 2003 July 3 based on T1T2PTCL.NB *) U[T2] := V (* added 2001 March 17 based on TC-H.NB *) U[tc[intersection[FULL,P[x_]]]] := H[x] (* derived 2004 February 10 in TO.NB *) U[TO] := cart[V,V] (* added 2001 October 25 based on TOPOLOGY.NB *) U[TOPS] := V (* added 2001 October 9 based on TRV-1.NB *) U[TRV] := cart[V,V] (* added 2001 September 22 based on UCL.NB *) U[Uclosure[x_]] := U[x] (* Theorem SC-9 in SC2 *) U[union[x_,y_]] := union[U[x],U[y]] (* Theorem SC-3B in SC1 *) U[V] := V (* added 2003 September 29 based on WF.NB *) U[WF] := Di (* derived 2004 October 31 in U-X.NB *) U[X[x_]] := composite[x,id[image[V,X[x]]]] (* added 2002 November 16 based on INTEGER.NB *) U[Z] := cart[omega,omega] (* added 2000 November 5 based on UB-2.NB *) UB[0] := cart[set[0],V] (* derived 2004 February 19 in REPLACE.NB *) ub[0,x_] := complement[image[V,x]] (* derived 2004 February 19 in REPLACE3.NB *) ub[x_,0] := V (* added 2000 November 13 based on MAX.NB *) UB[cart[x_,y_]] := union[cart[P[x],y],cart[set[0],V]] (* derived 2004 February 19 in REPLACE.NB *) ub[cart[x_,y_],z_] := union[complement[image[V,z]], intersection[y,complement[image[V,intersection[z,complement[x]]]]]] (* derived 2004 February 19 in REPLACE.NB *) ub[x_,cart[set[y_],set[z_]]] := union[complement[image[V,set[y]]],complement[image[V,set[z]]], image[x,cart[set[y],set[z]]]] (* derived 2004 December 21 in COMUTANT.NB *) UB[COMMUTE] := LB[COMMUTE] (* derived 2004 December 21 in COMUTANT.NB *) ub[COMMUTE,x_] := lb[COMMUTE,x] (* derived 2004 February 19 in REPLACE.NB *) ub[complement[x_],y_] := complement[image[x,y]] (* added 2001 July 12 based on UB-LB-2.NB *) UB[complement[cart[x_,y_]]] := union[cart[V,complement[y]],cart[P[complement[x]],V]] (* added 2000 December 18 based on UB-UB.NB *) UB[complement[composite[complement[E],x_]]] := composite[S,IMAGE[x]] (* added 2001 July 4 based on VS-1.NB *) UB[complement[composite[x_,complement[E]]]] := composite[Id,complement[composite[x,complement[S]]]] (* added 2000 December 18 based on LB-LB-C.NB *) UB[complement[composite[E,x_]]] := LB[LB[complement[x]]] (* derived 2004 May 11 in IMG-IMAG.NB *) UB[complement[cross[E,x_]]] := union[cart[V,complement[cart[V,V]]], composite[SWAP,inverse[rotate[composite[UB[complement[x]],IMG,SWAP]]]]] (* added 2000 November 5 based on UB-2.NB *) UB[complement[E]] := DISJOINT (* added 2000 November 7 based on LB-1.NB *) UB[complement[inverse[x_]]] := LB[complement[x]] (* added 2000 December 3 based on DO-LT.NB *) UB[complement[S]] := composite[inverse[POWER],DISJOINT] (* derived 2004 July 23 in X23--.NB *) ub[composite[x_,complement[inverse[E]]],y_] := complement[image[inverse[VERTSECT[inverse[x]]],image[inverse[S],y]]] (* added 2001 July 31 based on RK-ZN-IM.NB *) UB[composite[E,inverse[ZN]]] := inverse[ZN] (* derived 2004 February 20 in REPLACE1.NB *) ub[composite[E,x_],V] := complement[domain[LB[complement[x]]]] (* added 2000 November 6 based on UB-ID.LOG *) UB[composite[Id,x_]] := UB[x] (* derived 2004 February 19 in REPLACE3.NB *) ub[composite[Id,x_],y_] := ub[x,y] (* derived 2004 December 15 in LB-UB-RS.NB *) ub[composite[id[x_],y_],z_] := union[complement[image[V,z]],intersection[x,ub[y,z]]] (* derived 2004 December 15 in LB-UB-RS.NB *) ub[composite[x_,id[y_]],z_] := intersection[complement[image[V,intersection[z,complement[y]]]],ub[x,z]] (* derived 2004 February 20 in REPLACE1.NB *) ub[composite[x_,inverse[E]],V] := 0 (* derived 2005 January 5 in TC-HC.NB *) ub[composite[inverse[TC],x_],y_] := image[inverse[TC],ub[x,y]] (* derived 2004 December 10 in AP-IMG.NB *) ub[composite[x_,SWAP],y_] := intersection[complement[image[V,intersection[y,complement[cart[V,V]]]]],ub[x,inverse[y]]] (* added 2000 November 14 based on MAX.NB *) UB[Di] := composite[Id,complement[inverse[E]]] (* derived 2004 February 20 in LB-UB-ID.NB *) ub[Di,x_] := complement[x] (* added 2000 December 3 based on DO-LT.NB *) UB[DISJOINT] := composite[DISJOINT,BIGCUP] (* derived 2005 April 19 in LBUB-DIV.NB *) ub[DIV,omega] := set[0] (* derived 2005 April 21 in U-PRIMES.NB *) ub[DIV,PRIMES] := set[0] (* added 2000 November 5 based on UB-2.NB *) UB[E] := S (* derived 2004 February 19 in REPLACE.NB *) ub[E,x_] := image[S,set[x]] (* derived 2004 February 20 in REPLACE1.NB *) ub[FINITE,V] := V (* added 2002 October 20 based on UB-2ND.NB *) UB[FIRST] := union[cart[set[0],V], composite[inverse[SINGLETON],IMAGE[FIRST],id[P[cart[V,V]]]]] (* added 2000 November 14 based on MAX.NB *) UB[Id] := union[cart[set[0],V],inverse[SINGLETON]] (* derived 2004 February 20 in LB-UB-ID.NB *) ub[Id,x_] := complement[image[Di,x]] (* added 2000 December 26 based on UB-ID.NB *) UB[id[x_]] := union[cart[set[0],V],composite[id[x],inverse[SINGLETON]]] (* derived 2004 February 19 in REPLACE.NB *) ub[image[V,x_],y_] := union[complement[image[V,y]],image[V,x]] (* Theorem UB-I in UB1 proved 2000 November 5 *) UB[intersection[x_,y_]] := intersection[UB[x],UB[y]] (* derived 2004 February 19 in REPLACE3.NB *) ub[intersection[x_,y_],z_] := intersection[ub[x,z],ub[y,z]] (* derived 2004 February 25 in HULLUBLB.NB *) ub[x_,intersection[y_,image[V,z_]]] := union[complement[image[V,z]],ub[x,y]] (* derived 2004 January 22 in INVAR.NB *) UB[INVAR] := composite[INVAR,BIGCUP] (* derived 2004 February 19 in REPLACE.NB *) ub[INVAR,x_] := invar[U[x]] (* added 2000 November 7 based on LB-1.NB *) UB[inverse[x_]] := LB[x] (* added 2004 February 17 *) ub[inverse[x_],y_] := lb[x,y] (* added 2000 December 18 based on UB-UB.NB *) UB[LB[x_]] := composite[LB[x],BIGCUP] (* derived 2004 February 22 in UB-UB.NB *) ub[LB[x_],y_] := lb[x,U[y]] (* derived 2004 February 19 in REPLACE.NB *) ub[x_,lb[x_,ub[x_,y_]]] := ub[x,y] (* derived 2004 February 19 in REPLACE.NB *) ub[Q,range[SINGLETON]] := range[SINGLETON] (* derived 2004 February 20 in REPLACE1.NB *) ub[Q,V] := 0 (* derived 2004 May 2 in REGULAR.NB *) UB[REGULAR] := union[cart[REGULAR,REGULAR],cart[set[0],V]] (* derived 2004 February 20 in REPLACE1.NB *) ub[REGULAR,V] := complement[image[V,complement[REGULAR]]] (* derived 2004 February 20 in REPLACE1.NB *) ub[rotate[x_],V] := 0 (* added 2000 November 10 based on UB-LB-2.LOG *) UB[S] := composite[inverse[POWER],S] (* derived 2004 February 19 in REPLACE.NB *) ub[S,x_] := image[S,set[U[x]]] (* added 2002 October 20 based on UB-2ND.NB *) UB[SECOND] := union[cart[set[0],V], composite[inverse[SINGLETON],IMAGE[SECOND],id[P[cart[V,V]]]]] (* added 2002 September 8 based on UB-SG.NB *) UB[SINGLETON] := union[cart[set[0],V],id[range[SINGLETON]]] (* derived 2004 February 19 in REPLACE.NB *) ub[x_,set[y_]] := union[complement[image[V,set[y]]],image[x,set[y]]] (* derived 2004 February 20 in REPLACE1.NB *) ub[set[x_],V] := 0 (* added 2000 December 18 based on UB-UB.NB *) UB[UB[x_]] := composite[UB[x],BIGCUP] (* derived 2004 February 22 in UB-UB.NB *) ub[UB[x_],y_] := ub[x,U[y]] (* derived 2004 February 19 in REPLACE3.NB *) ub[x_,union[y_,z_]] := intersection[ub[x,y],ub[x,z]] (* restored 2001 November 7 based on LB-UB.NB *) UB[union[z_,cart[V,y_]]] := union[cart[V,y],UB[z]] (* added 2001 December 31 based on LB-UB.NB *) UB[union[x_,cart[y_,V]]] := composite[UB[x],IMAGE[id[complement[y]]]] (* added 2000 November 7 based on IMAGE-3.NB *) UB[union[x_,complement[cart[y_,z_]]]] := union[cart[V,complement[z]], composite[id[z],UB[x],IMAGE[id[y]]]] (* added 2002 April 10 based on INVAR.NB *) UB[union[composite[E,FIRST],composite[complement[E],SECOND]]] := composite[INVAR,INVERSE] (* added 2002 April 10 based on INVAR.NB *) UB[union[composite[E,SECOND],composite[complement[E],FIRST]]] := composite[INVAR,id[P[cart[V,V]]]] (* added 2003 June 23 based on T1.NB *) UB[union[composite[inverse[FIRST],complement[inverse[E]]], composite[inverse[SECOND],inverse[E]]]] := union[cart[set[0],V],composite[id[cart[V,V]],inverse[SINGLETON],LB[INVAR]]] (* added 2002 November 22 based on K.NB *) UB[union[Id,complement[inverse[S]]]] := composite[complement[inverse[E]],IMAGE[inverse[PS]]] (* added 2000 November 5 based on UB-2.NB *) UB[V] := cart[V,V] (* derived 2004 February 19 in REPLACE.NB *) ub[V,x_] := V (* added 2001 September 22 based on UCL.NB *) Uclosure[0] := set[0] (* derived 2004 December 23 in UCLA-SBV.NB *) Uclosure[A[image[SUBVAR,x_]]] := A[image[SUBVAR,x]] (* derived 2004 December 21 in UCL-A.NB *) Uclosure[A[image[UCLOSURE,x_]]] := A[image[UCLOSURE,x]] (* derived 2004 December 21 in UCL-A.NB *) Uclosure[A[intersection[x_,fix[UCLOSURE]]]] := A[intersection[x,fix[UCLOSURE]]] (* added 2003 October 15 based on ACYCLIC.NB *) Uclosure[ACYCLIC] := P[Di] (* added 2002 January 17 based on ANTISYM3.NB *) Uclosure[ANTISYM] := P[cart[V,V]] (* added 2001 October 18 based on UCL-IMS.NB *) Uclosure[BIJ] := P[cart[V,V]] (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[binclosed[CAP]] := V (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[binclosed[CUP]] := V (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[binclosed[DIF]] := union[complement[P[complement[set[0]]]],set[0]] (* added 2001 October 18 based on UCL-IMS.NB *) Uclosure[cliques[x_]] := P[fix[x]] (* derived 2004 December 21 in COMUTANT.NB *) Uclosure[commutant[x_]] := commutant[x] (* added 2001 October 18 based on UCL-IMS.NB *) Uclosure[complement[image[S,x_]]] := P[U[complement[image[S,x]]]] (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[complement[P[x_]]] := union[complement[P[x]],set[0]] (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[complement[range[SINGLETON]]] := complement[range[SINGLETON]] (* added 2003 April 1 based on UCL-DK.NB *) Uclosure[DEDEKIND] := V (* added 2001 October 15 based on UCL.NB *) Uclosure[DESCENDING] := DESCENDING (* derived 2004 October 4 in CORE-EQV.NB *) Uclosure[EQV] := intersection[RFX,SYM] (* added 2001 September 22 based on UCL.NB *) Uclosure[FINITE] := V (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[fix[ACLOSURE]] := V (* added 2002 January 18 based on CLIQUES.NB *) Uclosure[fix[composite[DISJOINT,IMAGE[x_]]]] := P[intersection[complement[fix[x]],domain[VERTSECT[x]]]] (* added 2002 January 17 based on CLIQSWAP.NB *) Uclosure[fix[composite[DISJOINT,INVERSE]]] := P[Di] (* added 2002 November 21 based on UCLFPIMG.NB *) Uclosure[fix[IMAGE[x_]]] := fix[IMAGE[x]] (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[fix[UCLOSURE]] := union[complement[P[complement[set[0]]]],set[0]] (* added 2001 September 22 based on UCL.NB *) Uclosure[FULL] := FULL (* added 2001 October 18 based on UCL-IMS.NB *) Uclosure[FUNS] := P[cart[V,V]] (* added 2001 October 18 based on UCL-IMS.NB *) Uclosure[H[FINITE]] := P[H[FINITE]] (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[image[ADJOIN[set[0]],range[SINGLETON]]] := union[complement[P[complement[set[0]]]],set[0]] (* added 2002 May 2 based on RFX-SYM.NB *) Uclosure[image[CART,Id]] := intersection[RFX,SYM] (* added 2002 May 2 based on RFX-SYM.NB *) Uclosure[image[CART,id[P[x_]]]] := intersection[RFX,SYM,P[cart[x,x]]] (* added 2001 October 18 based on UCL-IMS.NB *) Uclosure[image[DISJOINT,x_]] := P[complement[A[x]]] (* added 2001 December 23 based on SUBVAR.NB *) Uclosure[image[inverse[DORA],inverse[S]]] := image[inverse[DORA],inverse[S]] (* added 2001 December 23 based on SUBVAR.NB *) Uclosure[image[inverse[DORA],S]] := image[inverse[DORA],S] (* derived 2004 December 21 in SBCOMMUT.NB *) Uclosure[image[inverse[IMAGE[SWAP]],subcommutant[x_]]] := image[inverse[IMAGE[SWAP]],subcommutant[x]] (* added 2001 October 16 based on UCL-IMSG.NB *) Uclosure[image[inverse[S],x_]] := P[U[x]] (* derived 2003 December 27 based on COFINITE.TXT *) Uclosure[image[RC[x_],FINITE]] := union[image[RC[x],FINITE],set[0]] (* derived 2004 October 12 in CMPCT-OM.NB *) Uclosure[image[RC[omega],omega]] := union[image[RC[omega],omega],singleton[0]] (* added 2001 September 30 based on ACL-3.NB *) Uclosure[image[S,set[x_]]] := union[image[S,set[x]],set[0]] (* added 2001 October 16 based on UCL-IMSG.NB *) Uclosure[image[SINGLETON,x_]] := P[x] (* added 2001 October 18 based on UCL-IMS.NB *) Uclosure[image[V,x_]] := union[image[V,x],set[0]] (* derived 2004 October 2 in UCL-0.NB *) Uclosure[intersection[x_,complement[set[0]]]] := Uclosure[x] (* derived 2004 April 25 in IMS-UCL.NB *) Uclosure[intersection[image[S,x_],Uclosure[x_]]] := Uclosure[x] (* added 2001 October 18 based on UCL-I-PC *) Uclosure[intersection[x_,P[y_]]] := intersection[P[y],Uclosure[x]] (* added 2001 October 28 based on IVR-RFX.NB *) Uclosure[intersection[RFX,SYM]] := intersection[RFX,SYM] (* derived 2004 December 21 in SBCOMMUT.NB *) Uclosure[intersection[Uclosure[x_],Uclosure[y_]]] := intersection[Uclosure[x],Uclosure[y]] (* added 2001 September 22 based on UCL.NB *) Uclosure[invar[x_]] := invar[x] (* derived 2004 December 22 in UCL-COMT.NB *) Uclosure[lb[COMMUTE,x_]] := lb[COMMUTE,x] (* derived 2004 December 24 in LB-SBCMT.NB *) Uclosure[lb[SUBCOMMUTE,x_]] := lb[SUBCOMMUTE,x] (* derived 2005 February 16 in BC-OM.NB *) Uclosure[nat[x_]] := union[nat[x],set[0]] (* added 2001 September 22 based on UCL.NB *) Uclosure[omega] := succ[omega] (* added 2001 September 22 based on UCL.NB *) Uclosure[OMEGA] := OMEGA (* added 2001 September 22 based on UCL.NB *) Uclosure[P[x_]] := P[x] (* added 2003 March 18 based on INDSCRET.NB *) Uclosure[set[0,x_]] := set[0,x] (* added 2003 September 24 based on PO-FACTS.NB *) Uclosure[PO] := RFX (* added 2002 December 17 based on UCL-Z.NB *) Uclosure[range[IMAGE[x_]]] := Uclosure[range[VERTSECT[x]]] (* added 2001 September 22 based on UCL.NB *) Uclosure[range[SINGLETON]] := V (* added 2001 October 2 based on ACL-UCL.NB *) Uclosure[range[POWER]] := fix[IMAGE[inverse[S]]] (* added 2001 September 22 based on UCL.NB *) Uclosure[REGULAR] := REGULAR (* added 2001 October 28 based on IVR-RFX.NB *) Uclosure[RFX] := RFX (* derived 2004 August 7 in RS-1.NB *) Uclosure[RS[x_]] := RS[x] (* derived 2004 April 27 in UCL-SS.NB *) Uclosure[set[x_]] := set[0,x] (* derived 2004 June 16 in TRANSVAR.NB *) Uclosure[subcommutant[x_]] := subcommutant[x] (* added 2001 September 22 based on UCL.NB *) Uclosure[subvar[x_]] := subvar[x] (* derived 2005 February 23 in X3729.NB *) Uclosure[succ[nat[x_]]] := succ[nat[x]] (* derived 2003 December 25 in TOPSDEFN.NB *) Uclosure[succ[omega]] := succ[omega] (* added 2001 September 30 based on ACL-2.NB *) Uclosure[succ[set[0]]] := succ[set[0]] (* added 2001 October 14 based on RA-POW.NB *) Uclosure[SYM] := SYM (* added 2003 September 13 based on UCL-TOPS.NB *) Uclosure[TOPS] := union[complement[P[complement[set[0]]]],set[0]] (* derived 2004 June 16 in TRANSVAR.NB *) Uclosure[transvar[x_,y_]] := transvar[x,y] (* added 2003 April 1 based on TRV-UCL.NB *) Uclosure[TRV] := P[cart[V,V]] (* derived 2004 December 23 in UCLSBCMT.NB *) Uclosure[ub[SUBCOMMUTE,x_]] := ub[SUBCOMMUTE,x] (* added 2002 January 22 based on UCLUCL.NB *) Uclosure[Uclosure[x_]] := Uclosure[x] (* derived 2004 October 2 in UCL-0.NB *) Uclosure[union[x_,intersection[y_,set[0]]]] := Uclosure[x] (* added 2003 September 4 based on IDEMCORE.NB *) Uclosure[union[P[x_],P[y_]]] := P[union[x,y]] (* derived 2004 April 27 in UCL-SS.NB *) Uclosure[union[x_,set[y_]]] := union[image[ADJOIN[y],Uclosure[x]],Uclosure[x]] (* added 2001 September 22 based on UCL.NB *) Uclosure[V] := V (* added 2003 September 29 based on WF.NB *) Uclosure[WF] := P[Di] (* Theorem U-6 in U *) union[x_,x_] := x (* Theorem U-4 in U *) union[0,x_] := x (* added 2003 January 18 based on A-SS-A.NB *) union[A[x_],complement[image[V,x_]]] := A[x] union[A[x_],image[V,x_]] := V (* added 2003 June 7 based on ACL-U.NB *) union[Aclosure[x_],Aclosure[y_], image[CAP,cart[Aclosure[x_],Aclosure[y_]]]] := Aclosure[union[x,y]] (* added 2003 October 28 based on APPLY.NB *) union[APPLY[x_,y_],complement[image[V,intersection[domain[x_],set[y_]]]]] := APPLY[x,y] (* added 2003 October 28 based on APPLY.NB *) union[APPLY[x_,y_],complement[image[V,set[y_]]]] := APPLY[x,y] (* derived 2004 August 29 in A-SS-AP.NB *) union[APPLY[x_,PAIR[y_,z_]],complement[image[V,intersection[image[domain[x_],set[y_]],set[z_]]]]] := APPLY[x,PAIR[y,z]] (* added 2003 October 28 based on APPLY.NB *) union[APPLY[x_,PAIR[y_,z_]],complement[image[V,set[y_]]]] := APPLY[x,PAIR[y,z]] (* added 2003 October 28 based on APPLY.NB *) union[APPLY[x_,PAIR[y_,z_]],complement[image[V,set[z_]]]] := APPLY[x,PAIR[y,z]] (* added 2003 October 28 based on APPLY.NB *) union[APPLY[x_,pair[y_,z_]],complement[image[V,set[y_]]], complement[image[V,set[z_]]]] := APPLY[x,PAIR[y,z]] (* Theorem CP-6A in CP2 *) union[cart[x_,z_],cart[y_,z_]] := cart[union[x,y],z] (* Theorem CP-6B in CP2 *) union[cart[x_,y_],cart[x_,z_]] := cart[x,union[y,z]] (* derived 2004 November 26 in XSCP-MAP.NB *) union[cart[cart[V,set[0]],set[set[0]]],composite[MAP,id[cart[V,complement[set[0]]]]]] := composite[XS,CART] union[cart[cart[V,V],cart[V,V]],composite[inverse[FIRST],x_,FIRST]] := cart[cart[V,V],cart[V,V]] union[cart[cart[V,V],cart[V,V]],composite[inverse[SECOND],y_,SECOND]] := cart[cart[V,V],cart[V,V]] (* added 2002 January 2 based on INE-CPS.NB *) union[cart[cart[V,V],set[0]],composite[inverse[S],COMPOSE]] := composite[inverse[S],COMPOSE] union[cart[u_,v_],complement[cart[x_,y_]]] := intersection[complement[cart[x,intersection[y,complement[v]]]], complement[cart[intersection[x,complement[u]],y]]] (* added 2002 November 29 based on PLUS.NB *) union[cart[complement[cart[omega,omega]],set[0]], composite[COMPOSE,cross[composite[IMAGE[SWAP],PLUS],PLUS]]] := VERTSECT[EQUIDIFF] (* added 2003 June 23 based on DI-RULES.NB *) union[cart[complement[x_],x_],composite[id[x_],Di,id[x_]]] := composite[id[x],Di] (* added 2003 June 23 based on DI-RULES.NB *) union[cart[x_,complement[x_]],composite[id[x_],Di,id[x_]]] := composite[Di,id[x]] (* derived 2004 July 23 in X23--.NB *) union[cart[complement[domain[VERTSECT[x_]]],V],composite[complement[E],thinpart[x_]]] := composite[complement[E],x] (* derived 2004 November 16 in XS.NB *) union[cart[complement[SELECT],set[0]],composite[inverse[S],XS]] := composite[inverse[S],XS] (* derived 2004 November 16 in XS.NB *) union[cart[complement[SELECT],V],composite[S,XS]] := composite[S,XS] (* added 2002 January 3 based on REPLACE.NB *) union[cart[x_,P[complement[cart[V,V]]]], composite[DISJOINT,IMAGE[SWAP]]] := composite[DISJOINT,IMAGE[SWAP]] (* suggested by ReplaceTest added 1998 September 10 *) union[cart[range[x_],V],composite[y_,inverse[x_]]] := cart[range[x],V] (* added 2002 May 25 based on POW-SUCC.NB *) union[cart[set[0],Id],power[x_]] := power[x] (* added 2003 August 8 based on REPLACE.NB *) union[cart[set[0],intersection[omega,set[x_]]],plus[x_]] := plus[x] (* derived 2005 February 16 in BC-OM.NB *) union[cart[set[0],set[0]],composite[inverse[SUCC],id[omega]]] := composite[BIGCUP,id[omega]] (* derived 2004 September 29 in WF-REC-7.NB *) union[cart[set[0],set[0]],id[intersection[omega,complement[set[0]]]]] := id[omega] (* added 2002 June 26 based on OMEGA.NB *) union[cart[set[0],set[0]],id[omega]] := id[omega] (* derived 2004 June 26 in CART-PBF.NB *) union[cart[set[0],V],composite[id[image[V,set[x_]]],S, IMAGE[composite[id[cart[V,x_]],inverse[FIRST]]]]] := composite[S,IMAGE[composite[id[cart[V,x]],inverse[FIRST]]]] (* derived 2004 June 26 in CART-PBF.NB *) union[cart[set[0],V],composite[id[image[V,set[x_]]],S, IMAGE[composite[id[cart[x_,V]],inverse[SECOND]]]]] := composite[S,IMAGE[composite[id[cart[x,V]],inverse[SECOND]]]] (* derived 2004 December 21 in SBCOMMUT.NB *) union[cart[set[0],V],LB[x_]] := LB[x] (* derived 2004 December 21 in SBCOMMUT.NB *) union[cart[set[0],V],UB[x_]] := UB[x] (* derived 2005 February 3 in WF-DIV.NB *) union[cart[set[y_],set[y_]],id[x_]] := id[union[x,set[y]]] (* added 2002 September 7 based on REPLACE.NB *) union[cart[V,V],U[subcommutant[x_]]] := V (* added 2003 February 26 based on ACL-Z.NB *) union[cliques[composite[E,inverse[E]]], image[inverse[BIGCAP],set[0]]] := V (* added 2000 December 17 based on EQUIV.NB *) union[cliques[x_],set[0]] := cliques[x] (* Theorem C-3B in C1 *) union[complement[x_],x_] := V (* added 2003 October 15 based on ACYCLIC.NB *) union[complement[ACYCLIC],complement[P[cart[V,V]]]] := complement[ACYCLIC] union[complement[cart[u_,v_]],complement[cart[x_,y_]]] := complement[cart[intersection[u,x],intersection[v,y]]] (* added 2000 November 7 based on UB-1.NB *) union[complement[cart[V,V]],complement[composite[x_,y_]]] := complement[composite[x,y]] union[complement[cart[V,V]],composite[Id,x_]] := union[complement[cart[V,V]],x] union[complement[domain[x_]],complement[fix[x_]]] := complement[fix[x]] union[complement[domain[y_]],complement[fix[composite[x_,y_]]]] := complement[fix[composite[x,y]]] (* added 1999 December 24 based on VERTSECT.NB *) union[complement[domain[x_]],domain[VERTSECT[x_]]] := domain[VERTSECT[x]] union[complement[fix[x_]],complement[range[x_]]] := complement[fix[x]] union[complement[fix[composite[x_,y_]]],complement[range[x_]]] := complement[fix[composite[x,y]]] (* added 2003 October 15 based on ACYCLIC.NB *) union[complement[image[inverse[IMAGE[id[x_]]],y_]],complement[P[x_]]] := union[complement[y],complement[P[x]]] (* Discovered 1998 October 5 *) union[complement[image[S,set[x_]]],complement[P[x_]]] := complement[set[x]] union[complement[image[V,x_]],complement[x_]] := complement[x] (* special case needed when x is replaced by complement[x] added 1998 September 10 *) union[complement[image[V,complement[fix[x_]]]],image[V,complement[x_]]] := V (* derived 2005 September 25 in VARIOUS.NB *) union[complement[image[V,x_]],composite[id[image[V,x_]],y_]] := union[complement[image[V,x]],composite[Id,y]] (* suggested by ReplaceTest added 1998 September 10 *) union[complement[image[V,fix[composite[x_,complement[y_]]]]], image[V,intersection[x_,complement[inverse[y_]]]]] := V (* added 1998 September 10 *) union[complement[image[V,fix[composite[x_,complement[inverse[y_]]]]]], image[V,intersection[complement[y_],x_]]] := V (* suggested by ReplaceTest added 1998 September 10 *) union[complement[image[V,fix[composite[x_,y_]]]],image[V,y_]] := V (* added 1998 September 10 *) union[complement[image[V,fix[composite[x_,y_]]]], image[V,intersection[domain[x_],range[y_]]]] := V (* suggested by ReplaceTest added 1998 September 10 *) union[complement[image[V,fix[composite[x_,inverse[y_]]]]], image[V,intersection[domain[x_],domain[y_]]]] := V (* added 1998 September 10 *) union[complement[image[V,fix[x_]]],image[V,x_]] := V union[complement[image[V,x_]],image[V,complement[y_]], image[V,intersection[x_,y_]]] := V (* suggested by ReplaceTest added 1998 September 10 *) union[complement[image[V,x_]],image[V,domain[y_]], image[V,intersection[x_,complement[inverse[y_]]]]] := V union[complement[image[V,x_]],image[V,y_], image[V,intersection[x_,complement[y_]]]] := V union[complement[image[V,intersection[x_,complement[z_]]]], image[V,intersection[x_,complement[y_]]], image[V,intersection[y_,complement[z_]]]] := V (* derived 2004 March 29 based on HULL.NB *) union[complement[image[V,intersection[x_,image[S,set[y_]]]]],hull[x_,y_]] := hull[x,y] (* added 2002 July 28 based on ADD-NAT.NB *) union[complement[image[V,intersection[omega,set[x_]]]], natadd[x_,y_]] := natadd[x,y] (* added 2002 August 21 based on NATMUL.NB *) union[complement[image[V,intersection[omega,set[x_]]]], natmul[x_,y_]] := natmul[x,y] (* added 2002 August 21 based on NATMUL.NB *) union[complement[image[V,intersection[omega,set[y_]]]], natmul[x_,y_]] := natmul[x,y] (* added 2002 August 29 based on MULASSOC.NB *) union[complement[image[V,intersection[omega,set[x_]]]], natmul[z_,natmul[x_,y_]]] := natmul[z,natmul[x,y]] (* added 2002 September 17 based on DIFFER.NB *) union[complement[image[V,intersection[omega,set[x_]]]], natsub[x_,y_]] := natsub[x,y] (* added 2002 September 17 based on DIFFER.NB *) union[complement[image[V,intersection[omega,set[y_]]]], natsub[x_,y_]] := natsub[x,y] (* added 2002 July 28 based on ADDRULES.NB *) union[complement[image[V,intersection[omega,set[x_]]]], succ[natadd[x_,y_]]] := succ[natadd[x,y]] union[complement[image[V,intersection[y_,set[x_]]]], image[V,intersection[y_,complement[z_]]], image[V,intersection[z_,set[x_]]]] := V (* added 2003 August 9 based on REIFZADD.NB *) union[complement[image[V,intersection[Z,set[x_]]]],intadd[x_,y_]] := intadd[x,y] (* Quaife's Theorem RE7 added 1998 September 6 *) union[complement[image[V,set[x_]]],complement[image[V,set[complement[x_]]]]] := V (* derived 2004 December 10 in AP-IMG.NB *) union[complement[image[V,set[x_]]],complement[image[V,set[domain[x_]]]]] := complement[image[V,set[x]]] (* derived 2004 December 10 in AP-IMG.NB *) union[complement[image[V,set[x_]]],complement[image[V,set[domain[domain[x_]]]]]] := complement[image[V,set[x]]] (* derived 2004 December 10 in AP-IMG.NB *) union[complement[image[V,set[x_]]],complement[image[V,set[image[x_,y_]]]]] := complement[image[V,set[x]]] (* replaced 2002 January 1 based on REPLACE.NB *) union[complement[image[V,set[x_]]],complement[image[V,set[y_]]],pair[x_,y_]] := PAIR[x,y] (* derived 2004 December 10 in AP-IMG.NB *) union[complement[image[V,set[x_]]],complement[image[V,set[range[x_]]]]] := complement[image[V,set[x]]] (* derived 2004 December 10 in AP-IMG.NB *) union[complement[image[V,set[x_]]],complement[image[V,set[range[domain[x_]]]]]] := complement[image[V,set[x]]] (* derived 2004 August 10 in RS-3.NB *) union[complement[image[V,set[x_]]],complement[image[V,set[RS[x_]]]]] := complement[image[V,set[x]]] (* added 2001 November 20 based on SWAP.NB *) union[complement[image[V,set[x_]]],first[x_]] := first[x] (* added 2001 November 29 based on CO-SS.NB *) union[complement[image[V,set[first[x_]]]],first[x_]] := first[x] (* added 2001 November 29 based on CO-SS.NB *) union[complement[image[V,set[first[x_]]]],second[x_]] := second[x] (* added 2001 April 27 based on MAP2.NB *) union[complement[image[V,set[y_]]], image[V,intersection[x_,complement[y_]]],image[V,set[x_]]] := V (* added 2002 Septemeber 16 based on SUB-DUP.NB *) union[complement[image[V,set[x_]]],natsub[x_,y_]] := natsub[x,y] (* added 2002 Septemeber 16 based on SUB-DUP.NB *) union[complement[image[V,set[y_]]],natsub[x_,y_]] := natsub[x,y] (* added 2002 September 15 based on RESTORE.NB *) union[complement[image[V,set[natsub[x_,y_]]]],natsub[x_,y_]] := natsub[x,y] (* added 2002 September 16 based on SUB-SUCC.NB *) union[complement[image[V,set[y_]]],natsub[x_,succ[y_]]] := natsub[x,succ[y]] (* added 2002 January 1 based on PAIR-MEM.NB *) union[complement[image[V,set[x_]]],PAIR[x_,y_]] := PAIR[x,y] (* added 2002 January 1 based on PAIR-MEM.NB *) union[complement[image[V,set[y_]]],PAIR[x_,y_]] := PAIR[x,y] (* added 2003 November 13 based on APPLY-SP.NB *) union[complement[image[V,set[x_]]],pair[x_,x_]] := PAIR[x,x] (* added 2001 November 20 based on SWAP.NB *) union[complement[image[V,set[x_]]],second[x_]] := second[x] union[complement[x_],intersection[x_,y_]] := union[complement[x],y] (* derived 2004 February 20 in REPLACE1.NB *) union[complement[lb[x_,V]],domain[x_]] := V (* derived 2004 February 20 in REPLACE1.NB *) union[complement[lb[x_,V]],lb[x_,y_]] := V (* added 2000 September 19 based on PC-RULE.LOG *) union[complement[P[x_]],complement[P[y_]]] := complement[P[intersection[x,y]]] union[complement[S],complement[inverse[S]]] := complement[Id] (* derived 2004 February 20 in REPLACE1.NB *) union[complement[ub[x_,V]],range[x_]] := V (* derived 2004 February 20 in REPLACE1.NB *) union[complement[ub[x_,V]],ub[x_,y_]] := V union[composite[x_,y_],cart[domain[y_],V]] := cart[domain[y],V] union[composite[x_,y_],cart[V,range[x_]]] := cart[V,range[x]] (* added 2001 December 31 based on DORA-DJ.NB *) union[composite[x___,complement[S],y___], composite[x___,complement[inverse[S]],y___]] := composite[x,Di,y] (* added 1999 October 19 based on RULEFAIL.2 *) union[composite[x_,y_],composite[x_,complement[y_]]] := cart[V,range[x]] (* added 1999 October 19 based on RULEFAIL.2 *) union[composite[x_,y_],composite[complement[x_],y_]] := cart[domain[y],V] (* added 2000 August 28 based on UCoLog.1 *) union[composite[x_,y_,z_],composite[x_,complement[y_],z_]] := cart[domain[z],range[x]] (* added 2000 August 28 based on UCoLog.1 *) union[composite[x_,y_],composite[x_,Di,y_]] := cart[domain[y],range[x]] (* added 2002 June 12 based on ABSORB.NB *) union[composite[w___,x_,z___], composite[w___,intersection[x_,y_],z___]] := composite[w,x,z] (* added 2002 April 19 based on SYMDIF.NB *) union[composite[w___,x_,z___], composite[w___,intersection[y_,complement[x_]],z___]] := union[composite[w,x,z],composite[w,y,z]] (* added 1998 July 2 *) union[z_,composite[Di,z_]] := union[cart[domain[z],V],intersection[z,complement[cart[V,V]]]] (* added 1998 July 2 *) union[z_,composite[z_,Di]] := union[cart[V,range[z]],intersection[z,complement[cart[V,V]]]] (* added 2001 November 29 based on THIN-RS.NB; corrected 2003 April 15 *) union[composite[x___,DISJOINT,y___],composite[x___,E,inverse[E],y___]] := cart[domain[composite[Id,y]],range[composite[Id,x]]] (* added 2002 November 12 based on VS-RULES.NB *) union[composite[E,complement[x_]],composite[complement[E],x_]] := composite[Id,complement[VERTSECT[x]]] union[composite[Id,x_],x_] := x union[composite[Id,complement[inverse[x_]]],inverse[x_]] := cart[V,V] (* added 1998 August 30 *) union[composite[Id,complement[S]],composite[Id,complement[inverse[S]]]] := Di (* added 1999 November 11 based on 1999/NOV/07/CARTDORA.NB *) union[composite[id[complement[set[0]]],CART], cart[union[cart[V,set[0]],cart[set[0],V]], set[0]]] := CART union[composite[Id,x_],composite[id[y_],x_]] := composite[Id,x] (* added 2002 March 27 based on TRV.NB *) union[composite[Id,x_],composite[trv[x_],trv[x_]]] := trv[x] union[composite[Id,x_], intersection[x_,complement[cart[V,V]]]] := x (* corrected 1999 February 18 *) union[composite[x_,id[y_]],x_] := x (* added 1999 August 13 *) union[composite[x_,id[y_]],composite[x_,id[z_]]] := composite[x,id[union[y,z]]] (* added 1999 August 13 corrected 1999 August 17 *) union[composite[id[x_],z_],composite[id[y_],z_]] := composite[id[union[x,y]],z] union[composite[z_,id[x_]], intersection[z_,complement[cart[x_,V]]]] := z union[composite[id[y_],x_],x_] := x union[composite[id[y_],x_], intersection[x_,complement[cart[V,y_]]]] := x union[composite[x_,id[y_]],composite[Id,x_]] := composite[Id,x] (* added 2000 February 5 based on REVISIT.NB *) union[composite[Id,x_],funpart[x_]] := composite[Id,x] union[composite[id[y_],z_,id[x_]],z_] := z union[composite[id[y_],z_,id[x_]], intersection[z_,complement[cart[x_,y_]]]] := z (* added 2002 September 15 based on OMEGA.NB *) union[composite[id[omega],E], composite[id[omega],inverse[S],id[omega]]] := cart[omega,omega] (* added 2002 June 9 based on OMEGA.NB *) union[composite[id[omega],E],id[omega]] := composite[id[omega],S,id[omega]] (* added 2002 June 21 based on NATADD.NB *) union[composite[id[omega],S,id[omega]], composite[id[omega],inverse[S],id[omega]]] := cart[omega,omega] (* added 2002 March 24 based on TRV-2.NB *) union[composite[inverse[E],BIGCUP,TC],inverse[E]] := composite[inverse[E],TC] (* added 2002 September 15 based on OMEGA.NB *) union[composite[inverse[E],id[omega]], composite[id[omega],S,id[omega]]] := cart[omega,omega] (* added 2002 June 9 based on OMEGA.NB *) union[composite[inverse[E],id[omega]],id[omega]] := composite[id[omega],inverse[S],id[omega]] (* added 2002 November 13 based on NORM-ADD.NB *) union[composite[inverse[E],IMAGE[id[complement[cart[V,V]]]]], GREATEST[complement[cross[x_,y_]]]] := GREATEST[complement[cross[x,y]]] (* added 2002 April 23 based on TRICHOT.NB *) union[composite[inverse[SUCC],E],inverse[E]] := union[E,composite[inverse[E],SUCC]] (* added 2002 June 8 based on TRV.NB *) union[composite[trv[x_],trv[x_]],trv[x_]] := trv[x] union[cross[x_,y_],composite[inverse[FIRST],x_,FIRST]] := composite[inverse[FIRST],x,FIRST] union[cross[x_,y_],composite[inverse[SECOND],y_,SECOND]] := composite[inverse[SECOND],y,SECOND] (* X-U-1 in X1 *) union[cross[x_,z_],cross[y_,z_]] := cross[union[x,y],z] (* X-U-2 in X1 *) union[cross[x_,y_],cross[x_,z_]] := cross[x,union[y,z]] (* Theorem DI-ID-U in DI added 1998 July 2 union[Di,Id] := cart[V,V] *) (* added 1998 July 2 union[Di,id[x_]] := union[cart[V,x],cart[x,V], composite[id[complement[x]],Di,id[complement[x]]]] *) (* derived 2005 January 5 in REPLACE.NB *) union[DIF,cart[S,set[0]]] := DIF (* added 1999 October 18 based on NORMAL.2 *) union[DISJOINT,composite[E,inverse[E]]] := cart[V,V] (* added 2000 February 5 based on REVISIT.NB *) union[domain[x_],domain[funpart[x_]]] := domain[x] (* added 1999 December 24 based on VERTSECT.NB *) union[domain[x_],domain[VERTSECT[x_]]] := V (* added 2000 February 5 based on REVISIT.NB *) union[domain[funpart[x_]],fix[composite[inverse[x_],Di,x_]]] := domain[x] (* derived 2004 June 25 in X2500-19.NB *) union[domain[VERTSECT[inverse[x_]]],range[x_]] := V union[E,composite[S,SUCC]] := E (* Theorem SUC-IN2 in SUC-RELATION *) union[E,Id] := composite[inverse[SUCC],E] union[E,intersection[SINGLETON,x_]] := E union[FIRST,inverse[DUP]] := FIRST union[fix[composite[x_,y_]],domain[y_]] := domain[y] (* added 2002 June 12 based on ABSORB.NB *) union[fix[composite[x_,id[z_],y_]],image[x_,z_]] := image[x,z] union[fix[composite[inverse[x_],y_]],domain[x_]] := domain[x] (* suggested by ReplaceTest added 1998 September 10 *) union[fix[composite[x_,inverse[y_]]],range[y_]] := range[y] union[fix[composite[x_,y_]],range[x_]] := range[x] union[fix[x_],domain[x_]] := domain[x] (* added 1998 February 7 *) union[fix[E],RUSSELL] := V union[fix[x_],range[x_]] := range[x] union[fix[SINGLETON],fix[E]] := fix[E] union[FULL,OMEGA] := FULL (* added 2000 February 5 based on REVISIT.NB *) union[funpart[x_],intersection[x_,composite[Di,x_]]] := composite[Id,x] (* added 2000 September 22 based on EXPT *) union[FUNS,set[0]] := FUNS (* based on 1999 December 11 notebook CART-DUP.NB *) union[Id,cart[set[x_],set[x_]]] := Id (* Theorem SUC-IN3 in SUC-RELATION *) union[Id,inverse[E]] := composite[inverse[E],SUCC] union[Id,inverse[S]] := inverse[S] (* added 1998 August 10 *) union[Id,PS] := S union[Id,S] := S union[id[x_],cart[x_,x_]] := cart[x,x] union[x_,id[fix[x_]]] := x (* added 2002 January 19 based on TRV-DI.NB *) union[id[fix[x_]],intersection[Di,x_]] := composite[Id,x] union[id[x_],Id] := Id (* Theorem IDX-U in IDX2 *) union[id[x_],id[y_]] := id[union[x,y]] (* Theorem DI-IM-V in DI added 1998 July 2 *) union[x_,image[Di,x_]] := image[V,x] (* Theorem DI-V-IM in DI added 1998 July 2 *) union[image[Di,x_],image[V,set[x_]]] := V union[IMAGE[id[x_]],inverse[S]] := inverse[S] union[image[z_,x_],image[z_,complement[x_]]] := range[z] (* derived 2003 December 18 in RA-ITER.NB *) union[image[x_,y_],image[x_,image[trv[x_],y_]]] := image[trv[x],y] union[image[z_,x_],image[V,x_]] := image[V,x] (* added 2000 May 22 based on TRYAGAIN.NB *) union[image[z_,x_],image[z_,intersection[y_,complement[x_]]]] := union[image[z,x],image[z,y]] (* added 1998 October 2 *) union[image[z_,intersection[x_,complement[y_]]], image[z_,intersection[x_,y_]]] := image[z,x] union[image[z_,intersection[x_,y_]],image[z_,x_]]:= image[z,x] union[image[inverse[x_],y_],domain[x_]] := domain[x] (* added 2000 September 22 based on EXPT *) union[image[INVERSE,FUNS],set[0]] := image[INVERSE,FUNS] (* added 2002 November 30 based on POS-NEG.NB *) union[image[INVERSE,range[PLUS]],range[PLUS]] := Z (* added 2002 December 1 based on Z-PC-S.NB *) union[image[INVERSE,range[PLUS]],set[id[omega]]] := image[INVERSE,range[PLUS]] union[image[inverse[S],x_],x_] := image[inverse[S],x] (* derived 2005 January 8 in RA-PRS.NB *) union[image[PAIRSET,Di],range[SINGLETON]] := range[PAIRSET] union[image[x_,y_],range[x_]] := range[x] union[image[S,x_],x_] := image[S,x] (* added 2003 April 1 based on IM-S-C.NB *) union[x_,image[S,complement[x_]]] := V (* derived 2004 August 1 in THINNESS.NB *) union[y_,image[trv[x_],y_]] := range[iterate[x,y]] union[image[V,x_],x_] := image[V,x] union[image[V,x_],complement[image[V,intersection[x_,y_]]]] := V (* Theorem SR-IMV-U in SR1 proved 1998 October 5 *) union[image[V,x_],image[S,set[x_]]] := V (* Theorem IMV-SS-U in IM2 proved 1998 October 5 *) union[image[V,x_],image[V,set[x_]]] := V (* added 2002 September 21 based on EZ-SUB.NB *) union[image[V,intersection[x_,complement[y_]]],natsub[y_,x_]] := natsub[y,x] (* derived 2005 June 17 in DF.NB *) union[image[V,intersection[nat[y_],set[nat[x_]]]],nat[natsub[nat[x_],nat[y_]]]] := natsub[nat[x],nat[y]] union[image[V,x_],inverse[x_]] := image[V,x] (* added 2001 November 13 based on REPLACE.NB *) union[image[V,set[x_]],set[first[x_]]] := image[V,set[x]] (* added 2001 November 13 based on REPLACE.NB *) union[image[V,set[x_]],set[second[x_]]] := image[V,set[x]] (* Theorem D-4 in D *) union[x_,intersection[x_,y_]] := x (* added 2000 December 9 based on CLIQUES.NB *) union[intersection[cliques[x_],P[y_]],set[0]] := intersection[cliques[x],P[y]] (* Theorem D-5 in D *) union[x_,intersection[complement[x_],y_]] := union[x,y] (* Modified 1998 September 11 *) union[intersection[complement[x_],complement[y_]],intersection[x_,z_],intersection[y_,z_]] := union[intersection[complement[x],complement[y]],z] (* derived 2004 November 26 in XS-CP.NB *) union[intersection[complement[image[V,y_]],set[0]],intersection[image[V,y_],map[x_,y_]]] := X[cart[x,y]] (* Theorem D-7 in D *) union[intersection[complement[x_],y_],intersection[x_,y_]] := y union[intersection[complement[x_],y_,z_],intersection[x_,y_]] := union[intersection[x,y],intersection[y,z]] union[intersection[complement[x_],y_],intersection[x_,y_,z_]] := union[intersection[complement[x],y],intersection[y,z]] (* Modified 1998 September 11 *) union[intersection[complement[x_],z_], intersection[complement[y_],z_],intersection[x_,y_]] := union[intersection[x,y],z] (* Modified 1998 September 11 *) union[intersection[complement[x_],y_], intersection[complement[y_],z_],intersection[x_,z_]] := union[intersection[complement[x],y],z] union[intersection[complement[x_],y_], intersection[x_,z_],intersection[y_,z_]] := union[intersection[complement[x],y],intersection[x,z]] (* derived 2005 February 3 in X4224.NB *) union[intersection[FULL,x_],U[intersection[FULL,x_]]] := tc[intersection[FULL,x]] (* derived 2004 April 25 in IMS-UCL.NB *) union[intersection[image[S,x_],Uclosure[x_]],set[0]] := Uclosure[x] (* added 2002 June 8 based on POW-CART.NB *) union[intersection[omega,complement[set[0]]],set[set[0]]] := intersection[omega,complement[set[0]]] union[inverse[IMAGE[id[x_]]],S] := S union[inverse[S],cart[V,set[0]]] := inverse[S] union[inverse[SINGLETON],inverse[E]] := inverse[E] union[inverse[SINGLETON],BIGCUP] := BIGCUP (* added 2002 June 12 based on ABSORB.NB *) union[iterate[w_,x_],iterate[w_,intersection[x_,y_]]] := iterate[w,x] (* added 2000 November 30 based on INVAR-U.NB *) union[K,composite[PS,PS]] := PS (* derived 2005 February 13 in NAT.NB *) union[nat[x_],U[nat[x_]]] := nat[x] (* added 2001 August 16 based on TC-REG.NB *) union[omega,P[omega]] := P[omega] (* added 1998 May 13 *) union[OMEGA,P[FULL]] := P[FULL] union[OMEGA,P[OMEGA]] := P[OMEGA] union[OMEGA,P[RUSSELL]] := P[RUSSELL] (* Theorem OM-0-DEM in OM1 added 1998 February 7 *) union[omega,set[0]] := omega union[x_,P[U[x_]]] := P[U[x]] (* added 2001 September 30 based on ACL-2.NB *) union[x_,set[x_,succ[x_]]] := succ[succ[x]] (* reformulated 1998 September 12 *) union[POWER,composite[Di,POWER]] := cart[V,V] (* added 2000 May 14 based on PS-1.NB *) union[PS,composite[PS,PS]] := PS (* added 2000 May 14 based on PS-1.NB *) union[PS,S] := S (* derived 2004 April 6 in SMALLER.NB *) union[Q,SMALLER] := composite[Q,S] (* added 2001 December 18 based on DORA.NB *) union[range[CART],set[0]] := range[CART] (* derived 2005 January 18 in RA-KURA.NB *) union[range[PAIRSET],range[SINGLETON]] := range[PAIRSET] (* added 2002 December 1 based on Z-PC-S.NB *) union[range[PLUS],set[id[omega]]] := range[PLUS] union[range[SINGLETON],complement[set[0]]] := complement[set[0]] union[REGULAR,cart[REGULAR,REGULAR]] := REGULAR union[REGULAR,id[REGULAR]] := REGULAR (* added 1998 February 7 *) union[RUSSELL,P[RUSSELL]] := RUSSELL union[S,cart[set[0],V]] := S (* suggested 1998 October 27 in SESSION2.LOG *) union[S,composite[Id,complement[S]]] := cart[V,V] (* added 2002 April 23 based on TRICHOT.NB *) union[S,composite[inverse[E],SUCC]] := union[S,inverse[E]] union[S,composite[S,SUCC]] := S union[S,id[x_]] := S union[SECOND,inverse[DUP]] := SECOND (* derived 2005 January 11 in SET-SUCC.NB *) union[x_,set[x_,y___]] := union[set[y],succ[x]] union[set[0],P[x_]] := P[x] (* derived 2005 January 11 in SET-SUCC.NB *) union[set[0,succ[set[0]]],succ[set[set[0]]]] := P[succ[set[0]]] (* added 2002 January 22 based on UCLUCL.NB *) union[set[0],Uclosure[x_]] := Uclosure[x] union[set[x_],P[x_]] := P[x] (* derived 2005 January 10 in SET.NB *) union[set[x__],set[y__]] := set[x,y] (* derived 2005 January 3 in FULL.NB *) union[set[set[set[0]]],succ[set[0]]] := union[set[0],succ[set[set[0]]]] (* derived 2005 January 11 in SET-SUCC.NB *) union[set[set[set[0]]],succ[succ[set[0]]]] := P[succ[set[0]]] union[SINGLETON,E] := E union[SINGLETON,inverse[BIGCUP]] := inverse[BIGCUP] (* derived 2004 December 21 in SBCOMMUT.NB *) union[SUBCOMMUTE,cart[V,set[0]]] := SUBCOMMUTE (* added 2001 December 2 based on RANK-2.NB *) union[x_,succ[x_]] := succ[x] (* added 2000 January 8 based on TC-SR.NB *) union[TC,id[FULL]] := TC (* derived 2003 December 18 in RA-ITER.NB *) union[x_,tc[x_]] := tc[x] (* added 2002 June 12 based on ABSORB.NB *) union[tc[x_],tc[intersection[x_,y_]]] := tc[x] (* added 2002 May 16 based on TC.NB *) union[tc[x_],U[tc[x_]]] := tc[x] union[U[x_],image[V,x_]] := image[V,x] (* Theorem TC-EQ in TC2 proved 2000 October 16 *) union[x_,U[tc[x_]]] := tc[x] (* derived 2004 March 4 in A-SC-PC.NB *) union[U[x_],U[complement[x_]]] := V union[U[x_],U[intersection[x_,y_]]] := U[x] (* Theorem U-5 in U *) union[V,x_] := V (* added 1999 September 26 based on VS-CP.LOG *) VERTSECT[cart[x_,y_]] := union[cart[x,set[y]],cart[complement[x],set[0]]] (* derived 2004 December 21 in COMUTANT.NB *) VERTSECT[COMMUTE] := 0 (* added 2000 January 4 based on REMOVED.NB *) VERTSECT[complement[cart[x_,y_]]] := cart[x,set[complement[y]]] (* added 2003 May 11 based on APPLHULL.NB *) VERTSECT[complement[composite[complement[inverse[E]], intersection[composite[S,SECOND],composite[inverse[E],FIRST]]]]] := composite[inverse[SINGLETON],IMG,cross[LAMBHULL,SINGLETON]] (* Theorem VS-E-C1 in VS1 proved 1999 July 21 *) VERTSECT[complement[E]] := 0 (* added 2003 June 11 based on VS.NB *) VERTSECT[complement[image[V,x_]]] := cart[V,intersection[image[V,x],set[0]]] (* Theorem VS-E-C2 in VS1 proved 1999 July 21 *) VERTSECT[complement[inverse[E]]] := 0 (* Theorem VS-SR-2 proved 1999 July 21 *) VERTSECT[complement[inverse[S]]] := 0 (* Theorem VS-SR-C2 in VS1 proved 1999 July 21 *) VERTSECT[complement[S]] := cart[set[0],set[0]] (* added 2003 June 15 based on VSCORULE.NB *) VERTSECT[composite[BIGCUP,x_]] := composite[IMAGE[BIGCUP],VERTSECT[x]] (* added 2003 June 15 based on VSCORULE.NB *) VERTSECT[composite[complement[S],x_]] := cart[image[inverse[VERTSECT[x]],succ[set[0]]],set[0]] (* Theorem VS-3 in VS proved 1999 July 11 *) VERTSECT[composite[Id,x_]] := VERTSECT[x] (* added 2001 November 29 *) VERTSECT[composite[x_,id[y_]]] := union[cart[complement[y],set[0]],composite[VERTSECT[x],id[y]]] (* added 2003 March 13 based on THIN-CO.NB *) VERTSECT[composite[x___,id[complement[image[V,y_]]],z___]] := union[cart[V,intersection[image[V,y],set[0]]], composite[VERTSECT[composite[x,z]],id[complement[image[V,y]]]]] (* added 1999 November 17 based on WORK/VS-RC.1 *) VERTSECT[composite[id[x_],complement[inverse[E]]]] := composite[RC[x],IMAGE[id[x]]] (* added 2000 September 21 based on VS.NB *) VERTSECT[composite[id[FIRST],inverse[FIRST],inverse[SECOND]]] := 0 (* added 2003 March 13 based on THIN-CO.NB *) VERTSECT[composite[x___,id[image[V,y_]],z___]] := union[cart[V,intersection[complement[image[V,y]],set[0]]], composite[VERTSECT[composite[x,z]],id[image[V,y]]]] (* added 2000 September 21 based on VS.NB *) VERTSECT[composite[id[inverse[FIRST]],inverse[SECOND],inverse[SECOND]]] := 0 (* added 2000 September 21 based on VS.NB *) VERTSECT[composite[id[inverse[SECOND]],inverse[SECOND],inverse[FIRST]]] := 0 (* added 2000 September 21 based on VS.NB *) VERTSECT[composite[id[SECOND],inverse[FIRST],inverse[FIRST]]] := 0 (* added 2000 September 9 based on FNP-2.NB *) VERTSECT[composite[intersection[composite[inverse[FIRST],inverse[SINGLETON],SECOND], composite[inverse[SECOND],inverse[SINGLETON],IMG]],inverse[FIRST]]] := FUNPART (* added 2000 September 10 based on VS.NB *) VERTSECT[composite[intersection[composite[inverse[SECOND],IMG], composite[inverse[FIRST],inverse[SINGLETON],SECOND]],inverse[FIRST]]] := 0 (* Theorem VS-IMG-1 in VS2 proved 1999 July 13 *) VERTSECT[composite[x_,inverse[E]]] := IMAGE[x] (* added 2003 June 15 based on VSCORULE.NB *) VERTSECT[composite[inverse[E],x_]] := composite[BIGCUP,VERTSECT[x]] (* derived 2004 May 8 in GLB-LUB.NB *) VERTSECT[composite[inverse[POWER],S]] := 0 (* added 2003 June 15 based on VSCORULE.NB *) VERTSECT[composite[inverse[S],x_]] := composite[IMAGE[inverse[S]],VERTSECT[x]] (* added 2003 June 15 based on VSCORULE.NB *) VERTSECT[composite[POWER,x_]] := composite[IMAGE[POWER],VERTSECT[x]] (* derived 2004 January 7 in VSLAMBDA.NB *) VERTSECT[composite[RIGHT[0],complement[inverse[E]]]] := 0 (* added 2003 June 15 based on VSCORULE.NB *) VERTSECT[composite[SINGLETON,x_]] := composite[IMAGE[SINGLETON],VERTSECT[x]] (* added 2000 September 12 based on NEWRULES.TXT *) VERTSECT[composite[SWAP,inverse[rotate[composite[IMG,SWAP]]]]] := 0 (* Theorem VS-DI in VS1 proved 1999 July 21 *) VERTSECT[Di] := 0 (* added 1999 October 23 based on E-CO-DJT.LOG *) VERTSECT[DISJOINT] := 0 (* Theorem VS-E in VS1 proved 1999 July 21 *) VERTSECT[E] := 0 (* Theorem VS-SG in VS2 proved 1999 July 13 *) VERTSECT[Id] := SINGLETON (* added 2002 April 10 based on INVAR.NB *) VERTSECT[INVAR] := 0 (* added 2001 February 24 based on NEW.NB *) VERTSECT[inverse[BIGCAP]] := 0 (* added 2002 February 3 based on CUPCLOSED.NB *) VERTSECT[inverse[CAP]] := 0 (* Theorem VS-ID in VS1 proved 1999 July 13 *) VERTSECT[inverse[E]] := Id (* added 1999 October 16 based on VERTSECT.1 *) VERTSECT[inverse[FIRST]] := 0 (* added 2003 June 23 based on INVAR.NB *) VERTSECT[inverse[INVAR]] := 0 (* added 2002 October 24 based on VS-I-LB.NB *) VERTSECT[inverse[LB[x_]]] := composite[POWER,VERTSECT[x]] (* added 2002 November 29 based on PLUS.NB *) VERTSECT[inverse[rotate[NATADD]]] := union[cart[complement[omega],set[0]],composite[INVERSE,PLUS]] (* Theorem VS-POW-2 in VS1 proved 1999 July 20 *) VERTSECT[inverse[S]] := POWER (* added 1999 October 16 based on VERTSECT.1 *) VERTSECT[inverse[SECOND]] := 0 (* derived 2004 December 21 in SBCOMMUT.NB *) VERTSECT[inverse[SUBCOMMUTE]] := 0 (* added 2002 October 24 based on VS-I-LB.NB *) VERTSECT[inverse[UB[x_]]] := composite[POWER,VERTSECT[inverse[x]]] (* Theorem VS-K in VS1 proved 2000 May 24 *) VERTSECT[K] := 0 (* added 2002 October 24 based on VS-I-LB.NB *) VERTSECT[LB[LB[x_]]] := composite[POWER,VERTSECT[UB[x]]] (* added 2002 October 24 based on VS-I-LB.NB *) VERTSECT[LB[UB[x_]]] := composite[POWER,VERTSECT[LB[x]]] (* added 1999 October 19 based on VERTSECT.1 *) VERTSECT[omega] := cart[V,set[0]] (* added 1999 October 19 based on VERTSECT.1 *) VERTSECT[OMEGA] := cart[V,set[0]] (* added 1999 October 19 based on VERTSECT.1 *) VERTSECT[PS] := 0 (* Theorem Q-VS in Q proved 2000 May 10 *) VERTSECT[Q] := cart[set[0],set[set[0]]] (* added 1999 October 19 based on VERTSECT.1 *) VERTSECT[REGULAR] := cart[complement[REGULAR],set[0]] (* added 1999 November 27 based on VS-ROT-E.LOG *) VERTSECT[rotate[E]] := union[cart[complement[cart[V,V]],set[0]], composite[IMG,cross[Id,SINGLETON]]] (* Theorem VS-SR-1 in VS1 proved 1999 July 21 *) VERTSECT[S] := 0 (* derived 2004 December 21 in SBCOMMUT.NB *) VERTSECT[SUBCOMMUTE] := 0 (* added 2000 January 4 based on VS-U.TXT *) VERTSECT[union[x_,y_]] := composite[CUP,intersection[composite[inverse[FIRST],VERTSECT[x]],composite[inverse[SECOND],VERTSECT[y]]]] (* added 1999 October 19 based on VERTSECT.1 *) VERTSECT[V] := 0 (* derived 2003 December 22 in EMPTY.NB *) WELLFOUNDED[0] := True (* added 2003 October 7 based on WF-IND.NB *) WELLFOUNDED[cart[x_,y_]] := equal[0,intersection[x,y]] (* derived 2005 February 1 in DIV-WF.NB *) WELLFOUNDED[composite[id[omega],E]] := True (* derived 2004 April 28 in WF.NB *) WELLFOUNDED[composite[id[OMEGA],E]] := True (* derived 2005 February 1 in DIV-WF.NB *) WELLFOUNDED[composite[id[omega],inverse[BIGCUP],E]] := True (* added 2003 September 29 based on WF.NB *) WELLFOUNDED[composite[id[REGULAR],E]] := True (* added 2003 September 29 based on WF.NB *) WELLFOUNDED[composite[id[FINITE],PS]] := True (* derived 2004 September 29 in WF-REC-7.NB *) WELLFOUNDED[composite[id[omega],SUCC]] := True (* derived 2004 September 18 in WF-WRAP.NB *) WELLFOUNDED[composite[id[x_],wf[y_]]] := True (* derived 2004 September 23 in WF-FU.NB *) WELLFOUNDED[composite[inverse[FIRST],wf[x_],FIRST]] := True (* derived 2004 September 23 in WF-FU.NB *) WELLFOUNDED[composite[inverse[funpart[x_]],wf[y_],funpart[x_]]] := True (* derived 2004 September 23 in WF-FU.NB *) WELLFOUNDED[composite[inverse[SECOND],wf[x_],SECOND]] := True (* derived 2004 September 23 in WF-FU.NB *) WELLFOUNDED[composite[SWAP,wf[x_],SWAP]] := True (* derived 2005 February 1 in DIV-WF.NB *) WELLFOUNDED[composite[trv[x_],trv[x_]]] := WELLFOUNDED[trv[x]] (* derived 2004 December 30 in REPLACE.NB *) WELLFOUNDED[E] := AxReg (* derived 2005 February 3 in WF-DIV.NB *) WELLFOUNDED[intersection[Di,DIV]] := True (* derived 2004 September 18 in WF-WRAP.NB *) WELLFOUNDED[intersection[x_,wf[y_]]] := True (* added 2003 October 7 based on WF-IND.NB *) WELLFOUNDED[set[x_]] := or[and[member[first[x],V], not[equal[first[x],second[x]]]],not[member[x,V]]] (* derived 2004 September 23 in WF-LEX.NB *) WELLFOUNDED[union[composite[inverse[FIRST],wf[x_],FIRST],cross[Id,wf[y_]]]] := True (* derived 2004 September 23 in WF-LEX.NB *) WELLFOUNDED[union[composite[inverse[FIRST],wf[x_],FIRST],cross[id[z_],wf[y_]]]] := True (* derived 2004 September 18 in WF-WRAP.NB *) WELLFOUNDED[wf[x_]] := True (* derived 2004 January 24 in WO-WRAP.NB *) WELLORDER[0] := True (* derived 2004 January 24 in WO-WRAP.NB *) WELLORDER[cart[set[x_],set[x_]]] := True (* derived 2004 January 24 in WO-WRAP.NB *) WELLORDER[composite[id[x_],S,id[x_]]] := subclass[P[x],union[fix[composite[E,BIGCAP]],set[0]]] (* derived 2005 January 5 in WO-ID.NB *) WELLORDER[id[x_]] := or[equal[0,x],member[x,range[SINGLETON]]] (* derived 2004 September 18 in WF-WRAP.NB *) wf[0] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) wf[composite[Id,x_]] := wf[x] (* derived 2004 September 18 in WF-WRAP.NB *) wf[composite[id[x_],wf[y_]]] := composite[id[x],wf[y]] (* derived 2004 September 18 in WF-WRAP.NB *) wf[Di] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) wf[E] := composite[id[REGULAR],E] (* derived 2004 September 18 in WF-WRAP.NB *) wf[Id] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) wf[id[x_]] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) wf[intersection[x_,wf[y_]]] := intersection[x,wf[y]] (* derived 2004 September 18 in WF-WRAP.NB *) wf[inverse[E]] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) wf[inverse[S]] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) wf[PS] := composite[id[FINITE],PS] (* derived 2004 September 18 in WF-WRAP.NB *) wf[S] := 0 (* derived 2004 September 25 in LAMB-WF.NB *) wf[union[x_,complement[image[V,y_]]]] := composite[id[image[V,y]],wf[x]] (* derived 2004 September 18 in WF-WRAP.NB *) wf[V] := 0 (* derived 2004 September 18 in WF-WRAP.NB *) wf[wf[x_]] := wf[x] (* derived 2004 October 28 in X.NB *) X[0] := set[0] (* derived 2004 October 28 in X.NB *) X[cart[x_,V]] := map[x,V] (* derived 2004 October 28 in X.NB *) X[composite[Id,x_]] := X[x] (* derived 2004 October 28 in X.NB *) X[funpart[x_]] := set[funpart[x]] (* derived 2004 November 16 in XS.NB *) X[union[x_,complement[image[V,y_]]]] := intersection[image[V,y],X[x]] (* derived 2004 October 28 in X.NB *) X[V] := 0 (* conditional rules last *) cond = True (* default *) equality = True (* default *) (* Theorem A-0 in A1 *) A[x_] := 0 /; member[0,x] (* Theorem SP-A-C in SP3 *) A[complement[x_]] := 0 /; member[x,V] (* derived 2005 February 19 in ITR-OM-E.NB *) A[intersection[omega,complement[x_]]] := x /; member[x,omega] (* derived 2005 February 20 in CARD-TWO.NB *) and[member[x_,y_],member[x_,z_]] := member[x,y] /; subclass[y,z] (* derived 2005 January 18 in SET-A-U.NB *) A[set[x_,y___]] := intersection[x,A[set[y]]] /; member[x,V] (* Corollary of Theorem ON-BA4 in ON5 proved 2000 June 3 *) Aclosure[x_] := x /; member[x,OMEGA] (* added 2002 October 8 based on ACL-IND.NB *) Aclosure[intersection[x_,y_]] := intersection[x,y] /; Aclosure[x]==x && Aclosure[y]==y (* Theorem ADJ-RP in ADJ proved 1999 March 11 *) ADJOIN[x_] := 0 /; not[member[x,V]] (* modified 2004 June 8 based on NOBLANKS.NB temporarily removed 2004 September 3 and[equal[x_,y_],p_] := False /; (equality && noblanks[{x,y,p}] && (not[p] /. x -> y)) *) (* derived 2004 October 26 in AXCH-AC1.NB *) axch := True /; AxCh (* added 2001 December 1 based on CARD-X.NB *) card[x_] := V /; not[member[x,V]] (* derived 2005 January 7 in CARD-UP.NB *) card[set[x_,y_]] := succ[set[0]] /; and[member[x,V],member[y,V],not[equal[x,y]]] (* derived 2005 January 7 in CARD-K.NB *) card[succ[x_]] := succ[card[x]] /; and[member[x,FINITE],member[x,REGULAR]] (* derived 2005 January 8 in CARD-ADJ.NB *) card[union[x_,set[y_]]] := succ[card[x]] /; and[member[x,FINITE],member[y,V],not[member[y,x]]] (* added 2002 January 18 based on THINRULE.NB *) cliques[complement[x_]] := fix[composite[DISJOINT,IMAGE[x]]] /; cond && thin[x] (* added 2002 January 18 based on FUNPART.NB *) cliques[composite[Di,f_]] := intersection[fix[composite[DISJOINT,IMAGE[f]]],P[domain[f]]] /; FUNCTION[f] (* Theorem AP-SV-C1 in AP2 proved 1998 September 7 *) complement[composite[x_,f_]] := union[composite[complement[x],f], complement[cart[domain[f],V]]] /; FUNCTION[f] complement[composite[g_,x_]] := union[composite[g,complement[x]], complement[cart[V,range[g]]]] /; INVFUN[g] (* derived 2004 May 7 in IIOO-ACL.NB *) composite[BIGCAP,IMAGE[IMAGE[h_]]] := composite[IMAGE[h],BIGCAP] /; ONEONE[h] (* added 2001 June 28 based on HULL.NB *) composite[BIGCAP,VERTSECT[composite[id[x_],S]]] := HULL[x] /; member[x,V] (* Theorem IMG-BC-5 in IMG4 proved 1998 November 19 replaced 1999 September 24 with a new unconditional rule composite[BIGCUP,IMAGE[IMAGE[x_]]] := composite[IMAGE[x],BIGCUP] /; cond && thin[x] *) (* Theorem AC-SG-2 in CHOICE proved 2000 June 4 *) composite[CHOICE,SINGLETON] := Id /; AxCh (* added 2002 November 14 based on POW-SUC.NB *) composite[complement[composite[Di,SECOND, GREATEST[complement[cross[SUCC,SUCC]]]]], id[intersection[P[cart[omega,V]], subvar[union[cross[SUCC,SUCC],id[cart[set[0],V]]]]]], inverse[IMAGE[x_]],E] := composite[rotate[ composite[inverse[power[SUCC]],SWAP]],inverse[x]]/; cond && thin[x] (* added 2001 January 11 based on TOPOLOGY.NB *) composite[complement[E],x_,inverse[S]] := composite[complement[S],IMAGE[x],POWER] /; cond && thin[x] (* added 2000 September 26 based on VS-1.LOG *) composite[DISJOINT,x_] := cart[V,V] /; cond && thin[complement[x]] (* revised 2000 September 26 *) composite[E,x_] := composite[inverse[IMAGE[inverse[x]]],E] /; cond && thin[inverse[x]] (* added 2001 October 7 based on ROTA-TRI.NB *) composite[f_,FIRST,id[f_]] := composite[SECOND,id[f]] /; FUNCTION[f] (* added 2001 March 4 based on FIX-FF.NB *) composite[f_,id[fix[f_]]] := id[fix[f]] /; FUNCTION[f] (* added 2001 March 4 based on FIX-FF.NB *) composite[id[fix[g_]],g_] := id[fix[g]] /; INVFUN[g] (* added 2001 March 8 based on FUNRULE2.NB *) composite[f_,id[x_],intersection[y_,composite[g_,z_]]] := intersection[z,composite[f,id[x],y]] /; And[FUNCTION[f],inverse[f]==g] (* a special case of rule added 2000 September 3 based on DUP-1.NB *) composite[f_,id[x_],inverse[f_]] := id[image[f,x]] /; FUNCTION[f] (* added 2001 December 6 based on CONDRULE.NB *) composite[x_,id[union[y_,complement[z_]]]] := composite[x,id[y]] /; subclass[domain[x],z] (* added 2001 December 6 based on CONDRULE.NB *) composite[id[union[x_,complement[y_]]],z_] := composite[id[x],z] /; subclass[range[z],y] (* derived 2004 August 19 in X2901-93.NB *) composite[IMAGE[FIRST],IMAGE[RIGHT[x_]]] := Id /; member[x,V] (* derived 2004 May 7 in IIOO-ACL.NB *) composite[IMAGE[IMAGE[h_]],ACLOSURE] := composite[ACLOSURE,IMAGE[IMAGE[h]]] /; ONEONE[h] (* added 2003 April 17 based on IM-IMG.NB *) composite[IMAGE[rotate[x_]],CART] := composite[IMG,cross[IMAGE[inverse[x]],Id]] /; cond && thin[inverse[x]] (* derived 2004 August 19 in X2901-93.NB *) composite[IMAGE[SECOND],IMAGE[LEFT[x_]]] := Id /; member[x,V] (* Theorem FU-CO2 in FU proved 2000 July 31 *) composite[f_,intersection[x_,composite[g_,y_]]] := intersection[y,composite[f,x]] /; And[FUNCTION[f],inverse[f]==g] (* Theorem FU-IDX-1 in FU3 *) composite[f_,inverse[f_]] := id[range[f]] /; FUNCTION[f] (* Theorem IMG-E-4 in IMG4 *) composite[x_,inverse[E]] := composite[inverse[E],IMAGE[x]] /; cond && thin[x] (* added 2002 November 13 based on NATMUL.NB *) composite[inverse[E],IMAGE[id[cart[x_,V]]], IMAGE[cross[composite[y_,FIRST],SECOND]], IMAGE[id[composite[inverse[FIRST],SECOND]]],CART]:= composite[inverse[E],IMAGE[id[cart[x,V]]], IMAGE[cross[y,Id]],COMPOSE,SWAP] /; cond && thin[y] composite[Id,intersection[x_,y_]] := intersection[x,y] /; x == composite[Id,x] (* Corollary ID-CO-FU in ID-CO proved 1998 November 19 *) composite[Id,x_] := x /; FUNCTION[x] (* added 2000 September 3 based on DUP-2.NB *) composite[id[x_],cross[f_,g_]] := composite[cross[f,g],id[composite[inverse[g],x,f]]] /; And[FUNCTION[f],FUNCTION[g]] (* added 2002 October 22 based on CO-ID.NB *) composite[id[x_],inverse[y_]] := inverse[y] /; x==domain[y] (* added 2001 June 28 based on OP.NB *) composite[id[x_],inverse[FIRST],FIRST,id[x_]] := id[x] /; FUNCTION[x] (* added 2001 June 28 based on OP.NB *) composite[id[x_],inverse[SECOND],SECOND,id[x_]] := id[x] /; INVFUN[x] (* added 2001 May 29 nased on PBF-RULE.NB *) composite[id[P[x_]],intersection[composite[S,IMAGE[composite[id[x_],inverse[f_]]]], composite[inverse[IMAGE[f_]],inverse[S]]]] := IMAGE[composite[id[x],inverse[f]]] /; And[FUNCTION[f],subclass[x,domain[f]]] (* added 2000 September 4 based on NEW.M *) composite[id[P[x_]],inverse[IMAGE[id[y_]]]] := id[P[x]] /; subclass[x,y] (* derived 2004 February 19 in REPLACE2.NB *) composite[id[x_],TWIST] := TWIST /; subclass[cart[cart[V,V],cart[V,V]],x] (* revised 2003 June 23 based on CAP-IM-G.NB *) composite[IMAGE[g_],CAP] := composite[CAP,cross[IMAGE[g],IMAGE[g]]] /; cond && FUNCTION[inverse[g]] && thin[g] (* added 2003 June 23 based on DIF-IM-G.NB *) composite[IMAGE[g_],DIF] := composite[DIF,cross[IMAGE[g],IMAGE[g]]] /; cond && FUNCTION[inverse[g]] && thin[g] (* added 1999 October 19 based on CARTRULE.NB (corrected 1999 October 23) *) composite[IMAGE[cross[x_,y_]],CART] := composite[CART,cross[IMAGE[x],IMAGE[y]]] /; And[cond,thin[x],thin[y]] (* Theorem IMG-SR-4 in IMG3 *) composite[IMAGE[f_],inverse[S]] := composite[inverse[S],IMAGE[f]] /; FUNCTION[f] (* added 2001 December 27 based on CP-I.NB *) composite[IMAGE[id[x_]],CART] := composite[COMPOSE,SWAP, cross[IMAGE[composite[id[x],inverse[FIRST]]],IMAGE[DUP]]] /; cond && thin[x] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[id[x_]],id[P[y_]]] := id[P[y]] /; subclass[y,x] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[id[x_]],inverse[IMAGE[id[y_]]]] := composite[IMAGE[id[x]],id[P[y]]] /; subclass[x,y] (* added 2000 September 4 based on NEW.M *) composite[IMAGE[id[x_]],inverse[IMAGE[id[y_]]]] := composite[id[P[x]],inverse[IMAGE[id[y]]]] /; subclass[y,x] (* added 2000 January 1 based on RA-IMG-H.NB *) composite[IMAGE[h_],IMAGE[inverse[h_]]] := IMAGE[id[range[h]]] /; FUNCTION[h] && FUNCTION[inverse[h]] (* Theorem IMG-POW proved 2001 September 27 *) composite[IMAGE[IMAGE[f_]],POWER] := composite[POWER,IMAGE[f]] /; FUNCTION[f] (* added 1999 October 21 based on VERTSECT.NB *) composite[IMAGE[intersection[composite[x_,FIRST], composite[y_,SECOND]]],CART] := composite[CAP,cross[IMAGE[x],IMAGE[y]]] /; And[cond,thin[x],thin[y]] (* added 2000 January 1 based on RAIMGH-2.NB *) composite[IMAGE[inverse[h_]],IMAGE[h_]] := IMAGE[id[domain[h]]] /; FUNCTION[h] && FUNCTION[inverse[h]] (* added 1999 January 1 based on SR-IMG-H.NB *) composite[IMAGE[h_],S] := composite[id[P[range[h]]],S,IMAGE[h]] /; FUNCTION[h] && FUNCTION[inverse[h]] composite[inverse[g_],g_] := id[domain[g]] /; INVFUN[g] (* added 2002 October 22 based on CO-ID.NB *) composite[inverse[x_],id[y_]] := inverse[x] /; y==range[x] (* added 1999 October 9 based on TEST-LOG.1 *) composite[inverse[IMAGE[h_]],DISJOINT] := composite[DISJOINT,IMAGE[inverse[h]]] /; ONEONE[h] (* added 2001 April 27 based on MAP5.NB *) composite[inverse[IMAGE[IMAGE[x_]]],inverse[S],POWER] := composite[inverse[BIGCUP],inverse[IMAGE[x]],inverse[S]] /; cond && thin[x] (* added 2000 January 1 based on RAIMGH-2.NB *) composite[inverse[IMAGE[h_]],inverse[IMAGE[inverse[h_]]]] := inverse[IMAGE[id[domain[h]]]] /; FUNCTION[h] && FUNCTION[inverse[h]] (* added 2001 April 27 based on MAP2.NB *) composite[inverse[POWER],S,IMAGE[IMAGE[x_]]] := composite[S,IMAGE[x],BIGCUP] /; cond && thin[x] (* added 1999 January 1 based on IMAGEDUP.LOG removed 2001 March 30 due to conflict with special rule for case of h = DUP composite[inverse[S],inverse[IMAGE[h_]]] := composite[inverse[IMAGE[h]],inverse[S],id[P[range[h]]]] /; FUNCTION[h] && FUNCTION[inverse[h]] *) (* replaced by an unconditional rule 1999 September 24 composite[inverse[SINGLETON],inverse[IMAGE[f_]]] := union[composite[inverse[f],inverse[SINGLETON]], cart[set[0],complement[domain[f]]]] /; FUNCTION[f] *) (* inverse of IMG-SR-4 in IMG3 *) composite[S,inverse[IMAGE[f_]]] := composite[inverse[IMAGE[f]],S] /; FUNCTION[f] (* derived 2004 February 19 in REPLACE2.NB *) composite[TWIST,id[x_]] := TWIST /; subclass[cart[cart[V,V],cart[V,V]],x] (* derived 2004 December 30 in AXREG.NB *) DESCENDING := set[0] /; AxReg (* Axiom of Choice AX-CH-3 *) domain[CHOICE] := complement[set[0]] /; AxCh (* added 2002 November 26 based on LT-GT-DI.NB *) domain[GREATEST[composite[Di,x_]]] := intersection[complement[subvar[x]],P[domain[x]]] /; FUNCTION[x] (* added 2002 November 26 based on IVR-SBV.NB *) domain[GREATEST[composite[x_,Di]]] := complement[invar[inverse[x]]] /; INVFUN[x] (* added 2002 November 26 based on IVR-SBV.NB *) domain[LEAST[composite[Di,x_]]] := complement[invar[x]] /; FUNCTION[x] (* added 2002 November 26 based on LT-GT-DI.NB *) domain[LEAST[composite[x_,Di]]] := intersection[complement[subvar[inverse[x]]],P[range[x]]] /; INVFUN[x] (* derived 2004 August 4 in THIN-DO.NB *) domain[UB[composite[E,x_]]] := P[domain[x]] /; cond && thin[x] (* corollary of Theorem IMG-RP in IMG2 follows from axiom of replacement *) domain[VERTSECT[f_]] := V /; FUNCTION[f] (* corollary of Theorem IM-DO-V in IMG2 added 1998 August 15 *) domain[VERTSECT[x_]] := V /; member[x,V] (* added 2001 May 29 based on CART-H22.NB *) domain[VERTSECT[composite[id[x_],inverse[FIRST]]]] := V /; cond && thin[x] (* added 2001 May 29 based on CART-H22.NB *) domain[VERTSECT[composite[id[x_],inverse[SECOND]]]] := V /; cond && thin[inverse[x]] (* added 1999 October 22 based on Theorem VS-DO-SU in VS1 *) domain[VERTSECT[intersection[x_,y_]]] := V /; cond && thin[x] (* derived 2004 September 30 in RO-IN-TH.NB *) domain[VERTSECT[rotate[x_]]] := V /; cond && thin[inverse[x]] (* added 2002 June 24 based on THIN-TRV.NB *) domain[VERTSECT[trv[x_]]] := V /; cond && thin[x] (* derived 2004 December 30 in AXREG.NB *) domain[VERTSECT[ZN]] := V /; AxReg (* derived 2004 September 13 in LOOPTEST.NB *) equal[composite[w__,x_,z___],composite[w__,y_,z___]] := True /; equal[x,y] (* derived 2004 September 13 in LOOPTEST.NB *) equal[composite[w___,x_,z__],composite[w___,y_,z__]] := True /; equal[x,y] (* derived 2004 December 30 in AXREG.NB *) equal[P[x],x] := equal[V,x] /; AxReg (* derived 2003 January 3 in OO-SUC-OM.NB *) equal[succ[x_],succ[y_]] := equal[x,y] /; member[x,omega] (* derived 2004 August 27 in TRV-COND.NB *) EQUIVALENCE[composite[inverse[x_],x_]] := True /; FUNCTION[x] (* derived 2004 May 12 in EQV-GEN.NB *) eqv[x_] := x /; EQUIVALENCE[x] (* derived 2004 August 27 in TRV-COND.NB *) eqv[composite[id[x_],y_,id[x_]]] := composite[id[x],y,id[x]] /; EQUIVALENCE[y] (* added 2001 November 13 based on 1ST-2ND.NB *) first[x_] := V /; not[member[x,V]] fix[composite[x_,complement[y_]]] := 0 /; subclass[inverse[x],y] fix[composite[complement[x_],y_]] := 0 /; subclass[inverse[y],x] fix[composite[complement[x_],f_]] := intersection[domain[f],complement[fix[composite[x,f]]]] /; FUNCTION[f] fix[composite[g_,complement[x_]]] := intersection[range[g],complement[fix[composite[g,x]]]] /; INVFUN[g] (* added 1998 August 21 *) fix[composite[g_,complement[x_],f_]] := intersection[complement[fix[composite[g,x,f]]],domain[f],range[g]] /; And[FUNCTION[f],INVFUN[g]] (* added 2001 January 11 based on TOP2.NB *) fix[composite[complement[composite[S,x_]],inverse[E]]] := complement[fix[composite[inverse[S],IMAGE[inverse[x]],POWER]]] /; thin[inverse[x]] (* new rules added 1998 July 3 *) fix[composite[Di,f_]] := intersection[domain[f],complement[fix[f]]] /; FUNCTION[f] fix[composite[g_,Di]] := intersection[range[g],complement[fix[g]]] /; INVFUN[g] (* derived 2005 February 15 in RUS-A-DJ.NB *) fix[composite[DISJOINT,BIGCAP]] := complement[set[0]] /; AxReg fix[composite[E,CHOICE]] := complement[set[0]] /; AxCh (* added 2001 January 11 based on TOP2.NB *) fix[composite[E,complement[composite[x_,inverse[S]]]]] := complement[fix[composite[inverse[S],IMAGE[x],POWER]]] /; cond && thin[x] (* added 1999 November 13 based on FIX-C-DJ.LOG *) fix[composite[E,inverse[E],f_]] := intersection[complement[fix[composite[DISJOINT,f]]],domain[f]] /; FUNCTION[f] (* added 1999 November 13 based on FIX-C-DJ.LOG *) fix[composite[g_,E,inverse[E]]] := intersection[complement[fix[composite[g,DISJOINT]]],range[g]] /; INVFUN[g] fix[composite[x_,id[y_],z_]] := image[x,y] /; subclass[inverse[x],z] fix[composite[x_,id[y_],z_]] := image[inverse[z],y] /; subclass[z,inverse[x]] (* Theorem CUT-FP-B in CUT1 proved 1999 August 2 *) fix[composite[x_,IMAGE[id[y_]]]] := fix[x] /; subclass[U[range[x]],y] (* improved 2000 September 3 based on DUP.NB *) fix[composite[g_,x_,f_]] := image[g,fix[x]] /; And[FUNCTION[f],inverse[f]==g] (* added 1998 August 9 *) fix[composite[x_,intersection[f_,y_]]] := intersection[fix[composite[x,f]],fix[composite[inverse[y],f]]] /; FUNCTION[f] fix[composite[g_,intersection[x_,y_]]] := intersection[fix[composite[g,x]],fix[composite[g,y]]] /; INVFUN[g] (* added 2000 December 29 based on FIX-CART.NB *) fix[composite[w_,intersection[x_,composite[y_,intersection[f_,z_]]]]] := intersection[fix[composite[w,intersection[x,composite[y,f]]]], fix[composite[inverse[z],f]]] /; FUNCTION[f] (* added 2001 June 5 based on SUBCOM.NB *) fix[composite[inverse[IMAGE[cross[Id,x_]]],E, UB[complement[cross[inverse[x_],Id]]]]] := complement[subcommutant[x]] /; cond && thin[x] (* added 2001 June 5 based on SUBCOM.NB *) fix[composite[inverse[IMAGE[cross[Id,inverse[x_]]]],E,UB[complement[cross[x_,Id]]]]] := complement[subcommutant[inverse[x]]] /; cond && thin[inverse[x]] (* added 2001 October 8 based on RFX.NB *) fix[composite[S,IMAGE[x_],IMAGE[y_]]] := invar[composite[x,y]] /; cond && thin[y] (* derived 2004 December 30 in AXREG.NB *) fix[E] := 0 /; AxReg (* added 2003 January 8 based on HULL-IVR.NB *) fix[HULL[invar[x_]]] := invar[x] /; cond && thin[x] (* Axiom of Choice AX-CH-1 *) FUNCTION[CHOICE] := True /; AxCh (* Theorem FU-3 in FU1 *) FUNCTION[composite[x_,y_]] := True /; And[FUNCTION[x],FUNCTION[y]] (* derived 2005 February 5 in FU-X.NB *) FUNCTION[cross[x_,y_]] := True /; and[FUNCTION[x],FUNCTION[y]] (* Theorem GLB-FU-2 in GLB proved 2000 November 25 *) FUNCTION[GLB[x_]] := True /; subclass[intersection[x,inverse[x]],Id] (* Theorem GT-FU-2 in GREATEST proved 2000 November 24 *) FUNCTION[GREATEST[x_]] := True /; subclass[intersection[x,inverse[x]],Id] (* added 2002 June 28 based on POWERFUN.NB *) FUNCTION[image[power[x_],set[y_]]] := True /; FUNCTION[x] (* Theorem FU-2 in FU1 *) FUNCTION[intersection[x_,y_]] := True /; FUNCTION[x] (* added 1999 September 14 based on FUN-I.LOG *) FUNCTION[intersection[composite[inverse[FIRST],x_], composite[inverse[SECOND],y_]]] := True /; And[FUNCTION[x],FUNCTION[y]] (* added 2002 June 28 based on ITER-FUN.NB *) FUNCTION[iterate[f_,set[x_]]] := True /; FUNCTION[f] (* Theorem LT-FU in LEAST proved 2000 November 24 *) FUNCTION[LEAST[x_]] := True /; subclass[intersection[x,inverse[x]],Id] (* added 2000 November 25 based on LUB-FU.NB *) FUNCTION[LUB[x_]] := True /; subclass[intersection[x,inverse[x]],Id] (* added 2002 June 28 based on POWERFUN.NB *) FUNCTION[rotate[inverse[power[x_]]]] := True /; FUNCTION[x] (* Theorem FUNPART2 in FU1 *) funpart[f_] := f /; FUNCTION[f] (* added 1999 September 2 based on FUNPART.LOG *) funpart[composite[x_,f_]] := composite[funpart[x],f] /; FUNCTION[f] (* added 1999 October 24 based on FUNPART.5 *) funpart[composite[x_,y_]] := 0 /; composite[Di,x] == cart[V,V] (* added 2000 September 8 based on FUNPART.NB *) funpart[rotate[composite[g_,E]]] := composite[inverse[SINGLETON],IMG,cross[inverse[g],SINGLETON]] /; INVFUN[g] (* added 2001 March 17 based on TC-I-FUL.NB *) H[x_] := x /; full[x] (* derived 2004 December 30 in AXREG.NB *) H[complement[set[0]]] := 0 /; AxReg (* derived 2004 December 30 in AXREG.NB *) H[FULL] := OMEGA /; AxReg (* Theorem IM-5B in IM2 *) image[z_,x_] := range[z] /; subclass[domain[z],x] (* added 2002 October 8 based on INVAR-I.NB *) image[CAP,cart[x_,x_]] := x /; Aclosure[x]==x (* added 2002 November 21 based on C-THIN.NB *) IMAGE[complement[x_]] := cart[set[0],set[0]] /; cond && thin[x] (* Theorem FU-C-IN in FU3 Anthony P. Morse,theorem 2.90.6 *) image[g_,complement[x_]] := intersection[range[g], complement[image[g,x]]] /; INVFUN[g] (* added 2000 September 4 based on FUNSP2.NB *) image[x_,complement[cart[V,V]]] := 0 /; composite[Id,domain[x]] == domain[x] (* added 2000 January 5 based on IM-DI.NB *) image[Di,x_] := V /; not[member[x,V]] (* added 2001 March 4 based on FIX-FF.NB *) image[f_,fix[f_]] := fix[f] /; FUNCTION[f] (* added 2002 April 18 based on SUCC.NB *) image[f_,image[g_,x_]] := intersection[x,range[f]] /; And[FUNCTION[f],inverse[f]==g] (* derived 2004 October 26 in AXCH-AC1.NB *) image[IMAGE[FIRST],intersection[FUNS,P[inverse[E]]]] := P[complement[set[0]]] /; axch (* derived 2004 August 4 in THIN-DO.NB *) image[IMAGE[FIRST],P[x_]] := P[domain[x]] /; cond && thin[x] (* derived 2004 August 4 in THIN-RA.NB *) image[IMAGE[SECOND],P[x_]] := P[range[x]] /; cond && thin[inverse[x]] (* added 1998 September 8 *) image[x_,intersection[y_,set[z_]]] := intersection[image[x,set[z]], image[V,intersection[y,set[z]]]] /; Not[x === V] (* Theorem Q-C-IM in Q proved 2000 June *) image[Q,complement[x_]] := complement[x] /; image[Q,x]==x (* controversial rule added 1999 August 18 *) image[V,x_] := 0 /; equal[0,x] (* controversial rule added 1999 August 18 *) image[V,x_] := V /; not[equal[0,x]] (* Theorem IM-10A in IM2 conditional rule for sets *) image[V,set[x_]] := V /; member[x,V] (* Added 1999 February 7 *) image[V,set[x_]] := image[V,set[domain[x]]] /; FUNCTION[x] (* Added 1999 February 7 *) image[V,set[x_]] := image[V,set[range[x]]] /; INVFUN[x] (* Added 1999 February 7 *) image[V,set[x_]] := intersection[image[V,set[domain[x]]], image[V,set[range[x]]]] /; composite[Id,x] == x (* Theorem IMG-CO-2 in IMG3 *) IMAGE[composite[x_,y_]] := composite[IMAGE[x],IMAGE[y]] /; thin[y] (* derived 2004 December 29 in I-FUL-REG.NB *) image[V,x_] := V /; not[member[x,V]] (* derived 2005 January 3 in RANK-TWO.NB *) image[ZN,succ[x_]] := P[image[ZN,x]] /; member[x,V] (* derived 2005 February 15 in RUS-A-DJ.NB *) intersection[x_,A[x_]] := 0 /; AxReg intersection[CHOICE,inverse[E]] := CHOICE /; AxCh intersection[complement[cart[x_,y_]],z_] := union[composite[z,id[complement[x]]], composite[id[complement[y]],z]] /; (composite[Id,z] == z) (* added 2003 June 23 based on DIF-IM-G.NB *) intersection[complement[image[g_,y_]],image[g_,x_]] := image[g,intersection[x,complement[y]]] /; FUNCTION[inverse[g]] (* added 2002 November 24 based on NORMAL.NB removed in favor of unconditional rule intersection[composite[complement[inverse[E]],IMAGE[x_]],inverse[E]] := GREATEST[complement[x]] /; cond && thin[x] *) (* derived 2004 January 6 in I-CO-SU.NB *) intersection[composite[w___,x_,z___],composite[w___,y_,z___]] := composite[w,x,z] /; simplify && subclass[x,y] (* Theorem AP-FU-I in AP2 proved 1998 November 29 *) intersection[composite[x_,f_],composite[y_,f_]] := composite[intersection[x,y],f] /; FUNCTION[f] intersection[composite[g_,x_],composite[g_,y_]] := composite[g,intersection[x,y]] /; INVFUN[g] intersection[g_,composite[g_,x_]] := composite[g,id[fix[x]]] /; INVFUN[g] intersection[f_,composite[x_,f_]] := composite[id[fix[x]],f] /; FUNCTION[f] (* added 2001 May 19 based on EXAMPLES.NB *) intersection[fix[composite[g_,x_,f_]],fix[composite[g_,y_,f_]]] := fix[composite[g,intersection[x,y],f]] /; FUNCTION[f] && INVFUN[g] (* added 2000 September 28 based on FIX.NB *) intersection[fix[composite[S,f_]],fix[composite[g_,S]]] := fix[f] /; And[FUNCTION[f],Equal[inverse[g],f]] intersection[fix[x_],fix[y_]] := fix[x] /; subclass[x,y] intersection[fix[x_],fix[y_]] := fix[x] /; subclass[inverse[x],y] (* added 2001 January 11 based on TOP2.NB *) intersection[fix[composite[S,x_]],fix[composite[inverse[S],x_]]] := fix[x] /; FUNCTION[x] intersection[image[z_,x_],image[z_,y]] := image[z,x] /; subclass[x,y] (* revised 2003 June 23 based on CAP-IM-G.NB *) intersection[image[g_,x_],image[g_,y_]] := image[g,intersection[x,y]] /; FUNCTION[inverse[g]] (* derived 2004 October 30 in AC1-RS.NB *) intersection[invar[composite[id[x_],inverse[FIRST],FIRST]],P[x_]] := RS[x] /; thin[x] && composite[Id,x] == x (* added 2000 September 4 based on IMAGEV.NB *) intersection[x_,image[V,y_]] := x /; or[equal[0,x],not[equal[0,y]]] (* derived 2005 February 19 in ITR-OM-E.NB *) intersection[omega,complement[P[union[complement[omega],x_]]]] := intersection[omega,complement[succ[x]]] /; member[x,omega] (* derived 2005 January 27 in DIV.NB *) intersection[omega,P[x_]] := succ[x] /; member[x,omega] (* derived 2005 January 3 in FULL.NB *) intersection[omega,succ[x_]] := succ[x] /; member[x,omega] intersection[range[IMAGE[f_]],P[range[f_]]] := range[IMAGE[f]] /; FUNCTION[f] (* derived 2004 August 9 in RS-2.NB *) intersection[RS[x_],P[y_]] := RS[x] /; subclass[thinpart[x],y] (* added 2002 July 2 based on SS-I.NB *) intersection[x_,set[y_]] := 0 /; not[member[y,x]] (* added 2002 July 2 based on SS-I.NB *) intersection[x_,set[y_]] := set[y] /; member[y,x] (* added 1999 December 29 based on INVAR.NB *) invar[composite[inverse[IMAGE[f_]],E]] := P[complement[range[f]]] /; FUNCTION[f] (* added 2002 November 23 based on VERSECT.NB *) LB[x_] := composite[inverse[VERTSECT[x]],S] /; cond && thin[x] (* added 2002 November 23 based on VERSECT.NB *) LB[complement[x_]] := composite[inverse[VERTSECT[x]],DISJOINT] /; cond && thin[x] (* added 2001 January 30 based on CLOS-DIF.TXT *) LB[complement[f_]] := union[cart[V,complement[domain[f]]], composite[inverse[f],complement[inverse[E]]]] /; FUNCTION[f] (* added 2000 November 17 based on CO-FF.NB *) LB[composite[x_,f_]] := union[cart[set[0],V], composite[inverse[f],LB[x]]] /; FUNCTION[f] (* added 2000 November 17 based on CO-FF.NB *) LB[composite[g_,x_]] := composite[LB[x],IMAGE[inverse[g]],id[P[range[g]]]] /; INVFUN[g] (* added 2001 January 11 based on TOP2.NB *) LB[composite[x_,inverse[S]]] := composite[inverse[POWER],inverse[IMAGE[x]],S] /; cond && thin[x] (* derived 2004 February 20 in REPLACE1.NB *) lb[f_,V] := 0 /; FUNCTION[f] (* added 1999 November 9 based on L-R-RULE.LOG *) LEFT[x_] := 0 /; member[x,V] == False (* added 2001 April 25 based on MAP1.NB *) map[x_,y_] := 0 /; not[member[x,V]] (* derived 2004 December 30 in AXREG.NB *) member[x_,x_] := False /; AxReg (* derived 2003 December 22 in EMPTY.NB *) member[0,x_] := False /; subclass[x,cart[V,V]] member[CHOICE,x_] := False /; AxCh (* added 2001 August 23 based on PROPER.NB *) member[complement[x_],y_] := False /; composite[Id,x] == x (* Theorem SP-C in SP3 *) member[complement[x_],y_] := False /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[cross[x_,y_],V] := True /; and[member[x,V],member[y,V]] (* added 1999 November 27 *) member[domain[x_],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[eqv[x_],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[fix[composite[x_,y_]],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[fix[composite[x_,y_]],V] := True /; member[y,V] (* Theorem RP-FP in RP1 proved 2000 January 1 *) member[fix[x_],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[funpart[x_],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[GLB[x_],V] := True /; member[x,V] (* added 2001 April 2 based on HF-X.NB *) member[H[x_],V] := True /; member[x,V] (* added 2001 February 22 based on IBC.NB *) member[image[IMAGE[x_],y_],V] := member[image[x,U[y]],V] /; cond && thin[x] (* added 1999 November 27 *) member[image[x_,y_],V] := True /; member[x,V] (* added 2001 March 8 based on DEMORGAN.NB *) member[image[x_,y_],V] := True /; And[cond,thin[x],member[y,V]] (* added 1999 October 16 based on Corollary VS-12COR in VS1 *) member[image[x_,y_],V] := equal[0,y] /; VERTSECT[x] == 0 (* added 1999 November 16 based on CAP-CUP.NB *) member[intersection[x_,y_],V] := True /; member[x,V] (* derived 2005 September 25 in VARIOUS.NB *) member[invar[x_],y_] := False /; member[x,V] (* added 1999 November 27 *) member[inverse[x_],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[LUB[x_],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[oopart[x_],V] := True /; member[x,V] (* added 1999 November 27 *) member[range[x_],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[rotate[x_],V] := True /; member[x,V] (* derived 2005 September 25 in VARIOUS.NB *) member[subvar[x_],V] := True /; member[x,V] (* derived 2004 May 14 in THINPART.NB *) member[thinpart[x_],V] := True /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) member[wf[x_],V] := True /; member[x,V] (* derived 2005 February 13 in NAT.NB *) nat[x_] := 0 /; not[member[x,omega]] (* derived 2005 February 13 in NAT.NB *) nat[x_] := x /; member[x,omega] (* derived 2005 June 24 in MOD-CALC.NB *) natmod[x_,y_] := x /; and[member[x,y],member[y,omega]] (* derived 2005 June 24 in MOD-CALC.NB *) natmod[x_,y_] := natmod[natsub[x,y],y] /; and[member[x,omega],member[y,omega],not[member[x,y]]] (* derived 2004 May 7 in OOPART.NB *) oopart[x_] := x /; ONEONE[x] (* derived 2005 January 25 in SUBCLASS.NB *) or[and[p_,subclass[x_,z_]],not[subclass[y_,z_]]] := or[p,not[subclass[y,z]]] /; subclass[x,y] (* derived 2005 January 25 in SUBCLASS.NB *) or[and[p_,subclass[x_,z_]],not[subclass[x_,y_]]] := or[p,not[subclass[x,y]]] /; subclass[x,z] (* derived 2005 February 24 in X3378.NB *) or[equal[0,intersection[x_,z_]],not[equal[0,intersection[y_,z_]]]] := True /; subclass[x,y] (* derived 2004 October 29 in FUN-AP.NB *) or[equal[y_,APPLY[z_,x_]],not[member[pair[x_,y_],z_]]] := True /; FUNCTION[z] (* derived 2004 February 20 in REPLACE1.NB *) or[equal[x_,z_],not[equal[y_,z_]]] := True /; equal[x,y] (* derived 2004 October 28 in AC2.NB *) or[FUNCTION[composite[x_,y_]],not[FUNCTION[x_]]] := True /; FUNCTION[y] (* derived 2004 October 28 in AC2.NB *) or[FUNCTION[composite[x_,y_]],not[FUNCTION[y_]]] := True /; FUNCTION[x] (* derived 2004 October 26 in AXCH-AC1.NB *) or[member[image[CHOICE,x_],V],not[member[x_,y_]]] := True /; AxCh (* derived 2005 February 6 in X3398.NB *) or[member[image[x_,y_],V],not[member[y_,z_]]] := True /; cond && thin[x] (* derived 2004 June 20 in X1505-11.NB *) or[member[intersection[x_,y_],V],p_] := True /; or[member[x,V],p] (* added 2002 October 8 based on SUBCLASS.NB *) or[member[x_,y_],not[member[x_,z_]]] := True /; subclass[z,y] (* derived 2005 February 3 in MEMB-CO.NB *) or[member[pair[u_,w_],composite[x_,inverse[y_]]],not[member[pair[v_,u_],y_]], not[member[pair[v_,w_],x_]]] := True /; and[subclass[x,cart[V,V]],subclass[y,cart[V,V]]] (* derived 2005 February 3 in MEMB-CO.NB *) or[member[pair[u_,w_],composite[x_,y_]],not[member[pair[u_,v_],y_]], not[member[pair[v_,w_],x_]]] := True /; and[subclass[x,cart[V,V]],subclass[y,cart[V,V]]] (* introduced 2004 June 7 in EQ-SUBST.NB *) or[not[equal[x_,y_]],p_] := True /; (equality && noblanks[{x,y,p}] && (p /. x -> y)) (* derived 2005 February 15 in RUS-A-DJ.NB *) or[not[member[x_,A[y_]]],not[member[x_,y_]]] := True /; AxReg (* derived 2005 February 20 in CARD-TWO.NB *) or[not[member[x_,y_]],not[member[x_,z_]]] := not[member[x,y]] /; subclass[y,z] (* added 2002 October 8 based on SUBCLASS.NB *) or[not[subclass[x_,y_]],subclass[x_,z_]] := True /; subclass[y,z] (* added 2002 October 8 based on SUBCLASS.NB *) or[not[subclass[x_,y_]],subclass[z_,y_]] := True /; subclass[z,x] (* added 2000 June 4 based on CHOICE.NB *) range[CHOICE] := V /; AxCh (* added 2000 January 1 based on RA-IMG-H.NB *) range[IMAGE[h_]] := P[range[h]] /; FUNCTION[h] && FUNCTION[inverse[h]] (* derived 2004 December 29 in I-FUL-REG.NB *) rank[x_] := V /; not[member[x,REGULAR]] (* added 2001 July 12 based on RANK-1.NB *) rank[x_] := V /; not[member[x,V]] (* added 1999 October 29 based on 1999 October 28 session RC-LOG.1 *) RC[x_] := 0 /; member[x,V] == False (* derived 2004 December 30 in AXREG.NB *) REGULAR := V /; AxReg (* derived 2004 December 18 in RFX-WRAP.NB *) rfx[x_] := x /; REFLEXIVE[x] (* derived 2004 December 18 in RFX-WRAP.NB *) rfx[x_] := 0 /; equal[0,fix[x]] (* derived 2004 December 18 in RFX-WRAP.NB *) rfx[x_] := id[fix[x]] /; FUNCTION[x] (* added 1999 November 9 based on L-R-RULE.LOG *) RIGHT[x_] := 0 /; member[x,V] == False (* derived 2004 February 20 in REPLACE1.NB *) rotate[composite[complement[x_],f_]] := composite[complement[rotate[composite[x,f]]],id[cart[V,V]]] /; And[FUNCTION[f],subclass[cart[V,V],domain[f]]] (* added 2000 December 29 based on ROTATE.NB *) rotate[composite[E,inverse[E],f_]] := intersection[complement[rotate[composite[DISJOINT,f]]], composite[domain[f],SECOND]] /; FUNCTION[f] (* added 2000 January 3 based on RO-G.NB *) rotate[g_] := composite[SECOND,inverse[g],FIRST, id[composite[FIRST,inverse[g]]]] /; INVFUN[g] (* derived 2004 August 9 in RS-2.NB *) RS[x_] := P[x] /; FUNCTION[x] (* derived 2004 August 11 in RS-4.NB *) RS[cart[x_,y_]] := set[0] /; not[member[y,V]] (* derived 2004 December 30 in AXREG.NB *) RUSSELL := V /; AxReg (* added 2001 November 13 based on 1ST-2ND.NB *) second[x_] := V /; not[member[x,V]] SELECT := V /; axch (* derived 2004 November 19 in SETHOOD.NB *) setpart[x_] := x /; member[x,V] (* derived 2004 November 19 in SETHOOD.NB *) setpart[x_] := 0 /; not[member[x,V]] (* derived 2005 January 18 in SET-PC.NB *) set[x_,y___] := set[y] /; not[member[x,V]] set[x_] := 0 /; not[member[U[x],V]] (* new rule *) set[CHOICE] := 0 /; AxCh (* added 1999 December 12 based on FLIP.NB *) set[pair[x_,y_]] := cart[set[x],set[y]] /; member[x,V] && member[y,V] (* added 1998 February 7 *) set[P[x_]] := 0 /; set[x] == 0 set[U[x_]] := 0 /; set[x] == 0 (* added 1999 September 28 based on SU-CP.LOG *) subclass[z_,cart[x_,y_]] := and[subclass[domain[z],x], subclass[range[z],y]] /; composite[Id,z]==z (* derived 2004 August 21 in SUBCLASS.NB *) subclass[A[x_],A[y_]] := True /; subclass[y,x] (* Axiom of Choice AX-CH-2 *) subclass[CHOICE,inverse[E]] := True /; AxCh (* derived 2004 September 13 in LOOPTEST.NB *) subclass[composite[w__,x_,z___],composite[w__,y_,z___]] := True /; subclass[x,y] (* derived 2004 September 13 in LOOPTEST.NB *) subclass[composite[w___,x_,z__],composite[w___,y_,z__]] := True /; subclass[x,y] (* derived 2004 August 21 in SUBCLASS.NB *) subclass[composite[Id,x_],y_] := True /; subclass[x,y] (* derived 2004 August 21 in SUBCLASS.NB *) subclass[composite[id[x_],y_],z_] := True /; subclass[y,z] (* derived 2004 August 21 in SUBCLASS.NB *) subclass[composite[x_,id[y_]],z_] := True /; subclass[x,z] (* derived 2004 August 21 in SUBCLASS.NB *) subclass[domain[x_],domain[y_]] := True /; subclass[x,y] (* derived 2004 August 21 in SUBCLASS.NB *) subclass[fix[x_],fix[y_]] := True /; subclass[x,y] (* derived 2005 January 5 in SU-HC.NB *) subclass[x_,H[y_]] := subclass[x,y] /; full[x] (* derived 2005 January 9 in PC-CARD2.NB *) subclass[image[x_,y_],z_] := True /; subclass[range[x],z] (* added 2000 September 14 based on INTERIOR.NB *) subclass[x_,image[g_,y_]] := subclass[image[inverse[g],x],y] /; And[INVFUN[g],range[g]==V] (* derived 2004 February 20 in REPLACE1.NB *) subclass[r_,image[g_,x_]] := subclass[image[inverse[g],r],x] /; And[composite[Id,r] == r,INVFUN[g],subclass[cart[V,V],range[g]]] (* derived 2004 June 20 in SU-IM.NB *) subclass[image[x_,y_],image[x_,z_]] := True /; subclass[y,z] (* derived 2004 June 20 in SU-IM.NB *) subclass[image[x_,z_],image[y_,z_]] := True /; subclass[x,y] (* added 2003 May 24 based on CAPCL-OO.NB *) subclass[image[IMAGE[IMAGE[h_]],binclosed[CAP]],binclosed[CAP]] := True /; ONEONE[h] (* derived 2004 May 7 in IIOO-ACL.NB *) subclass[image[IMAGE[IMAGE[h_]],fix[ACLOSURE]],fix[ACLOSURE]] := True /; ONEONE[h] (* derived 2004 May 7 in OO-TOPS.NB *) subclass[image[IMAGE[IMAGE[h_]],TOPS],TOPS] := True /; ONEONE[h] (* derived 2004 June 10 based on X409.NB *) subclass[intersection[x_,y_],z_] := True /; subclass[y,z] (* derived 2004 October 26 in AXCH.NB *) subclass[inverse[CHOICE],E] := True /; AxCh (* derived 2004 December 30 in AXREG.NB *) subclass[P[x_],x_] := equal[V,x] /; AxReg (* derived 2004 August 21 in SUBCLASS.NB *) subclass[range[x_],range[y_]] := True /; subclass[x,y] (* derived 2005 January 18 in SET-SU.NB *) subclass[set[x_,y___],z_] := and[member[x,z],subclass[set[y],z]] /; member[x,V] (* derived 2005 January 11 in REPLACE.NB *) subclass[set[x_,y__],z_] := False /; and[member[x,V],not[member[x,z]]] (* derived 2005 January 11 in REPLACE.NB *) subclass[x_,set[y__]] := False /; not[member[x,V]] (* derived 2005 January 3 in SUCC-UP.NB *) subclass[succ[x_],y_] := and[member[x,y],subclass[x,y]] /; member[x,V] (* derived 2004 August 21 in SUBCLASS.NB *) subclass[U[x_],U[y_]] := True /; subclass[x,y] (* added 2003 January 12 based on RA-ITER.NB *) subclass[x_,union[y_,z_]] := True /; subclass[x,y] (* derived 2003 December 24 in UCL-ON.NB *) subvar[x_] := V /; fix[x] == V (* related to Theorem SBV-FU2 in SUBVAR proved 1999 February 15 *) subvar[g_] := intersection[invar[inverse[g]],P[range[g]]] /; INVFUN[g] (* added 2001 December 23 based on SUBVAR.NB *) subvar[composite[g_,x___,f_]] := intersection[image[inverse[IMAGE[f]],subvar[composite[x]]], P[domain[f]]] /; And[FUNCTION[f],g == inverse[f]] (* added 2002 October 20 based on SUBVAR.NB *) subvar[union[x_,id[y_]]] := P[y] /; subclass[range[x],y] (* added 2001 August 23 based on PROPER.NB *) succ[x_] := x /; not[member[x,V]] (* Theorem TC-FUL-3 in TC2 proved 2000 October 22 *) tc[x_] := x /; subclass[U[x],x] (* derived 2004 May 14 in THINPART.NB *) thinpart[x_] := x /; FUNCTION[x] (* derived 2004 May 14 in THINPART.NB *) thinpart[x_] := composite[Id,x] /; cond && thin[x] (* derived 2004 May 14 in THINPART.NB *) thinpart[x_] := composite[Id,x] /; member[x,V] (* derived 2005 January 25 in THINPART.NB *) thinpart[x_] := 0 /; cond && equal[0,domain[VERTSECT[x]]] (* derived 2004 August 27 in TRV-COND.NB *) TRANSITIVE[composite[inverse[x_],x_]] := True /; FUNCTION[x] (* derived 2004 June 16 in TRANSVAR.NB *) transvar[x_,y_] := V /; subclass[x,y] (* derived 2004 August 27 in TRV-COND.NB *) trv[x_] := x /; TRANSITIVE[x] (* derived 2004 August 27 in TRV-COND.NB *) trv[composite[id[x_],y_]] := composite[id[x],y] /; TRANSITIVE[y] (* derived 2004 August 27 in TRV-COND.NB *) trv[composite[x_,id[y_]]] := composite[x,id[y]] /; TRANSITIVE[x] (* derived 2004 August 27 in TRV-COND.NB *) trv[composite[id[x_],y_,id[z_]]] := composite[id[x],y,id[z]] /; TRANSITIVE[y] (* added 2000 November 14 based on MAX.NB *) UB[complement[x_]] := composite[complement[inverse[E]],IMAGE[x]] /; cond && thin[x] (* added 2001 January 30 based on CLOS-DIF.TXT *) UB[complement[g_]] := union[cart[V,complement[range[g]]], composite[g,complement[inverse[E]]]] /; INVFUN[g] (* added 2001 July 12 based on UB-LB-2.NB *) UB[complement[composite[x_,y_]]] := composite[UB[complement[x]],IMAGE[y]] /; cond && thin[y] (* added 2000 November 17 based on CO-FF.NB *) UB[composite[x_,f_]] := composite[UB[x],IMAGE[f],id[P[domain[f]]]] /; FUNCTION[f] (* added 2000 November 17 based on CO-FF.NB *) UB[composite[g_,x_]] := union[cart[set[0],V], composite[g,UB[x]]] /; INVFUN[g] (* added 2001 January 11 based on TOP2.NB *) UB[composite[S,x_]] := composite[inverse[POWER],inverse[IMAGE[inverse[x]]],S] /; cond && thin[inverse[x]] union[x_,cart[V,V]] := cart[V,V] /; composite[Id,x] == x union[CHOICE,inverse[E]] := inverse[E] /; AxCh (* added 1998 October 27 *) union[x_,composite[Id,complement[x_]]] := cart[V,V] /; composite[Id,x] == x (* added 1999 July 19 *) union[Di,x_] := union[cart[V,fix[x]],cart[fix[x],V], composite[id[complement[fix[x]]],Di,id[complement[fix[x]]]]] /; x == composite[Id,x] (* added 1999 August 18 based on session 1PM *) union[image[V,complement[x_]],y_] := V /; subclass[x,y] (* added 2002 May 20 based on ITERCART.NB *) union[omega,succ[x_]] := omega /; and[member[x,omega],subclass[x,omega]] (* added 2002 March 4 based on ZN-1.NB *) union[x_,P[y_]] := P[y] /; subclass[U[x],y] (* derived 2004 March 23 in TRV-K.NB *) union[x_,set[y_]] := x /; member[y,x] (* added 2002 November 21 based on C-THIN.NB *) VERTSECT[complement[x_]] := 0 /; cond && thin[x] (* corollary of Theorem IMG-CO-2 in IMG3 added 1999 July 18 *) VERTSECT[composite[x_,y_]] := composite[IMAGE[x],VERTSECT[y]] /; cond && thin[y] (* added 1999 October 17 based on VERTSECT.1 *) VERTSECT[composite[x_,y_]] := cart[complement[domain[y]],set[0]] /; cond && VERTSECT[x] == 0 (* corollary of Theorem VS-FU-3 in VS1 proved 1999 July 14 *) VERTSECT[f_] := union[composite[SINGLETON,f], cart[complement[domain[f]],set[0]]] /; FUNCTION[f] (* added 1999 October 22 *) VERTSECT[cross[x_,y_]] := union[ cart[complement[cart[V,V]],set[0]], composite[CART,cross[VERTSECT[x],VERTSECT[y]]]] /; And[cond,thin[x],thin[y]] (* added 1999 October 21 based on VERTSECT.NB *) VERTSECT[intersection[x_,y_]] := composite[CAP, intersection[composite[inverse[FIRST],VERTSECT[x]], composite[inverse[SECOND],VERTSECT[y]]]] /; And[cond,thin[x],thin[y]] (* added 1999 December 16 based on VERTSECT.NB *) VERTSECT[intersection[x_,complement[y_]]] := composite[DIF, intersection[composite[inverse[FIRST],VERTSECT[x]], composite[inverse[SECOND],VERTSECT[y]]]] /; And[cond,thin[x],thin[y]] (* added 1999 December 27 based on CHAL.NB *) VERTSECT[rotate[composite[g_,E]]] := union[cart[complement[cart[range[g],V]],set[0]], composite[IMG,cross[inverse[g],SINGLETON]]] /; INVFUN[g] (* derived 2004 October 28 in X.NB *) X[x_] := set[x] /; FUNCTION[x] (* some conditional rules moved to end *) (* added 2001 January 27 based on EXPLORE.NB *) fix[composite[inverse[SECOND],u_,intersection[composite[v_,FIRST], composite[w_,intersection[composite[x_,FIRST],composite[y_,SECOND]]]]]] := composite[intersection[composite[u,FIRST], composite[inverse[y],SECOND]],id[inverse[w]], intersection[composite[inverse[FIRST],v], composite[inverse[SECOND],x]]] (* derived 2004 February 20 in REPLACE1.NB *) ub[g_,V] := 0 /; INVFUN[g] (* rules affected by simplify flag *) (* default value *) simplify = True (* Improved 2000 September 3 based on DUP-1.NB *) composite[f_,id[x_],g_] := id[image[f,x]] /; And[simplify,FUNCTION[f],inverse[f]==g] (* added 2002 November 2 based on SIMPLIFY.NB *) composite[id[complement[x_]],y_] := 0 /; simplify && subclass[range[y],x] (* added 2001 November 30 based on FLIP-SS.NB *) composite[x_,id[complement[y_]]] := 0 /; simplify && subclass[domain[x],y] (* Theorem IDX-CO4B in IDX3 removed 2002 October 21 *) composite[x_,id[y_]] := composite[Id,x] /; (simplify && domain[x] == y) (* Theorem IDX-CO3B in IDX3 removed 2002 October 21 *) composite[id[x_],y_] := composite[Id,y] /; (simplify && x == range[y]) (* added 2001 March 8 based on FUN-RULE.NB *) composite[intersection[x_,composite[y_,f_]],g_] := intersection[y,composite[x,g]] /; And[simplify,FUNCTION[f],inverse[f]==g] (* added 2001 March 8 based on FUN-RULE.NB *) composite[intersection[x_,composite[y_,f_]],id[z_],g_] := intersection[y,composite[x,id[z],g]] /; And[simplify,FUNCTION[f],g==inverse[f]] (* added 2001 December 19 based on SETHOOD3.NB *) equal[x_,set[y_]] := False /; simplify && not[member[x,V]] (* added 1999 October 28 based on TEST-LOG.3 *) equal[V,x_] := False /; simplify && subclass[x,cart[V,V]] (* added 2002 October 25 based on FIXRULES.NB *) fix[composite[x_,y_]] := domain[y] /; simplify && subclass[y,inverse[x]] intersection[complement[y_],x_] := 0 /; simplify && subclass[x,y] (* see: 1998/SEP/14/SESSION2.LOG *) union[complement[x_],y_] := V /; simplify && subclass[x,y] (* rule added 1999 August 31 -- could slow down GOEDEL *) union[image[V,x_],y_] := image[V,x] /; simplify && subclass[y,image[V,x]] (* derived 2005 February 3 in WF-DIV.NB *) wf[x_] := x /; WELLFOUNDED[x] (* unsafe rules *) (* default added 2002 October 24 *) unsafe = False (* added 2002 November 22 based on LB-UB-VS.NB *) complement[composite[x_,y_]] := union[complement[cart[V,V]], composite[UB[complement[x]],VERTSECT[y]]] /; unsafe && thin[y] (* added 2002 November 22 based on LB-UB-VS.NB *) complement[composite[x_,y_]] := union[complement[cart[V,V]], composite[inverse[VERTSECT[inverse[x]]], inverse[LB[complement[y]]]]] /; unsafe && thin[inverse[x]] (* added 2001 August 1 based on RK-IN.NB removed 2001 August 5 *) composite[x_,id[y_]] := 0 /; unsafe && intersection[y,domain[x]] == 0 (* added 2001 August 1 based on RK-IN.NB removed 2001 August 5 *) composite[id[x_],y_] := 0 /; unsafe && intersection[x,range[y]] == 0 (* added 2001 May 25 based on REC.NB removed 2001 May 29 because it messes up examples pbf6 and pbf7 *) domain[VERTSECT[composite[id[x_],inverse[FIRST]]]] := domain[VERTSECT[x]] /; unsafe (* added 2001 May 25 based on ISO-DO.NB removed 2001 May 29 because it messes up examples pbf6 and pbf7 *) domain[VERTSECT[composite[id[x_],inverse[SECOND]]]] := domain[VERTSECT[inverse[x]]] /; unsafe (* added 2000 January 5 based on A-SC-0.NB removed 2004 October 31 because it causes looping in the sethood rule for X[x] *) equal[0,x_] := False /; unsafe && not[member[x,V]] (* added 2000 December 14 based on CLIQUES.NB; later removed *) fix[composite[DISJOINT,IMAGE[x_]]] := intersection[cliques[complement[x]], P[domain[VERTSECT[x]]]] /; unsafe (* added 2002 November 13 based on NORM-ADD.NB *) intersection[composite[complement[inverse[E]],IMAGE[x_]],inverse[E]] := composite[GREATEST[complement[x]],id[P[domain[VERTSECT[x]]]]] (* derived 2004 November 9 in AC2-AC3.NB unsafe because it slows down the rec1 example *) member[composite[x_,y_],V] := True /; unsafe && cond && thin[x] && member[y,V] (* The following general rule is valid, but it significantly slows down the sc6 and rec1 test suite examples. Only special cases of this rule are considered safe. *) member[composite[x_,y_],V] := and[member[image[x,range[y]],V], member[image[inverse[y],domain[x]],V]] /; unsafe (* derived 2004 November 19 in SETHOOD.NB *) member[composite[x_,y_],V] := True /; unsafe && and[FUNCTION[x],member[y,V]] (* derived 2004 November 19 in SETHOOD.NB *) member[composite[x_,y_],V] := True /; unsafe && and[member[x,V],FUNCTION[inverse[y]]] (* derived 2004 November 19 in SETHOOD.NB *) member[composite[x_,y_],V] := True /; unsafe && and[member[x,V],member[y,V]] (* proposed 2003 June 4 based on SETHOOD.NB member[VERTSECT[x_],V] := member[domain[VERTSECT[x]],V] /; unsafe *) (* added 2001 March 17 based on SUB-H.NB unsafe flag added 2005 January 1 *) subclass[x_,H[y_]] := subclass[tc[x],y] /; unsafe End[ ] (* end the private context *) (* temporarily remove protections Protect[ A,Aclosure,ACLOSURE,ACYCLIC,ADJOIN,and,ANTISYM,ANTISYMMETRIC,apply,APPLY, assert,ASSOC,associative,ASSOCIATIVE,BIGCAP,BIGCUP,BIJ,binclosed, cantor,CAP,CAPclosed,card,CARD,cart,CART,CHOICE,choicefunction,class,cliques,CLIQUES, COARSER,commutant,commute,COMMUTE,COMPACT,complement,COMPOSE,composite,CORE,core,COUNTABLE, cross,CROSS,CUP,CUPclosed,DEDEKIND,DENUMERABLE,DESCENDING,Di,diag,dif,DIF,DIFclosed,disjoint, DISJOINT,DIV,domain,DORA,DUP,E,empty,equal,EQUIDIFF,equiv,EQUIV,EQUIVALENCE, EQV,eqv,example,exists,FACTORIAL,FINITE,first,FIRST,fix,FIX,flip,forall,full,FULL, FUNCTION,funpart,FUNPART,FUNS,GLB,GREATEST,H,HC,history,HISTORY,hull,HULL, Id,id,IDEM,IDP,idempotent,image,IMAGE,IMG,implies,INDUCTIVE,intadd,INTADD,intersection, invar,INVAR,invariant,inverse,INVERSE,INVFUN,iterate,K,KURA, lambda,LAMBHULL,lb,LB,LEAST,LEFT,LeftPairV,LISTS,LUB,map,MAP,MAXIMAL,member,MINIMAL, nat,natadd,NATADD,natmod,NATMOD,natmul,NATMUL,natsub,not,omega,OMEGA,ONEONE,oopart,OOPART,or, P,pair,PAIR,pairset,PAIRSET,PARTIALORDER,partrec,plus,PLUS,PO,PointClosed, POWER,power,PRIMES,PROJ,propersubclass,PS,PSM,Q,range,rank,RANK,RC,RCF, rec,RECTANGLE,REFLEXIVE,REGULAR,restrict,RESTRICT,RFX,rfx,RIF,RIGHT,RightPairV, ROT,rotate,RS,RUSSELL,S,second,SECOND,SELECT,set,setpart,singleton,SINGLETON, singlevalued,SINGVAL,SMALLER,subclass,subcommutant,subcommute,SUBCOMMUTE, subvar,SUBVAR,subvariant,succ,SUCC,SWAP,SYM,SYMDIF,symdif,SYMMETRIC, T1,T2,tc,TC,thin,thinpart,TO,TOPS,TOTALORDER, TRANSITIVE,transvar,transvariant,trv,TRV,twist,TWIST, U,ub,UB,Uclosure,UCLOSURE,union,V,VERTSECT,VS, WELLORDER,WELLFOUNDED,WF,wf,WFPART,WO,Z,ZN ] protect exported symbols except flags *) EndPackage[ ] (* end the package context *)