TSTP Solution File: SEV420^1 by cocATP---0.2.0
View Problem
- Process Solution
%------------------------------------------------------------------------------
% 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
%------------------------------------------------------------------------------