-rdf(X1,owl:'unionOf',X2)| -rdf(X3,rdf:'type',X1)|instanceOfAny(X3,X2).
-rdf(X1,owl:'unionOf',X2)|rdf(X3,rdf:'type',X1)| -instanceOfAny(X3,X2).
-rdf(X4,rdf:'first',X5)| -rdf(X4,rdf:'rest',X6)| -instanceOfAny(X7,X4)|rdf(X7,rdf:'type',X5)|instanceOfAny(X7,X6).
-rdf(X4,rdf:'first',X5)| -rdf(X4,rdf:'rest',X6)|instanceOfAny(X7,X4)| -rdf(X7,rdf:'type',X5).
-rdf(X4,rdf:'first',X5)| -rdf(X4,rdf:'rest',X6)|instanceOfAny(X7,X4)| -instanceOfAny(X7,X6).
-instanceOfAny(X8,rdf:'nil').
-rdf(X9,owl:'oneOf',X10)| -rdf(X11,rdf:'type',X9)|inList(X11,X10).
-rdf(X9,owl:'oneOf',X10)|rdf(X11,rdf:'type',X9)| -inList(X11,X10).
-rdf(X12,rdf:'first',X13)| -rdf(X12,rdf:'rest',X14)| -inList(X15,X12)|rdf(X15,owl:'sameAs',X13)|inList(X15,X14).
-rdf(X12,rdf:'first',X13)| -rdf(X12,rdf:'rest',X14)|inList(X15,X12)| -rdf(X15,owl:'sameAs',X13).
-rdf(X12,rdf:'first',X13)| -rdf(X12,rdf:'rest',X14)|inList(X15,X12)| -inList(X15,X14).
-inList(X16,rdf:'nil').
-rdf(X17,owl:'equivalentProperty',X18)| -rdf(X19,X17,X20)|rdf(X19,X18,X20).
-rdf(X17,owl:'equivalentProperty',X18)|rdf(X19,X17,X20)| -rdf(X19,X18,X20).
rdf(X17,owl:'equivalentProperty',X18)|rdf($f2(X17,X18),X17,$f1(X17,X18))|rdf($f2(X17,X18),X18,$f1(X17,X18)).
rdf(X17,owl:'equivalentProperty',X18)| -rdf($f2(X17,X18),X17,$f1(X17,X18))| -rdf($f2(X17,X18),X18,$f1(X17,X18)).
-rdf(X21,rdfs:'subPropertyOf',X22)| -rdf(X23,X21,X24)|rdf(X23,X22,X24).
rdf(X21,rdfs:'subPropertyOf',X22)|rdf($f4(X21,X22),X21,$f3(X21,X22)).
rdf(X21,rdfs:'subPropertyOf',X22)| -rdf($f4(X21,X22),X22,$f3(X21,X22)).
X25=X25.
-rdf(X26,owl:'differentFrom',X27)|X26 \= X27.
-rdf(X28,owl:'differentFrom',X29)|X29 \= X28.
-rdf(X30,foo:succ,X31)| -rdf(X30,foo:succ,X32)|X31=X32.
-rdf(X33,foo:succ,X34)| -rdf(X35,foo:succ,X34)|X33=X35.
foo:zero=0.
rdf(foo:zero,foo:succ,1).
rdf(1,foo:succ,2).
rdf(2,foo:succ,3).
-maxCardinality(X36,0)| -item(X37,X36).
maxCardinality(X36,0)|item($f5(X36),X36).
-maxCardinality(X38,1)|X39=X40| -item(X39,X38)| -item(X40,X38).
maxCardinality(X38,1)|$f7(X38) \= $f6(X38).
maxCardinality(X38,1)|item($f7(X38),X38).
maxCardinality(X38,1)|item($f6(X38),X38).
-maxCardinality(X41,2)|X42=X43|X42=X44|X43=X44|X43=X42|X44=X42|X44=X43| -item(X42,X41)| -item(X43,X41)| -item(X44,X41).
maxCardinality(X41,2)|$f10(X41) \= $f9(X41).
maxCardinality(X41,2)|$f10(X41) \= $f8(X41).
maxCardinality(X41,2)|$f9(X41) \= $f8(X41).
maxCardinality(X41,2)|$f9(X41) \= $f10(X41).
maxCardinality(X41,2)|$f8(X41) \= $f10(X41).
maxCardinality(X41,2)|$f8(X41) \= $f9(X41).
maxCardinality(X41,2)|item($f10(X41),X41).
maxCardinality(X41,2)|item($f9(X41),X41).
maxCardinality(X41,2)|item($f8(X41),X41).
minCardinality(X45,0).
-minCardinality(X46,1)|item($f11(X46),X46).
minCardinality(X46,1)| -item(X47,X46).
-minCardinality(X48,2)|$f13(X48) \= $f12(X48).
-minCardinality(X48,2)|item($f13(X48),X48).
-minCardinality(X48,2)|item($f12(X48),X48).
minCardinality(X48,2)|X49=X50| -item(X49,X48)| -item(X50,X48).
-minCardinality(X51,2)|$f15(X51) \= $f14(X51).
-minCardinality(X51,2)|item($f15(X51),X51).
-minCardinality(X51,2)|item($f14(X51),X51).
minCardinality(X51,2)|X52=X53| -item(X52,X51)| -item(X53,X51).
-minCardinality(X54,3)|$f18(X54) \= $f17(X54).
-minCardinality(X54,3)|$f17(X54) \= $f16(X54).
-minCardinality(X54,3)|$f18(X54) \= $f16(X54).
-minCardinality(X54,3)|item($f18(X54),X54).
-minCardinality(X54,3)|item($f17(X54),X54).
-minCardinality(X54,3)|item($f16(X54),X54).
minCardinality(X54,3)|X55=X56|X56=X57|X55=X57| -item(X55,X54)| -item(X56,X54)| -item(X57,X54).
-rdf(X58,rdf:'type',owl:'Restriction')| -rdf(X58,owl:'onProperty',X59)| -rdf(X58,owl:'cardinality',X60)| -rdf(X61,rdf:'type',X58)| -rdf(X61,X59,X62)|item(X62,$f19(X58,X59,X60,X61)).
-rdf(X58,rdf:'type',owl:'Restriction')| -rdf(X58,owl:'onProperty',X59)| -rdf(X58,owl:'cardinality',X60)| -rdf(X61,rdf:'type',X58)|minCardinality($f19(X58,X59,X60,X61),X60).
-rdf(X58,rdf:'type',owl:'Restriction')| -rdf(X58,owl:'onProperty',X59)| -rdf(X58,owl:'cardinality',X60)| -rdf(X61,rdf:'type',X58)|maxCardinality($f19(X58,X59,X60,X61),X60).
-rdf(X63,rdf:'type',owl:'Restriction')| -rdf(X63,owl:'onProperty',X64)| -rdf(X63,owl:'maxCardinality',X65)| -rdf(X66,rdf:'type',X63)| -rdf(X66,X64,X67)|item(X67,$f20(X63,X64,X65,X66)).
-rdf(X63,rdf:'type',owl:'Restriction')| -rdf(X63,owl:'onProperty',X64)| -rdf(X63,owl:'maxCardinality',X65)| -rdf(X66,rdf:'type',X63)|maxCardinality($f20(X63,X64,X65,X66),X65).
-rdf(X68,rdf:'type',owl:'Restriction')| -rdf(X68,owl:'onProperty',X69)| -rdf(X68,owl:'minCardinality',X70)| -rdf(X71,rdf:'type',X68)| -rdf(X71,X69,X72)|item(X72,$f21(X68,X69,X70,X71)).
-rdf(X68,rdf:'type',owl:'Restriction')| -rdf(X68,owl:'onProperty',X69)| -rdf(X68,owl:'minCardinality',X70)| -rdf(X71,rdf:'type',X68)|minCardinality($f21(X68,X69,X70,X71),X70).
-rdf(X73,owl:'onProperty',X74)| -rdf(X73,owl:'cardinality',X75)| -rdf(X76,rdfs:'subClassOf',X73)|rdf($f23(X74,X76,X75),owl:'onProperty',X74).
-rdf(X73,owl:'onProperty',X74)| -rdf(X73,owl:'cardinality',X75)| -rdf(X76,rdfs:'subClassOf',X73)|rdf($f23(X74,X76,X75),owl:'maxCardinality',X75).
-rdf(X73,owl:'onProperty',X74)| -rdf(X73,owl:'cardinality',X75)| -rdf(X76,rdfs:'subClassOf',X73)|rdf($f22(X74,X76,X75),owl:'onProperty',X74).
-rdf(X73,owl:'onProperty',X74)| -rdf(X73,owl:'cardinality',X75)| -rdf(X76,rdfs:'subClassOf',X73)|rdf($f22(X74,X76,X75),owl:'minCardinality',X75).
-rdf(X73,owl:'onProperty',X74)| -rdf(X73,owl:'cardinality',X75)| -rdf(X76,rdfs:'subClassOf',X73)|rdf(X76,rdfs:'subClassOf',$f23(X74,X76,X75)).
-rdf(X73,owl:'onProperty',X74)| -rdf(X73,owl:'cardinality',X75)| -rdf(X76,rdfs:'subClassOf',X73)|rdf(X76,rdfs:'subClassOf',$f22(X74,X76,X75)).
rdf($f24(X74,X76,X75),owl:'onProperty',X74)| -rdf(X77,owl:'onProperty',X74)| -rdf(X77,owl:'maxCardinality',X75)| -rdf(X78,owl:'onProperty',X74)| -rdf(X78,owl:'minCardinality',X75)| -rdf(X76,rdfs:'subClassOf',X77)| -rdf(X76,rdfs:'subClassOf',X78).
rdf($f24(X74,X76,X75),owl:'cardinality',X75)| -rdf(X77,owl:'onProperty',X74)| -rdf(X77,owl:'maxCardinality',X75)| -rdf(X78,owl:'onProperty',X74)| -rdf(X78,owl:'minCardinality',X75)| -rdf(X76,rdfs:'subClassOf',X77)| -rdf(X76,rdfs:'subClassOf',X78).
rdf(X76,rdfs:'subClassOf',$f24(X74,X76,X75))| -rdf(X77,owl:'onProperty',X74)| -rdf(X77,owl:'maxCardinality',X75)| -rdf(X78,owl:'onProperty',X74)| -rdf(X78,owl:'minCardinality',X75)| -rdf(X76,rdfs:'subClassOf',X77)| -rdf(X76,rdfs:'subClassOf',X78).
-rdf(X79,owl:'onProperty',X80)|rdf(X79,rdf:'type',owl:'Restriction').
-rdf(rdf:'nil',rdf:'rest',X81).
-rdf(rdf:'nil',rdf:'first',X82).
-rdf(X83,rdf:'type',owl:'Nothing').
rdf(owl:'Nothing',rdf:'type',owl:'Class').
rdf(X84,rdf:'type',owl:'Thing').
rdf(X85,rdf:'type',rdf:'Resource').
-rdf(X86,owl:'intersectionOf',X87)| -rdf(X88,rdf:'type',X86)|instanceOfAll(X88,X87).
-rdf(X86,owl:'intersectionOf',X87)|rdf(X88,rdf:'type',X86)| -instanceOfAll(X88,X87).
-rdf(X89,rdf:'first',X90)| -rdf(X89,rdf:'rest',X91)| -instanceOfAll(X92,X89)|rdf(X92,rdf:'type',X90).
-rdf(X89,rdf:'first',X90)| -rdf(X89,rdf:'rest',X91)| -instanceOfAll(X92,X89)|instanceOfAll(X92,X91).
-rdf(X89,rdf:'first',X90)| -rdf(X89,rdf:'rest',X91)|instanceOfAll(X92,X89)| -rdf(X92,rdf:'type',X90)| -instanceOfAll(X92,X91).
instanceOfAll(X93,rdf:'nil').
-rdf(X94,owl:'equivalentClass',X95)| -rdf(X96,rdf:'type',X94)|rdf(X96,rdf:'type',X95).
-rdf(X94,owl:'equivalentClass',X95)|rdf(X96,rdf:'type',X94)| -rdf(X96,rdf:'type',X95).
rdf(X94,owl:'equivalentClass',X95)|rdf($f25(X94,X95),rdf:'type',X94)|rdf($f25(X94,X95),rdf:'type',X95).
rdf(X94,owl:'equivalentClass',X95)| -rdf($f25(X94,X95),rdf:'type',X94)| -rdf($f25(X94,X95),rdf:'type',X95).
-rdf(X97,rdfs:'subClassOf',X98)| -rdf(X99,rdf:'type',X97)|rdf(X99,rdf:'type',X98).
rdf(X97,rdfs:'subClassOf',X98)|rdf($f26(X97,X98),rdf:'type',X97).
rdf(X97,rdfs:'subClassOf',X98)| -rdf($f26(X97,X98),rdf:'type',X98).
-rdf(X100,owl:'equivalentClass',X101)|rdf(X100,rdfs:'subClassOf',X101).
-rdf(X102,rdfs:'subClassOf',X103)| -rdf(X103,rdfs:'subClassOf',X102)|rdf(X102,owl:'equivalentClass',X103).
-rdf(X104,owl:'complementOf',X105)| -rdf(X106,rdf:'type',X104)| -rdf(X106,rdf:'type',X105).
-rdf(X104,owl:'complementOf',X105)|rdf(X106,rdf:'type',X104)|rdf(X106,rdf:'type',X105).
rdf(X104,owl:'complementOf',X105)|rdf($f27(X104,X105),rdf:'type',X104)| -rdf($f27(X104,X105),rdf:'type',X105).
rdf(X104,owl:'complementOf',X105)| -rdf($f27(X104,X105),rdf:'type',X104)|rdf($f27(X104,X105),rdf:'type',X105).
-rdf(X107,owl:'disjointWith',X108)| -rdf(X109,rdf:'type',X107)| -rdf(X109,rdf:'type',X108).
-rdf(X110,rdfs:'subClassOf',X111)| -rdf(X112,rdf:'type',X110)|rdf(X112,rdf:'type',X111).
-rdf(X113,rdf:'type',owl:'Restriction')| -rdf(X113,owl:'onProperty',X114)| -rdf(X113,owl:'allValuesFrom',X115)| -rdf(X116,rdf:'type',X113)| -rdf(X116,X114,X117)|rdf(X117,rdf:'type',X115).
-rdf(X113,rdf:'type',owl:'Restriction')| -rdf(X113,owl:'onProperty',X114)| -rdf(X113,owl:'allValuesFrom',X115)| -rdf(X116,rdf:'type',X113)|rdf(X116,X114,X117)| -rdf(X117,rdf:'type',X115).
-rdf(X118,rdf:'type',owl:'Restriction')| -rdf(X118,owl:'onProperty',X119)| -rdf(X118,owl:'someValuesFrom',X120)| -rdf(X121,rdf:'type',X118)|rdf(X121,X119,valueSkFunc(X121,X118)).
-rdf(X118,rdf:'type',owl:'Restriction')| -rdf(X118,owl:'onProperty',X119)| -rdf(X118,owl:'someValuesFrom',X120)| -rdf(X121,rdf:'type',X118)|rdf(valueSkFunc(X121,X118),rdf:'type',X120).
-rdf(X122,rdf:'type',owl:'Restriction')| -rdf(X122,owl:'onProperty',X123)| -rdf(X122,owl:'hasValue',X124)| -rdf(X125,rdf:'type',X122)|rdf(X125,X123,X124).
-rdf(X126,rdf:'type',owl:'FunctionalProperty')| -rdf(X127,X126,X128)| -rdf(X127,X126,X129)|rdf(X128,owl:'sameAs',X129).
rdf(X126,rdf:'type',owl:'FunctionalProperty')|rdf($f30(X126),X126,$f29(X126)).
rdf(X126,rdf:'type',owl:'FunctionalProperty')|rdf($f30(X126),X126,$f28(X126)).
rdf(X126,rdf:'type',owl:'FunctionalProperty')| -rdf($f29(X126),owl:'sameAs',$f28(X126)).
-rdf(X130,rdf:'type',owl:'InverseFunctionalProperty')| -rdf(X131,X130,X132)| -rdf(X133,X130,X132)|rdf(X131,owl:'sameAs',X133).
rdf(X130,rdf:'type',owl:'InverseFunctionalProperty')|rdf($f33(X130),X130,$f31(X130)).
rdf(X130,rdf:'type',owl:'InverseFunctionalProperty')|rdf($f32(X130),X130,$f31(X130)).
rdf(X130,rdf:'type',owl:'InverseFunctionalProperty')| -rdf($f33(X130),owl:'sameAs',$f32(X130)).
rdf(X134,owl:'sameAs',X134).
-rdf(X135,owl:'sameAs',X136)|rdf(X136,owl:'sameAs',X135).
-rdf(X137,owl:'sameAs',X138)| -rdf(X138,owl:'sameAs',X139)|rdf(X137,owl:'sameAs',X139).
-rdf(X140,owl:'sameAs',X141)| -rdf(X142,X143,X140)|rdf(X142,X143,X141).
-rdf(X140,owl:'sameAs',X141)|rdf(X142,X143,X140)| -rdf(X142,X143,X141).
-rdf(X140,owl:'sameAs',X141)| -rdf(X142,X140,X143)|rdf(X142,X141,X143).
-rdf(X140,owl:'sameAs',X141)|rdf(X142,X140,X143)| -rdf(X142,X141,X143).
-rdf(X140,owl:'sameAs',X141)| -rdf(X140,X142,X143)|rdf(X141,X142,X143).
-rdf(X140,owl:'sameAs',X141)|rdf(X140,X142,X143)| -rdf(X141,X142,X143).
-rdf(X144,owl:'differentFrom',X145)|rdf(X145,owl:differentFrom,X144).
-rdf(X146,owl:'differentFrom',X147)| -rdf(X146,owl:'sameAs',X147).
rdf(X146,owl:'differentFrom',X147)|rdf(X146,owl:'sameAs',X147).
-rdf(X148,rdfs:'range',X149)| -rdf(X150,X148,X151)|rdf(X151,rdf:'type',X149).
rdf(X148,rdfs:'range',X149)|rdf($f35(X148,X149),X148,$f34(X148,X149)).
rdf(X148,rdfs:'range',X149)| -rdf($f34(X148,X149),rdf:'type',X149).
-rdf(X152,rdfs:'domain',X153)| -rdf(X154,X152,X155)|rdf(X154,rdf:'type',X153).
rdf(X152,rdfs:'domain',X153)|rdf($f37(X152,X153),X152,$f36(X152,X153)).
rdf(X152,rdfs:'domain',X153)| -rdf($f37(X152,X153),rdf:'type',X153).
-rdf(X156,owl:'inverseOf',X157)| -rdf(X158,X156,X159)|rdf(X159,X157,X158).
-rdf(X156,owl:'inverseOf',X157)|rdf(X158,X156,X159)| -rdf(X159,X157,X158).
-rdf(X160,rdf:'type',owl:'SymmetricProperty')| -rdf(X161,X160,X162)|rdf(X162,X160,X161).
-rdf(X160,rdf:'type',owl:'SymmetricProperty')|rdf(X161,X160,X162)| -rdf(X162,X160,X161).
-rdf(X163,rdf:'type',owl:'TransitiveProperty')| -rdf(X164,X163,X165)| -rdf(X165,X163,X166)|rdf(X164,X163,X166).
-rdf(X163,rdf:'type',owl:'TransitiveProperty')|rdf(X164,X163,X165)| -rdf(X164,X163,X166).
-rdf(X163,rdf:'type',owl:'TransitiveProperty')|rdf(X165,X163,X166)| -rdf(X164,X163,X166).
-rdf(X167,rdf:'type',owl:'AllDifferent')|rdf(X167,owl:'distinctMembers',$f38(X167)).
rdf(X167,rdf:'type',owl:'AllDifferent')| -rdf(X167,owl:'distinctMembers',X168).
-rdf(X169,owl:'distinctMembers',X170)|allDifferent(X170).
allDifferent(rdf:'nil').
-allDifferent(X171)| -rdf(X171,rdf:'first',X172)| -rdf(X171,rdf:'rest',X173)|differentFromAll(X172,X173).
differentFromAll(X174,rdf:nil).
-differentFromAll(X175,X176)| -rdf(X176,rdf:'first',X177)| -rdf(X176,rdf:'rest',X178)|rdf(X175,owl:'differentFrom',X177).
-differentFromAll(X175,X176)| -rdf(X176,rdf:'first',X177)| -rdf(X176,rdf:'rest',X178)|differentFromAll(X175,X178).
-rdf(X179,owl:'differentFrom',X180)|rdf(X180,owl:differentFrom,X179).
-rdf(X181,owl:'inverseOf',X182)| -rdf(X181,rdf:'type',owl:'FunctionalProperty')|rdf(X182,rdf:'type',owl:'InverseFunctionalProperty').
-rdf(X183,owl:'inverseOf',X184)| -rdf(X183,rdf:'type',owl:'InverseFunctionalProperty')|rdf(X184,rdf:'type',owl:'FunctionalProperty').
-rdf(X185,rdf:'type',X186)| -rdf(X186,owl:'unionOf',X187)| -rdf(X187,rdf:'first',X188)| -rdf(X187,rdf:'rest',rdf:'nil')|rdf(X185,rdf:'type',X188).
-rdf(X189,rdf:'type',X190)| -rdf(X190,owl:'unionOf',X191)| -rdf(X191,rdf:'first',X192)| -rdf(X191,rdf:'rest',X193)| -rdf(X193,rdf:'first',X194)| -rdf(X193,rdf:'rest',rdf:'nil')|rdf(X189,rdf:'type',X192)|rdf(X189,rdf:'type',X194).
