%------------------------------------------------------------------------------ % File : cocATP---0.2.0 % Problem : SEV420^1 : TPTP v6.1.0. Released v4.1.0. % Transfm : none % Format : tptp:raw % Command : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p % Computer : n108.star.cs.uiowa.edu % Model : x86_64 x86_64 % CPU : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz % Memory : 32286.75MB % OS : Linux 2.6.32-431.20.3.el6.x86_64 % CPULimit : 300s % DateTime : Thu Jul 17 13:34:10 EDT 2014 % Result : Theorem 37.91s % Output : Proof 37.91s % Verified : % SZS Type : None (Parsing solution fails) % Syntax : Number of formulae : 0 % Comments : %------------------------------------------------------------------------------ %----ERROR: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % % Problem : SEV420^1 : TPTP v6.1.0. Released v4.1.0. % % Command : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p % % Computer : n108.star.cs.uiowa.edu % % Model : x86_64 x86_64 % % CPU : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz % % Memory : 32286.75MB % % OS : Linux 2.6.32-431.20.3.el6.x86_64 % % CPULimit : 300 % % DateTime : Thu Jul 17 09:11:26 CDT 2014 % % CPUTime : 37.91 % Python 2.7.5 % Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/'] % Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/SET008^0.ax, trying next directory % FOF formula (<kernel.Constant object at 0x26b6050>, <kernel.DependentProduct object at 0x26b6710>) of role type named in_decl % Using role type % Declaring in:(fofType->((fofType->Prop)->Prop)) % FOF formula (((eq (fofType->((fofType->Prop)->Prop))) in) (fun (X:fofType) (M:(fofType->Prop))=> (M X))) of role definition named in % A new definition: (((eq (fofType->((fofType->Prop)->Prop))) in) (fun (X:fofType) (M:(fofType->Prop))=> (M X))) % Defined: in:=(fun (X:fofType) (M:(fofType->Prop))=> (M X)) % FOF formula (<kernel.Constant object at 0x26b6050>, <kernel.DependentProduct object at 0x26b65f0>) of role type named is_a_decl % Using role type % Declaring is_a:(fofType->((fofType->Prop)->Prop)) % FOF formula (((eq (fofType->((fofType->Prop)->Prop))) is_a) (fun (X:fofType) (M:(fofType->Prop))=> (M X))) of role definition named is_a % A new definition: (((eq (fofType->((fofType->Prop)->Prop))) is_a) (fun (X:fofType) (M:(fofType->Prop))=> (M X))) % Defined: is_a:=(fun (X:fofType) (M:(fofType->Prop))=> (M X)) % FOF formula (<kernel.Constant object at 0x26b65f0>, <kernel.DependentProduct object at 0x26b6fc8>) of role type named emptyset_decl % Using role type % Declaring emptyset:(fofType->Prop) % FOF formula (((eq (fofType->Prop)) emptyset) (fun (X:fofType)=> False)) of role definition named emptyset % A new definition: (((eq (fofType->Prop)) emptyset) (fun (X:fofType)=> False)) % Defined: emptyset:=(fun (X:fofType)=> False) % FOF formula (<kernel.Constant object at 0x26b6fc8>, <kernel.DependentProduct object at 0x26b61b8>) of role type named unord_pair_decl % Using role type % Declaring unord_pair:(fofType->(fofType->(fofType->Prop))) % FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) unord_pair) (fun (X:fofType) (Y:fofType) (U:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) U) Y)))) of role definition named unord_pair % A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) unord_pair) (fun (X:fofType) (Y:fofType) (U:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) U) Y)))) % Defined: unord_pair:=(fun (X:fofType) (Y:fofType) (U:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) U) Y))) % FOF formula (<kernel.Constant object at 0x26b61b8>, <kernel.DependentProduct object at 0x26b6998>) of role type named singleton_decl % Using role type % Declaring singleton:(fofType->(fofType->Prop)) % FOF formula (((eq (fofType->(fofType->Prop))) singleton) (fun (X:fofType) (U:fofType)=> (((eq fofType) U) X))) of role definition named singleton % A new definition: (((eq (fofType->(fofType->Prop))) singleton) (fun (X:fofType) (U:fofType)=> (((eq fofType) U) X))) % Defined: singleton:=(fun (X:fofType) (U:fofType)=> (((eq fofType) U) X)) % FOF formula (<kernel.Constant object at 0x26b6998>, <kernel.DependentProduct object at 0x26b6440>) of role type named union_decl % Using role type % Declaring union:((fofType->Prop)->((fofType->Prop)->(fofType->Prop))) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U)))) of role definition named union % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U)))) % Defined: union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U))) % FOF formula (<kernel.Constant object at 0x290fea8>, <kernel.DependentProduct object at 0x26b6fc8>) of role type named excl_union_decl % Using role type % Declaring excl_union:((fofType->Prop)->((fofType->Prop)->(fofType->Prop))) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) excl_union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or ((and (X U)) ((Y U)->False))) ((and ((X U)->False)) (Y U))))) of role definition named excl_union % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) excl_union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or ((and (X U)) ((Y U)->False))) ((and ((X U)->False)) (Y U))))) % Defined: excl_union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or ((and (X U)) ((Y U)->False))) ((and ((X U)->False)) (Y U)))) % FOF formula (<kernel.Constant object at 0x290fea8>, <kernel.DependentProduct object at 0x26b6998>) of role type named intersection_decl % Using role type % Declaring intersection:((fofType->Prop)->((fofType->Prop)->(fofType->Prop))) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) intersection) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U)))) of role definition named intersection % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) intersection) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U)))) % Defined: intersection:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U))) % FOF formula (<kernel.Constant object at 0x290fea8>, <kernel.DependentProduct object at 0x26b6050>) of role type named setminus_decl % Using role type % Declaring setminus:((fofType->Prop)->((fofType->Prop)->(fofType->Prop))) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) setminus) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) ((Y U)->False)))) of role definition named setminus % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) setminus) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) ((Y U)->False)))) % Defined: setminus:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) ((Y U)->False))) % FOF formula (<kernel.Constant object at 0x26b6050>, <kernel.DependentProduct object at 0x26b65f0>) of role type named complement_decl % Using role type % Declaring complement:((fofType->Prop)->(fofType->Prop)) % FOF formula (((eq ((fofType->Prop)->(fofType->Prop))) complement) (fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False))) of role definition named complement % A new definition: (((eq ((fofType->Prop)->(fofType->Prop))) complement) (fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False))) % Defined: complement:=(fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False)) % FOF formula (<kernel.Constant object at 0x26b6b90>, <kernel.DependentProduct object at 0x26b69e0>) of role type named disjoint_decl % Using role type % Declaring disjoint:((fofType->Prop)->((fofType->Prop)->Prop)) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) disjoint) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((eq (fofType->Prop)) ((intersection X) Y)) emptyset))) of role definition named disjoint % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) disjoint) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((eq (fofType->Prop)) ((intersection X) Y)) emptyset))) % Defined: disjoint:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((eq (fofType->Prop)) ((intersection X) Y)) emptyset)) % FOF formula (<kernel.Constant object at 0x2906440>, <kernel.DependentProduct object at 0x2906050>) of role type named subset_decl % Using role type % Declaring subset:((fofType->Prop)->((fofType->Prop)->Prop)) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) subset) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (forall (U:fofType), ((X U)->(Y U))))) of role definition named subset % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) subset) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (forall (U:fofType), ((X U)->(Y U))))) % Defined: subset:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (forall (U:fofType), ((X U)->(Y U)))) % FOF formula (<kernel.Constant object at 0x2906050>, <kernel.DependentProduct object at 0x2906950>) of role type named meets_decl % Using role type % Declaring meets:((fofType->Prop)->((fofType->Prop)->Prop)) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) meets) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U)))))) of role definition named meets % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) meets) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U)))))) % Defined: meets:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))) % FOF formula (<kernel.Constant object at 0x26b6fc8>, <kernel.DependentProduct object at 0x2906050>) of role type named misses_decl % Using role type % Declaring misses:((fofType->Prop)->((fofType->Prop)->Prop)) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) misses) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))->False))) of role definition named misses % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) misses) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))->False))) % Defined: misses:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))->False)) % FOF formula (<kernel.Constant object at 0x24d5e18>, <kernel.DependentProduct object at 0x24d5440>) of role type named is_function_type % Using role type % Declaring is_function:((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop))) % FOF formula (((eq ((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop)))) is_function) (fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> (forall (E:fofType), ((X E)->(Y (F E)))))) of role definition named is_function % A new definition: (((eq ((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop)))) is_function) (fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> (forall (E:fofType), ((X E)->(Y (F E)))))) % Defined: is_function:=(fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> (forall (E:fofType), ((X E)->(Y (F E))))) % FOF formula (<kernel.Constant object at 0x2698518>, <kernel.DependentProduct object at 0x24d5fc8>) of role type named injection_type % Using role type % Declaring injection:((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop))) % FOF formula (((eq ((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop)))) injection) (fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((((is_function X) F) Y)->(forall (E1:fofType) (E2:fofType), (((and ((and (X E1)) (X E2))) (((eq fofType) (F E1)) (F E2)))->(((eq fofType) E1) E2)))))) of role definition named injection % A new definition: (((eq ((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop)))) injection) (fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((((is_function X) F) Y)->(forall (E1:fofType) (E2:fofType), (((and ((and (X E1)) (X E2))) (((eq fofType) (F E1)) (F E2)))->(((eq fofType) E1) E2)))))) % Defined: injection:=(fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((((is_function X) F) Y)->(forall (E1:fofType) (E2:fofType), (((and ((and (X E1)) (X E2))) (((eq fofType) (F E1)) (F E2)))->(((eq fofType) E1) E2))))) % FOF formula (<kernel.Constant object at 0x24d5fc8>, <kernel.DependentProduct object at 0x24d5440>) of role type named surjection_type % Using role type % Declaring surjection:((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop))) % FOF formula (((eq ((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop)))) surjection) (fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((((is_function X) F) Y)->(forall (E1:fofType), ((Y E1)->((ex fofType) (fun (E2:fofType)=> ((and (X E2)) (((eq fofType) (F E2)) E1))))))))) of role definition named surjection % A new definition: (((eq ((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop)))) surjection) (fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((((is_function X) F) Y)->(forall (E1:fofType), ((Y E1)->((ex fofType) (fun (E2:fofType)=> ((and (X E2)) (((eq fofType) (F E2)) E1))))))))) % Defined: surjection:=(fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((((is_function X) F) Y)->(forall (E1:fofType), ((Y E1)->((ex fofType) (fun (E2:fofType)=> ((and (X E2)) (((eq fofType) (F E2)) E1)))))))) % FOF formula (<kernel.Constant object at 0x24d5440>, <kernel.DependentProduct object at 0x24d5368>) of role type named bijection_type % Using role type % Declaring bijection:((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop))) % FOF formula (((eq ((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop)))) bijection) (fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((and (((injection X) F) Y)) (((surjection X) F) Y)))) of role definition named bijection % A new definition: (((eq ((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop)))) bijection) (fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((and (((injection X) F) Y)) (((surjection X) F) Y)))) % Defined: bijection:=(fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((and (((injection X) F) Y)) (((surjection X) F) Y))) % FOF formula (<kernel.Constant object at 0x24d5368>, <kernel.DependentProduct object at 0x24d5dd0>) of role type named equinumerous_type % Using role type % Declaring equinumerous:((fofType->Prop)->((fofType->Prop)->Prop)) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) equinumerous) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((bijection X) F) Y))))) of role definition named equinumerous % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) equinumerous) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((bijection X) F) Y))))) % Defined: equinumerous:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((bijection X) F) Y)))) % FOF formula (<kernel.Constant object at 0x24d5dd0>, <kernel.DependentProduct object at 0x24d5b90>) of role type named embedding_type % Using role type % Declaring embedding:((fofType->Prop)->((fofType->Prop)->Prop)) % FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) embedding) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection X) F) Y))))) of role definition named embedding % A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) embedding) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection X) F) Y))))) % Defined: embedding:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection X) F) Y)))) % FOF formula (forall (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)), (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp)))) of role conjecture named prove % Conjecture to prove = (forall (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)), (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp)))):Prop % Parameter fofType_DUMMY:fofType. % We need to prove ['(forall (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)), (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp))))'] % Parameter fofType:Type. % Definition in:=(fun (X:fofType) (M:(fofType->Prop))=> (M X)):(fofType->((fofType->Prop)->Prop)). % Definition is_a:=(fun (X:fofType) (M:(fofType->Prop))=> (M X)):(fofType->((fofType->Prop)->Prop)). % Definition emptyset:=(fun (X:fofType)=> False):(fofType->Prop). % Definition unord_pair:=(fun (X:fofType) (Y:fofType) (U:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) U) Y))):(fofType->(fofType->(fofType->Prop))). % Definition singleton:=(fun (X:fofType) (U:fofType)=> (((eq fofType) U) X)):(fofType->(fofType->Prop)). % Definition union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))). % Definition excl_union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or ((and (X U)) ((Y U)->False))) ((and ((X U)->False)) (Y U)))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))). % Definition intersection:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))). % Definition setminus:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) ((Y U)->False))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))). % Definition complement:=(fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False)):((fofType->Prop)->(fofType->Prop)). % Definition disjoint:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((eq (fofType->Prop)) ((intersection X) Y)) emptyset)):((fofType->Prop)->((fofType->Prop)->Prop)). % Definition subset:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (forall (U:fofType), ((X U)->(Y U)))):((fofType->Prop)->((fofType->Prop)->Prop)). % Definition meets:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))):((fofType->Prop)->((fofType->Prop)->Prop)). % Definition misses:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))->False)):((fofType->Prop)->((fofType->Prop)->Prop)). % Definition is_function:=(fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> (forall (E:fofType), ((X E)->(Y (F E))))):((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop))). % Definition injection:=(fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((((is_function X) F) Y)->(forall (E1:fofType) (E2:fofType), (((and ((and (X E1)) (X E2))) (((eq fofType) (F E1)) (F E2)))->(((eq fofType) E1) E2))))):((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop))). % Definition surjection:=(fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((((is_function X) F) Y)->(forall (E1:fofType), ((Y E1)->((ex fofType) (fun (E2:fofType)=> ((and (X E2)) (((eq fofType) (F E2)) E1)))))))):((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop))). % Definition bijection:=(fun (X:(fofType->Prop)) (F:(fofType->fofType)) (Y:(fofType->Prop))=> ((and (((injection X) F) Y)) (((surjection X) F) Y))):((fofType->Prop)->((fofType->fofType)->((fofType->Prop)->Prop))). % Definition equinumerous:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((bijection X) F) Y)))):((fofType->Prop)->((fofType->Prop)->Prop)). % Definition embedding:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection X) F) Y)))):((fofType->Prop)->((fofType->Prop)->Prop)). % Trying to prove (forall (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)), (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp)))) % Found x10:=(x1 (fun (x3:(fofType->Prop))=> ((equinumerous B) Bp))):(((equinumerous B) Bp)->((equinumerous B) Bp)) % Found (x1 (fun (x3:(fofType->Prop))=> ((equinumerous B) Bp))) as proof of (P (fun (F:(fofType->fofType))=> (((bijection B) F) Bp))) % Found (x1 (fun (x3:(fofType->Prop))=> ((equinumerous B) Bp))) as proof of (P (fun (F:(fofType->fofType))=> (((bijection B) F) Bp))) % Found x10:=(x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2)))):((((eq fofType) (x2 E1)) (x2 E2))->(((eq fofType) (x2 E1)) (x2 E2))) % Found (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2)))) as proof of ((((eq fofType) (x2 E1)) (x2 E2))->(((eq fofType) E1) E2)) % Found (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2)))) as proof of ((((eq fofType) (x2 E1)) (x2 E2))->(((eq fofType) E1) E2)) % Found (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2))))) as proof of ((((eq fofType) (x2 E1)) (x2 E2))->(((eq fofType) E1) E2)) % Found (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2))))) as proof of (((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) (x2 E1)) (x2 E2))->(((eq fofType) E1) E2))) % Found (and_rect10 (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2)))))) as proof of (((eq fofType) E1) E2) % Found ((and_rect1 (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2)))))) as proof of (((eq fofType) E1) E2) % Found (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) (x2 E1)) (x2 E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2)))))) as proof of (((eq fofType) E1) E2) % Found (fun (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) (x2 E1)) (x2 E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2))))))) as proof of (((eq fofType) E1) E2) % Found (fun (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) (x2 E1)) (x2 E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2))))))) as proof of (((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2)))->(((eq fofType) E1) E2)) % Found (fun (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) (x2 E1)) (x2 E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2))))))) as proof of (forall (E2:fofType), (((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2)))->(((eq fofType) E1) E2))) % Found (fun (x3:(((is_function ((union A) B)) x2) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) (x2 E1)) (x2 E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2))))))) as proof of (forall (E1:fofType) (E2:fofType), (((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2)))->(((eq fofType) E1) E2))) % Found (fun (x3:(((is_function ((union A) B)) x2) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) (x2 E1)) (x2 E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2))))))) as proof of (((injection ((union A) B)) x2) ((union Ap) Bp)) % Found (ex_intro000 (fun (x3:(((is_function ((union A) B)) x2) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) (x2 E1)) (x2 E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) (x2 E1)) (x2 E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) (x2 E1)) (x2 E2)))))))) as proof of ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) % Found ((ex_intro00 (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2)))))))) as proof of ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) % Found (((ex_intro0 (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2)))))))) as proof of ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) % Found ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2)))))))) as proof of ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) % Found ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2)))))))) as proof of ((ex (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) % Found (fun (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))) as proof of ((embedding ((union A) B)) ((union Ap) Bp)) % Found (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))) as proof of ((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->((embedding ((union A) B)) ((union Ap) Bp))) % Found (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))) as proof of (((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->((embedding ((union A) B)) ((union Ap) Bp)))) % Found (and_rect00 (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2)))))))))) as proof of ((embedding ((union A) B)) ((union Ap) Bp)) % Found ((and_rect0 ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2)))))))))) as proof of ((embedding ((union A) B)) ((union Ap) Bp)) % Found (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2)))))))))) as proof of ((embedding ((union A) B)) ((union Ap) Bp)) % Found (fun (x:((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)))=> (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))))) as proof of ((embedding ((union A) B)) ((union Ap) Bp)) % Found (fun (Bp:(fofType->Prop)) (x:((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)))=> (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))))) as proof of (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp))) % Found (fun (B:(fofType->Prop)) (Bp:(fofType->Prop)) (x:((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)))=> (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))))) as proof of (forall (Bp:(fofType->Prop)), (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp)))) % Found (fun (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)) (x:((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)))=> (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))))) as proof of (forall (B:(fofType->Prop)) (Bp:(fofType->Prop)), (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp)))) % Found (fun (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)) (x:((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)))=> (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))))) as proof of (forall (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)), (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp)))) % Found (fun (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)) (x:((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)))=> (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))))) as proof of (forall (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)), (((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))->((embedding ((union A) B)) ((union Ap) Bp)))) % Got proof (fun (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)) (x:((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)))=> (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))))) % Time elapsed = 37.332155s % node=2857 cost=1909.000000 depth=28 % :::::::::::::::::::::: % % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % % SZS output start Proof for /export/starexec/sandbox/benchmark/theBenchmark.p % (fun (A:(fofType->Prop)) (Ap:(fofType->Prop)) (B:(fofType->Prop)) (Bp:(fofType->Prop)) (x:((and ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)))=> (((fun (P:Type) (x0:(((and ((equinumerous A) Ap)) ((equinumerous B) Bp))->((((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)->P)))=> (((((and_rect ((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset)) P) x0) x)) ((embedding ((union A) B)) ((union Ap) Bp))) (fun (x0:((and ((equinumerous A) Ap)) ((equinumerous B) Bp))) (x1:(((eq (fofType->Prop)) ((intersection Ap) Bp)) emptyset))=> ((((ex_intro (fofType->fofType)) (fun (F:(fofType->fofType))=> (((injection ((union A) B)) F) ((union Ap) Bp)))) (fun (x8:fofType)=> x8)) (fun (x3:(((is_function ((union A) B)) (fun (x8:fofType)=> x8)) ((union Ap) Bp))) (E1:fofType) (E2:fofType) (x4:((and ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))=> (((fun (P:Type) (x5:(((and (((union A) B) E1)) (((union A) B) E2))->((((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))->P)))=> (((((and_rect ((and (((union A) B) E1)) (((union A) B) E2))) (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))) P) x5) x4)) (((eq fofType) E1) E2)) (fun (x5:((and (((union A) B) E1)) (((union A) B) E2)))=> (x1 (fun (x6:(fofType->Prop))=> (((eq fofType) ((fun (x8:fofType)=> x8) E1)) ((fun (x8:fofType)=> x8) E2))))))))))) % % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p % EOF %------------------------------------------------------------------------------