#-------------------------------------------------------------------------- # File : CAT004-4 : TPTP v2.1.0. Released v1.0.0. # Domain : Category Theory # Problem : X and Y epimorphisms, XY well-defined => XY epimorphism # Version : [Sco79] axioms : Reduced > Complete. # English : If x and y are epimorphisms and xy is well-defined, then # xy is an epimorphism. # Refs : [Sco79] Scott (1979), Identity and Existence in Intuitionist L # Source : [TPTP] # Names : # Status : unsatisfiable # Rating : 0.33 v2.1.0, 0.40 v2.0.0 # Syntax : Number of clauses : 17 ( 0 non-Horn; 7 unit; 14 RR) # Number of literals : 31 ( 15 equality) # Maximal clause size : 3 ( 1 average) # Number of predicates : 3 ( 0 propositional; 1-2 arity) # Number of functors : 7 ( 4 constant; 0-2 arity) # Number of variables : 25 ( 2 singleton) # Maximal term depth : 3 ( 1 average) # Comments : The dependent axioms have been removed. # : tptp2X -f setheo:sign -t rm_equality:rstfp CAT004-4.p #-------------------------------------------------------------------------- # equivalence_implies_existence1, axiom. there_exists(X) <- equivalent(X, Y). # equivalence_implies_existence2, axiom. equal(X, Y) <- equivalent(X, Y). # existence_and_equality_implies_equivalence1, axiom. equivalent(X, Y) <- there_exists(X), equal(X, Y). # domain_has_elements, axiom. there_exists(X) <- there_exists(domain(X)). # codomain_has_elements, axiom. there_exists(X) <- there_exists(codomain(X)). # composition_implies_domain, axiom. there_exists(domain(X)) <- there_exists(compose(X, Y)). # domain_codomain_composition1, axiom. equal(domain(X), codomain(Y)) <- there_exists(compose(X, Y)). # domain_codomain_composition2, axiom. there_exists(compose(X, Y)) <- there_exists(domain(X)), equal(domain(X), codomain(Y)). # associativity_of_compose, axiom. equal(compose(X, compose(Y, Z)), compose(compose(X, Y), Z)) <- . # compose_domain, axiom. equal(compose(X, domain(X)), X) <- . # compose_codomain, axiom. equal(compose(codomain(X), X), X) <- . # assume_ab_exists, hypothesis. there_exists(compose(a, b)) <- . # cancellation_for_product1, hypothesis. equal(X, Z) <- equal(compose(X, a), Y), equal(compose(Z, a), Y). # cancellation_for_product2, hypothesis. equal(X, Z) <- equal(compose(X, b), Y), equal(compose(Z, b), Y). # assume_h_exists, hypothesis. there_exists(h) <- . # h_ab_equals_g_ab, hypothesis. equal(compose(h, compose(a, b)), compose(g, compose(a, b))) <- . # prove_h_equals_g, conjecture. <- equal(h, g). #--------------------------------------------------------------------------