↑ Up

cocATP---0.2.0.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEU943^5 : TPTP v6.1.0. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n109.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:25 EDT 2014

% Result   : Theorem 55.75s
% Output   : Proof 55.75s
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----ERROR: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEU943^5 : TPTP v6.1.0. Released v4.0.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n109.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:44:31 CDT 2014
% % CPUTime  : 55.75 
% 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 0x10e29e0>, <kernel.DependentProduct object at 0xe944d0>) of role type named f
% Using role type
% Declaring f:(fofType->fofType)
% FOF formula (<kernel.Constant object at 0x10e2ab8>, <kernel.DependentProduct object at 0xe94998>) of role type named g
% Using role type
% Declaring g:(fofType->fofType)
% FOF formula ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) of role conjecture named cTHM172_pme
% Conjecture to prove = ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))']
% Parameter fofType:Type.
% Parameter f:(fofType->fofType).
% Parameter g:(fofType->fofType).
% Trying to prove ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x0 as proof of (P b)
% Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f0:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x0 as proof of (P f0)
% Found eq_ref00:=(eq_ref0 (f0 x1)):(((eq Prop) (f0 x1)) (f0 x1))
% Found (eq_ref0 (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1))
% Found ((eq_ref Prop) (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1))
% Found ((eq_ref Prop) (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1))
% Found (fun (x1:fofType)=> ((eq_ref Prop) (f0 x1))) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1))
% Found (fun (x1:fofType)=> ((eq_ref Prop) (f0 x1))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x)))
% Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f0:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x0 as proof of (P f0)
% Found eq_ref00:=(eq_ref0 (f0 x1)):(((eq Prop) (f0 x1)) (f0 x1))
% Found (eq_ref0 (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1))
% Found ((eq_ref Prop) (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1))
% Found ((eq_ref Prop) (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1))
% Found (fun (x1:fofType)=> ((eq_ref Prop) (f0 x1))) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1))
% Found (fun (x1:fofType)=> ((eq_ref Prop) (f0 x1))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x)))
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (x:fofType)=> ((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))))
% Found (eta_expansion_dep00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eta_expansion_dep0 (fun (x1:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found eta_expansion000:=(eta_expansion00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x)))
% Found (eta_expansion00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found ((eta_expansion0 Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion000:=(eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (x:fofType)=> ((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))))
% Found (eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found eta_expansion000:=(eta_expansion00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x)))
% Found (eta_expansion00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found ((eta_expansion0 Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))):(((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))))
% Found (eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) b)
% Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x0 as proof of (P b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (f x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b)
% Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f0:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x0 as proof of (P f0)
% Found eq_ref00:=(eq_ref0 (f0 x3)):(((eq Prop) (f0 x3)) (f0 x3))
% Found (eq_ref0 (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3))
% Found ((eq_ref Prop) (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3))
% Found ((eq_ref Prop) (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3))
% Found (fun (x3:fofType)=> ((eq_ref Prop) (f0 x3))) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3))
% Found (fun (x3:fofType)=> ((eq_ref Prop) (f0 x3))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x)))
% Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f0:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x0 as proof of (P f0)
% Found eq_ref00:=(eq_ref0 (f0 x3)):(((eq Prop) (f0 x3)) (f0 x3))
% Found (eq_ref0 (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3))
% Found ((eq_ref Prop) (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3))
% Found ((eq_ref Prop) (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3))
% Found (fun (x3:fofType)=> ((eq_ref Prop) (f0 x3))) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3))
% Found (fun (x3:fofType)=> ((eq_ref Prop) (f0 x3))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x)))
% Found eq_ref00:=(eq_ref0 (f (f x5))):(((eq fofType) (f (f x5))) (f (f x5)))
% Found (eq_ref0 (f (f x5))) as proof of (((eq fofType) (f (f x5))) (f (f x1)))
% Found ((eq_ref fofType) (f (f x5))) as proof of (((eq fofType) (f (f x5))) (f (f x1)))
% Found ((eq_ref fofType) (f (f x5))) as proof of (((eq fofType) (f (f x5))) (f (f x1)))
% Found eq_substitution00000:=(eq_substitution0000 f):((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))
% Found (eq_substitution0000 f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))
% Found ((eq_substitution000 (f (Xj x1))) f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))
% Found (((eq_substitution00 (Xj (f x5))) (f (Xj x1))) f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))
% Found ((((eq_substitution0 fofType) (Xj (f x5))) (f (Xj x1))) f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))
% Found (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))
% Found (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))
% Found (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)) as proof of (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))
% Found ((conj00 ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))) as proof of ((and (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))))
% Found (((conj0 (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))) as proof of ((and (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))))
% Found ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))) as proof of ((and (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))))
% Found ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))) as proof of ((and (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))))
% Found (x6 ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))) as proof of (((eq fofType) (g (f x5))) (f (g x1)))
% Found ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))) as proof of (((eq fofType) (g (f x5))) (f (g x1)))
% Found ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))) as proof of (((eq fofType) (g (f x5))) (f (g x1)))
% Found (x30 ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))))) as proof of (((eq fofType) (g (f x5))) (f x5))
% Found ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))))) as proof of (((eq fofType) (g (f x5))) (f x5))
% Found ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))))) as proof of (((eq fofType) (g (f x5))) (f x5))
% Found (x40 ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))))) as proof of (((eq fofType) (f x5)) x5)
% Found ((x4 (f x5)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))))) as proof of (((eq fofType) (f x5)) x5)
% Found ((x4 (f x5)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))))) as proof of (((eq fofType) (f x5)) x5)
% Found ((x4 (f x5)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))))) as proof of (((eq fofType) (f x5)) x5)
% Found (ex_intro000 ((x4 (f x5)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found ((ex_intro00 x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((ex_intro0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (fun (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))) as proof of ((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))) as proof of ((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))
% Found (and_rect00 (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found ((and_rect0 ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (fun (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))) as proof of (((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))) as proof of (forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))
% Found (ex_ind00 (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found ((ex_ind0 ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (fun (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (fun (x:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))) (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (fun (x:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))) (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))))) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))
% Got proof (fun (x:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))) (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))))))
% Time elapsed = 55.026395s
% node=7416 cost=760.000000 depth=39
% ::::::::::::::::::::::
% % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% % SZS output start Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% (fun (x:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))) (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))))))
% % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% EOF
%------------------------------------------------------------------------------