blob: 4527e6aaa0f95e6f009dc52c51e4a1a8f1190889 [file] [log] [blame]
%--------------------------------------------------------------------------
% File : SET505-6 : TPTP v2.2.1. Bugfixed v2.1.0.
% Domain : Set Theory
% Problem : Corollary 2 to universal class not set
% Version : [Qua92] axioms.
% English :
% Refs : [BL+86] Boyer et al. (1986), Set Theory in First-Order Logic:
% : [Qua92] Quaife (1992), Automated Deduction in von Neumann-Bern
% Source : [Quaife]
% Names : SP6 cor.2 [Qua92]
% Status : unsatisfiable
% Rating : 0.83 v2.2.0, 0.67 v2.1.0
% Syntax : Number of clauses : 113 ( 8 non-Horn; 38 unit; 80 RR)
% Number of literals : 219 ( 49 equality)
% Maximal clause size : 5 ( 1 average)
% Number of predicates : 11 ( 0 propositional; 1-3 arity)
% Number of functors : 47 ( 13 constant; 0-3 arity)
% Number of variables : 214 ( 32 singleton)
% Maximal term depth : 6 ( 1 average)
% Comments : Quaife proves all these problems by augmenting the axioms with
% all previously proved theorems. With a few exceptions (the
% problems that correspond to [BL+86] problems), the TPTP has
% retained the order in which Quaife presents the problems. The
% user may create an augmented version of this problem by adding
% all previously proved theorems (the ones that correspond to
% [BL+86] are easily identified and positioned using Quaife's
% naming scheme).
% : tptp2X -f dfg -t rm_equality:rstfp SET505-6.p
% Bugfixes : v1.0.1 - Bugfix in SET004-1.ax.
% : v2.1.0 - Bugfix in SET004-0.ax.
%--------------------------------------------------------------------------
begin_problem(TPTP_Problem).
list_of_descriptions.
name({*[ File : SET505-6 : TPTP v2.2.1. Bugfixed v2.1.0.],[ Names : SP6 cor.2 [Qua92]]*}).
author({*[ Source : [Quaife]]*}).
status(unsatisfiable).
description({*[ Refs : [BL+86] Boyer et al. (1986), Set Theory in First-Order Logic: , : [Qua92] Quaife (1992), Automated Deduction in von Neumann-Bern]*}).
end_of_list.
list_of_symbols.
functions[(application_function,0), (apply,2), (cantor,1), (choice,0), (complement,1), (compose,2), (compose_class,1), (composition_function,0), (cross_product,2), (diagonalise,1), (domain,3), (domain_of,1), (domain_relation,0), (element_relation,0), (first,1), (flip,1), (identity_relation,0), (image,2), (intersection,2), (inverse,1), (not_homomorphism1,3), (not_homomorphism2,3), (not_subclass_element,2), (null_class,0), (omega,0), (ordered_pair,2), (power_class,1), (range,3), (range_of,1), (regular,1), (restrict,3), (rotate,1), (second,1), (single_valued1,1), (single_valued2,1), (single_valued3,1), (singleton,1), (singleton_relation,0), (subset_relation,0), (successor,1), (successor_relation,0), (sum_class,1), (symmetric_difference,2), (union,2), (universal_class,0), (unordered_pair,2), (y,0)].
predicates[(compatible,3), (function,1), (homomorphism,3), (inductive,1), (maps,3), (member,2), (one_to_one,1), (operation,1), (single_valued_class,1), (subclass,2)].
end_of_list.
list_of_clauses(axioms,cnf).
clause(
forall([U,X,Y],
or( not(subclass(X,Y)),
not(member(U,X)),
member(U,Y))),
subclass_members ).
clause(
forall([X,Y],
or( member(not_subclass_element(X,Y),X),
subclass(X,Y))),
not_subclass_members1 ).
clause(
forall([X,Y],
or( not(member(not_subclass_element(X,Y),Y)),
subclass(X,Y))),
not_subclass_members2 ).
clause(
forall([X],
or( subclass(X,universal_class))),
class_elements_are_sets ).
clause(
forall([X,Y],
or( not(equal(X,Y)),
subclass(X,Y))),
equal_implies_subclass1 ).
clause(
forall([X,Y],
or( not(equal(X,Y)),
subclass(Y,X))),
equal_implies_subclass2 ).
clause(
forall([X,Y],
or( not(subclass(X,Y)),
not(subclass(Y,X)),
equal(X,Y))),
subclass_implies_equal ).
clause(
forall([U,X,Y],
or( not(member(U,unordered_pair(X,Y))),
equal(U,X),
equal(U,Y))),
unordered_pair_member ).
clause(
forall([X,Y],
or( not(member(X,universal_class)),
member(X,unordered_pair(X,Y)))),
unordered_pair2 ).
clause(
forall([X,Y],
or( not(member(Y,universal_class)),
member(Y,unordered_pair(X,Y)))),
unordered_pair3 ).
clause(
forall([X,Y],
or( member(unordered_pair(X,Y),universal_class))),
unordered_pairs_in_universal ).
clause(
forall([X],
or( equal(unordered_pair(X,X),singleton(X)))),
singleton_set ).
clause(
forall([X,Y],
or( equal(unordered_pair(singleton(X),unordered_pair(X,singleton(Y))),ordered_pair(X,Y)))),
ordered_pair ).
clause(
forall([U,V,X,Y],
or( not(member(ordered_pair(U,V),cross_product(X,Y))),
member(U,X))),
cartesian_product1 ).
clause(
forall([U,V,X,Y],
or( not(member(ordered_pair(U,V),cross_product(X,Y))),
member(V,Y))),
cartesian_product2 ).
clause(
forall([U,V,X,Y],
or( not(member(U,X)),
not(member(V,Y)),
member(ordered_pair(U,V),cross_product(X,Y)))),
cartesian_product3 ).
clause(
forall([X,Y,Z],
or( not(member(Z,cross_product(X,Y))),
equal(ordered_pair(first(Z),second(Z)),Z))),
cartesian_product4 ).
clause(
or( subclass(element_relation,cross_product(universal_class,universal_class))),
element_relation1 ).
clause(
forall([X,Y],
or( not(member(ordered_pair(X,Y),element_relation)),
member(X,Y))),
element_relation2 ).
clause(
forall([X,Y],
or( not(member(ordered_pair(X,Y),cross_product(universal_class,universal_class))),
not(member(X,Y)),
member(ordered_pair(X,Y),element_relation))),
element_relation3 ).
clause(
forall([X,Y,Z],
or( not(member(Z,intersection(X,Y))),
member(Z,X))),
intersection1 ).
clause(
forall([X,Y,Z],
or( not(member(Z,intersection(X,Y))),
member(Z,Y))),
intersection2 ).
clause(
forall([X,Y,Z],
or( not(member(Z,X)),
not(member(Z,Y)),
member(Z,intersection(X,Y)))),
intersection3 ).
clause(
forall([X,Z],
or( not(member(Z,complement(X))),
not(member(Z,X)))),
complement1 ).
clause(
forall([X,Z],
or( not(member(Z,universal_class)),
member(Z,complement(X)),
member(Z,X))),
complement2 ).
clause(
forall([X,Y],
or( equal(complement(intersection(complement(X),complement(Y))),union(X,Y)))),
union ).
clause(
forall([X,Y],
or( equal(intersection(complement(intersection(X,Y)),complement(intersection(complement(X),complement(Y)))),symmetric_difference(X,Y)))),
symmetric_difference ).
clause(
forall([X,Xr,Y],
or( equal(intersection(Xr,cross_product(X,Y)),restrict(Xr,X,Y)))),
restriction1 ).
clause(
forall([X,Xr,Y],
or( equal(intersection(cross_product(X,Y),Xr),restrict(Xr,X,Y)))),
restriction2 ).
clause(
forall([X,Z],
or( not(equal(restrict(X,singleton(Z),universal_class),null_class)),
not(member(Z,domain_of(X))))),
domain1 ).
clause(
forall([X,Z],
or( not(member(Z,universal_class)),
equal(restrict(X,singleton(Z),universal_class),null_class),
member(Z,domain_of(X)))),
domain2 ).
clause(
forall([X],
or( subclass(rotate(X),cross_product(cross_product(universal_class,universal_class),universal_class)))),
rotate1 ).
clause(
forall([U,V,W,X],
or( not(member(ordered_pair(ordered_pair(U,V),W),rotate(X))),
member(ordered_pair(ordered_pair(V,W),U),X))),
rotate2 ).
clause(
forall([U,V,W,X],
or( not(member(ordered_pair(ordered_pair(V,W),U),X)),
not(member(ordered_pair(ordered_pair(U,V),W),cross_product(cross_product(universal_class,universal_class),universal_class))),
member(ordered_pair(ordered_pair(U,V),W),rotate(X)))),
rotate3 ).
clause(
forall([X],
or( subclass(flip(X),cross_product(cross_product(universal_class,universal_class),universal_class)))),
flip1 ).
clause(
forall([U,V,W,X],
or( not(member(ordered_pair(ordered_pair(U,V),W),flip(X))),
member(ordered_pair(ordered_pair(V,U),W),X))),
flip2 ).
clause(
forall([U,V,W,X],
or( not(member(ordered_pair(ordered_pair(V,U),W),X)),
not(member(ordered_pair(ordered_pair(U,V),W),cross_product(cross_product(universal_class,universal_class),universal_class))),
member(ordered_pair(ordered_pair(U,V),W),flip(X)))),
flip3 ).
clause(
forall([Y],
or( equal(domain_of(flip(cross_product(Y,universal_class))),inverse(Y)))),
inverse ).
clause(
forall([Z],
or( equal(domain_of(inverse(Z)),range_of(Z)))),
range_of ).
clause(
forall([X,Y,Z],
or( equal(first(not_subclass_element(restrict(Z,X,singleton(Y)),null_class)),domain(Z,X,Y)))),
domain ).
clause(
forall([X,Y,Z],
or( equal(second(not_subclass_element(restrict(Z,singleton(X),Y),null_class)),range(Z,X,Y)))),
range ).
clause(
forall([X,Xr],
or( equal(range_of(restrict(Xr,X,universal_class)),image(Xr,X)))),
image ).
clause(
forall([X],
or( equal(union(X,singleton(X)),successor(X)))),
successor ).
clause(
or( subclass(successor_relation,cross_product(universal_class,universal_class))),
successor_relation1 ).
clause(
forall([X,Y],
or( not(member(ordered_pair(X,Y),successor_relation)),
equal(successor(X),Y))),
successor_relation2 ).
clause(
forall([X,Y],
or( not(equal(successor(X),Y)),
not(member(ordered_pair(X,Y),cross_product(universal_class,universal_class))),
member(ordered_pair(X,Y),successor_relation))),
successor_relation3 ).
clause(
forall([X],
or( not(inductive(X)),
member(null_class,X))),
inductive1 ).
clause(
forall([X],
or( not(inductive(X)),
subclass(image(successor_relation,X),X))),
inductive2 ).
clause(
forall([X],
or( not(member(null_class,X)),
not(subclass(image(successor_relation,X),X)),
inductive(X))),
inductive3 ).
clause(
or( inductive(omega)),
omega_is_inductive1 ).
clause(
forall([Y],
or( not(inductive(Y)),
subclass(omega,Y))),
omega_is_inductive2 ).
clause(
or( member(omega,universal_class)),
omega_in_universal ).
clause(
forall([X],
or( equal(domain_of(restrict(element_relation,universal_class,X)),sum_class(X)))),
sum_class_definition ).
clause(
forall([X],
or( not(member(X,universal_class)),
member(sum_class(X),universal_class))),
sum_class2 ).
clause(
forall([X],
or( equal(complement(image(element_relation,complement(X))),power_class(X)))),
power_class_definition ).
clause(
forall([U],
or( not(member(U,universal_class)),
member(power_class(U),universal_class))),
power_class2 ).
clause(
forall([Xr,Yr],
or( subclass(compose(Yr,Xr),cross_product(universal_class,universal_class)))),
compose1 ).
clause(
forall([Xr,Y,Yr,Z],
or( not(member(ordered_pair(Y,Z),compose(Yr,Xr))),
member(Z,image(Yr,image(Xr,singleton(Y)))))),
compose2 ).
clause(
forall([Xr,Y,Yr,Z],
or( not(member(Z,image(Yr,image(Xr,singleton(Y))))),
not(member(ordered_pair(Y,Z),cross_product(universal_class,universal_class))),
member(ordered_pair(Y,Z),compose(Yr,Xr)))),
compose3 ).
clause(
forall([X],
or( not(single_valued_class(X)),
subclass(compose(X,inverse(X)),identity_relation))),
single_valued_class1 ).
clause(
forall([X],
or( not(subclass(compose(X,inverse(X)),identity_relation)),
single_valued_class(X))),
single_valued_class2 ).
clause(
forall([Xf],
or( not(function(Xf)),
subclass(Xf,cross_product(universal_class,universal_class)))),
function1 ).
clause(
forall([Xf],
or( not(function(Xf)),
subclass(compose(Xf,inverse(Xf)),identity_relation))),
function2 ).
clause(
forall([Xf],
or( not(subclass(Xf,cross_product(universal_class,universal_class))),
not(subclass(compose(Xf,inverse(Xf)),identity_relation)),
function(Xf))),
function3 ).
clause(
forall([X,Xf],
or( not(function(Xf)),
not(member(X,universal_class)),
member(image(Xf,X),universal_class))),
replacement ).
clause(
forall([X],
or( equal(X,null_class),
member(regular(X),X))),
regularity1 ).
clause(
forall([X],
or( equal(X,null_class),
equal(intersection(X,regular(X)),null_class))),
regularity2 ).
clause(
forall([Xf,Y],
or( equal(sum_class(image(Xf,singleton(Y))),apply(Xf,Y)))),
apply ).
clause(
or( function(choice)),
choice1 ).
clause(
forall([Y],
or( not(member(Y,universal_class)),
equal(Y,null_class),
member(apply(choice,Y),Y))),
choice2 ).
clause(
forall([Xf],
or( not(one_to_one(Xf)),
function(Xf))),
one_to_one1 ).
clause(
forall([Xf],
or( not(one_to_one(Xf)),
function(inverse(Xf)))),
one_to_one2 ).
clause(
forall([Xf],
or( not(function(inverse(Xf))),
not(function(Xf)),
one_to_one(Xf))),
one_to_one3 ).
clause(
or( equal(intersection(cross_product(universal_class,universal_class),intersection(cross_product(universal_class,universal_class),complement(compose(complement(element_relation),inverse(element_relation))))),subset_relation)),
subset_relation ).
clause(
or( equal(intersection(inverse(subset_relation),subset_relation),identity_relation)),
identity_relation ).
clause(
forall([Xr],
or( equal(complement(domain_of(intersection(Xr,identity_relation))),diagonalise(Xr)))),
diagonalisation ).
clause(
forall([X],
or( equal(intersection(domain_of(X),diagonalise(compose(inverse(element_relation),X))),cantor(X)))),
cantor_class ).
clause(
forall([Xf],
or( not(operation(Xf)),
function(Xf))),
operation1 ).
clause(
forall([Xf],
or( not(operation(Xf)),
equal(cross_product(domain_of(domain_of(Xf)),domain_of(domain_of(Xf))),domain_of(Xf)))),
operation2 ).
clause(
forall([Xf],
or( not(operation(Xf)),
subclass(range_of(Xf),domain_of(domain_of(Xf))))),
operation3 ).
clause(
forall([Xf],
or( not(function(Xf)),
not(equal(cross_product(domain_of(domain_of(Xf)),domain_of(domain_of(Xf))),domain_of(Xf))),
not(subclass(range_of(Xf),domain_of(domain_of(Xf)))),
operation(Xf))),
operation4 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(compatible(Xh,Xf1,Xf2)),
function(Xh))),
compatible1 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(compatible(Xh,Xf1,Xf2)),
equal(domain_of(domain_of(Xf1)),domain_of(Xh)))),
compatible2 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(compatible(Xh,Xf1,Xf2)),
subclass(range_of(Xh),domain_of(domain_of(Xf2))))),
compatible3 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(function(Xh)),
not(equal(domain_of(domain_of(Xf1)),domain_of(Xh))),
not(subclass(range_of(Xh),domain_of(domain_of(Xf2)))),
compatible(Xh,Xf1,Xf2))),
compatible4 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(homomorphism(Xh,Xf1,Xf2)),
operation(Xf1))),
homomorphism1 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(homomorphism(Xh,Xf1,Xf2)),
operation(Xf2))),
homomorphism2 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(homomorphism(Xh,Xf1,Xf2)),
compatible(Xh,Xf1,Xf2))),
homomorphism3 ).
clause(
forall([X,Xf1,Xf2,Xh,Y],
or( not(homomorphism(Xh,Xf1,Xf2)),
not(member(ordered_pair(X,Y),domain_of(Xf1))),
equal(apply(Xf2,ordered_pair(apply(Xh,X),apply(Xh,Y))),apply(Xh,apply(Xf1,ordered_pair(X,Y)))))),
homomorphism4 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(operation(Xf1)),
not(operation(Xf2)),
not(compatible(Xh,Xf1,Xf2)),
member(ordered_pair(not_homomorphism1(Xh,Xf1,Xf2),not_homomorphism2(Xh,Xf1,Xf2)),domain_of(Xf1)),
homomorphism(Xh,Xf1,Xf2))),
homomorphism5 ).
clause(
forall([Xf1,Xf2,Xh],
or( not(operation(Xf1)),
not(operation(Xf2)),
not(compatible(Xh,Xf1,Xf2)),
not(equal(apply(Xf2,ordered_pair(apply(Xh,not_homomorphism1(Xh,Xf1,Xf2)),apply(Xh,not_homomorphism2(Xh,Xf1,Xf2)))),apply(Xh,apply(Xf1,ordered_pair(not_homomorphism1(Xh,Xf1,Xf2),not_homomorphism2(Xh,Xf1,Xf2)))))),
homomorphism(Xh,Xf1,Xf2))),
homomorphism6 ).
clause(
forall([X],
or( subclass(compose_class(X),cross_product(universal_class,universal_class)))),
compose_class_definition1 ).
clause(
forall([X,Y,Z],
or( not(member(ordered_pair(Y,Z),compose_class(X))),
equal(compose(X,Y),Z))),
compose_class_definition2 ).
clause(
forall([X,Y,Z],
or( not(member(ordered_pair(Y,Z),cross_product(universal_class,universal_class))),
not(equal(compose(X,Y),Z)),
member(ordered_pair(Y,Z),compose_class(X)))),
compose_class_definition3 ).
clause(
or( subclass(composition_function,cross_product(universal_class,cross_product(universal_class,universal_class)))),
definition_of_composition_function1 ).
clause(
forall([X,Y,Z],
or( not(member(ordered_pair(X,ordered_pair(Y,Z)),composition_function)),
equal(compose(X,Y),Z))),
definition_of_composition_function2 ).
clause(
forall([X,Y],
or( not(member(ordered_pair(X,Y),cross_product(universal_class,universal_class))),
member(ordered_pair(X,ordered_pair(Y,compose(X,Y))),composition_function))),
definition_of_composition_function3 ).
clause(
or( subclass(domain_relation,cross_product(universal_class,universal_class))),
definition_of_domain_relation1 ).
clause(
forall([X,Y],
or( not(member(ordered_pair(X,Y),domain_relation)),
equal(domain_of(X),Y))),
definition_of_domain_relation2 ).
clause(
forall([X],
or( not(member(X,universal_class)),
member(ordered_pair(X,domain_of(X)),domain_relation))),
definition_of_domain_relation3 ).
clause(
forall([X],
or( equal(first(not_subclass_element(compose(X,inverse(X)),identity_relation)),single_valued1(X)))),
single_valued_term_defn1 ).
clause(
forall([X],
or( equal(second(not_subclass_element(compose(X,inverse(X)),identity_relation)),single_valued2(X)))),
single_valued_term_defn2 ).
clause(
forall([X],
or( equal(domain(X,image(inverse(X),singleton(single_valued1(X))),single_valued2(X)),single_valued3(X)))),
single_valued_term_defn3 ).
clause(
or( equal(intersection(complement(compose(element_relation,complement(identity_relation))),element_relation),singleton_relation)),
compose_can_define_singleton ).
clause(
or( subclass(application_function,cross_product(universal_class,cross_product(universal_class,universal_class)))),
application_function_defn1 ).
clause(
forall([X,Y,Z],
or( not(member(ordered_pair(X,ordered_pair(Y,Z)),application_function)),
member(Y,domain_of(X)))),
application_function_defn2 ).
clause(
forall([X,Y,Z],
or( not(member(ordered_pair(X,ordered_pair(Y,Z)),application_function)),
equal(apply(X,Y),Z))),
application_function_defn3 ).
clause(
forall([X,Y,Z],
or( not(member(ordered_pair(X,ordered_pair(Y,Z)),cross_product(universal_class,cross_product(universal_class,universal_class)))),
not(member(Y,domain_of(X))),
member(ordered_pair(X,ordered_pair(Y,apply(X,Y))),application_function))),
application_function_defn4 ).
clause(
forall([X,Xf,Y],
or( not(maps(Xf,X,Y)),
function(Xf))),
maps1 ).
clause(
forall([X,Xf,Y],
or( not(maps(Xf,X,Y)),
equal(domain_of(Xf),X))),
maps2 ).
clause(
forall([X,Xf,Y],
or( not(maps(Xf,X,Y)),
subclass(range_of(Xf),Y))),
maps3 ).
clause(
forall([Xf,Y],
or( not(function(Xf)),
not(subclass(range_of(Xf),Y)),
maps(Xf,domain_of(Xf),Y))),
maps4 ).
end_of_list.
list_of_clauses(conjectures,cnf).
clause( %(conjecture)
or( member(ordered_pair(universal_class,y),cross_product(universal_class,universal_class))),
prove_corollary_2_to_universal_class_not_set_1 ).
end_of_list.
end_problem.
%--------------------------------------------------------------------------