TSTP Solution File: SEU803^2 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEU803^2 : TPTP v6.1.0. Released v3.7.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n117.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:33:10 EDT 2014

% Result   : Theorem 2.91s
% Output   : Proof 2.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  : SEU803^2 : TPTP v6.1.0. Released v3.7.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n117.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 11:31:16 CDT 2014
% % CPUTime  : 2.91 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% FOF formula (<kernel.Constant object at 0xe4d8c0>, <kernel.DependentProduct object at 0xe4d518>) of role type named in_type
% Using role type
% Declaring in:(fofType->(fofType->Prop))
% FOF formula (<kernel.Constant object at 0xec9710>, <kernel.DependentProduct object at 0xe4d518>) of role type named funcSet_type
% Using role type
% Declaring funcSet:(fofType->(fofType->fofType))
% FOF formula (<kernel.Constant object at 0xec9710>, <kernel.DependentProduct object at 0xe4d560>) of role type named ap_type
% Using role type
% Declaring ap:(fofType->(fofType->(fofType->(fofType->fofType))))
% FOF formula (<kernel.Constant object at 0xe4d2d8>, <kernel.DependentProduct object at 0xe4d128>) of role type named surjective_type
% Using role type
% Declaring surjective:(fofType->(fofType->(fofType->Prop)))
% FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) surjective) (fun (A:fofType) (B:fofType) (Xf:fofType)=> (forall (Xx:fofType), (((in Xx) B)->((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) A)) (((eq fofType) ((((ap A) B) Xf) Xy)) Xx)))))))) of role definition named surjective
% A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) surjective) (fun (A:fofType) (B:fofType) (Xf:fofType)=> (forall (Xx:fofType), (((in Xx) B)->((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) A)) (((eq fofType) ((((ap A) B) Xf) Xy)) Xx))))))))
% Defined: surjective:=(fun (A:fofType) (B:fofType) (Xf:fofType)=> (forall (Xx:fofType), (((in Xx) B)->((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) A)) (((eq fofType) ((((ap A) B) Xf) Xy)) Xx)))))))
% FOF formula (forall (A:fofType) (B:fofType) (Xf:(fofType->fofType)), ((forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))->(forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg)))))) of role conjecture named leftInvIsSurj
% Conjecture to prove = (forall (A:fofType) (B:fofType) (Xf:(fofType->fofType)), ((forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))->(forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg)))))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (A:fofType) (B:fofType) (Xf:(fofType->fofType)), ((forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))->(forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg))))))']
% Parameter fofType:Type.
% Parameter in:(fofType->(fofType->Prop)).
% Parameter funcSet:(fofType->(fofType->fofType)).
% Parameter ap:(fofType->(fofType->(fofType->(fofType->fofType)))).
% Definition surjective:=(fun (A:fofType) (B:fofType) (Xf:fofType)=> (forall (Xx:fofType), (((in Xx) B)->((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) A)) (((eq fofType) ((((ap A) B) Xf) Xy)) Xx))))))):(fofType->(fofType->(fofType->Prop))).
% Trying to prove (forall (A:fofType) (B:fofType) (Xf:(fofType->fofType)), ((forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))->(forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg))))))
% Found eta_expansion000:=(eta_expansion00 (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (fun (x:fofType)=> ((and ((in x) B)) (((eq fofType) ((((ap B) A) Xg) x)) Xx))))
% Found (eta_expansion00 (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) b)
% Found ((eta_expansion0 Prop) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) b)
% Found eq_ref00:=(eq_ref0 (f x3)):(((eq Prop) (f x3)) (f x3))
% Found (eq_ref0 (f x3)) as proof of (((eq Prop) (f x3)) ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)))
% Found ((eq_ref Prop) (f x3)) as proof of (((eq Prop) (f x3)) ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)))
% Found ((eq_ref Prop) (f x3)) as proof of (((eq Prop) (f x3)) ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)))
% Found (fun (x3:fofType)=> ((eq_ref Prop) (f x3))) as proof of (((eq Prop) (f x3)) ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)))
% Found (fun (x3:fofType)=> ((eq_ref Prop) (f x3))) as proof of (forall (x:fofType), (((eq Prop) (f x)) ((and ((in x) B)) (((eq fofType) ((((ap B) A) Xg) x)) Xx))))
% Found eq_ref00:=(eq_ref0 (f x3)):(((eq Prop) (f x3)) (f x3))
% Found (eq_ref0 (f x3)) as proof of (((eq Prop) (f x3)) ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)))
% Found ((eq_ref Prop) (f x3)) as proof of (((eq Prop) (f x3)) ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)))
% Found ((eq_ref Prop) (f x3)) as proof of (((eq Prop) (f x3)) ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)))
% Found (fun (x3:fofType)=> ((eq_ref Prop) (f x3))) as proof of (((eq Prop) (f x3)) ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)))
% Found (fun (x3:fofType)=> ((eq_ref Prop) (f x3))) as proof of (forall (x:fofType), (((eq Prop) (f x)) ((and ((in x) B)) (((eq fofType) ((((ap B) A) Xg) x)) Xx))))
% Found x4:(P ((((ap B) A) Xg) x3))
% Instantiate: x3:=(Xf Xx):fofType
% Found x4 as proof of (P ((((ap B) A) Xg) (Xf Xx)))
% Found (x1000 x4) as proof of (P Xx)
% Found ((x100 P) x4) as proof of (P Xx)
% Found (((x10 x2) P) x4) as proof of (P Xx)
% Found ((((x1 Xx) x2) P) x4) as proof of (P Xx)
% Found (fun (x4:(P ((((ap B) A) Xg) x3)))=> ((((x1 Xx) x2) P) x4)) as proof of (P Xx)
% Found (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) x3)))=> ((((x1 Xx) x2) P) x4)) as proof of ((P ((((ap B) A) Xg) x3))->(P Xx))
% Found (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) x3)))=> ((((x1 Xx) x2) P) x4)) as proof of (((eq fofType) ((((ap B) A) Xg) x3)) Xx)
% Found x40:=(x4 x2):((in (Xf Xx)) B)
% Found (x4 x2) as proof of ((in x3) B)
% Found ((x Xx) x2) as proof of ((in x3) B)
% Found ((x Xx) x2) as proof of ((in x3) B)
% Found ((conj00 ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) x3)))=> ((((x1 Xx) x2) P) x4))) as proof of ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx))
% Found (((conj0 (((eq fofType) ((((ap B) A) Xg) x3)) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) x3)))=> ((((x1 Xx) x2) P) x4))) as proof of ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx))
% Found ((((conj ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) x3)))=> ((((x1 Xx) x2) P) x4))) as proof of ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx))
% Found ((((conj ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) x3)))=> ((((x1 Xx) x2) P) x4))) as proof of ((and ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx))
% Found (ex_intro000 ((((conj ((in x3) B)) (((eq fofType) ((((ap B) A) Xg) x3)) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) x3)))=> ((((x1 Xx) x2) P) x4)))) as proof of ((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx))))
% Found ((ex_intro00 (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4)))) as proof of ((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx))))
% Found (((ex_intro0 (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4)))) as proof of ((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx))))
% Found ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4)))) as proof of ((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx))))
% Found (fun (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of ((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx))))
% Found (fun (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of (((in Xx) A)->((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))))
% Found (fun (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of (forall (Xx:fofType), (((in Xx) A)->((ex fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx))))))
% Found (fun (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of (((surjective B) A) Xg)
% Found (fun (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of ((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg))
% Found (fun (Xg:fofType) (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg)))
% Found (fun (x:(forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))) (Xg:fofType) (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of (forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg))))
% Found (fun (Xf:(fofType->fofType)) (x:(forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))) (Xg:fofType) (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of ((forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))->(forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg)))))
% Found (fun (B:fofType) (Xf:(fofType->fofType)) (x:(forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))) (Xg:fofType) (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of (forall (Xf:(fofType->fofType)), ((forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))->(forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg))))))
% Found (fun (A:fofType) (B:fofType) (Xf:(fofType->fofType)) (x:(forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))) (Xg:fofType) (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of (forall (B:fofType) (Xf:(fofType->fofType)), ((forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))->(forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg))))))
% Found (fun (A:fofType) (B:fofType) (Xf:(fofType->fofType)) (x:(forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))) (Xg:fofType) (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4))))) as proof of (forall (A:fofType) (B:fofType) (Xf:(fofType->fofType)), ((forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))->(forall (Xg:fofType), (((in Xg) ((funcSet B) A))->((forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))->(((surjective B) A) Xg))))))
% Got proof (fun (A:fofType) (B:fofType) (Xf:(fofType->fofType)) (x:(forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))) (Xg:fofType) (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4)))))
% Time elapsed = 2.571006s
% node=475 cost=1868.000000 depth=21
% ::::::::::::::::::::::
% % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% % SZS output start Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% (fun (A:fofType) (B:fofType) (Xf:(fofType->fofType)) (x:(forall (Xx:fofType), (((in Xx) A)->((in (Xf Xx)) B)))) (Xg:fofType) (x0:((in Xg) ((funcSet B) A))) (x1:(forall (Xx:fofType), (((in Xx) A)->(((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)))) (Xx:fofType) (x2:((in Xx) A))=> ((((ex_intro fofType) (fun (Xy:fofType)=> ((and ((in Xy) B)) (((eq fofType) ((((ap B) A) Xg) Xy)) Xx)))) (Xf Xx)) ((((conj ((in (Xf Xx)) B)) (((eq fofType) ((((ap B) A) Xg) (Xf Xx))) Xx)) ((x Xx) x2)) (fun (P:(fofType->Prop)) (x4:(P ((((ap B) A) Xg) (Xf Xx))))=> ((((x1 Xx) x2) P) x4)))))
% % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% EOF
%------------------------------------------------------------------------------