TSTP Solution File: SEU931^5 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEU931^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 : n113.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:23 EDT 2014

% Result   : Timeout 300.07s
% Output   : None 
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEU931^5 : TPTP v6.1.0. Released v4.0.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n113.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:43:06 CDT 2014
% % CPUTime  : 300.07 
% 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 0x174c050>, <kernel.DependentProduct object at 0x16f8830>) of role type named f
% Using role type
% Declaring f:(fofType->fofType)
% FOF formula (<kernel.Constant object at 0x16d8368>, <kernel.DependentProduct object at 0x16f8680>) of role type named g
% Using role type
% Declaring g:(fofType->fofType)
% FOF formula ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (f (g Xx)))) (fun (Xx:fofType)=> (g (f Xx))))->(((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 cTHM171_pme
% Conjecture to prove = ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (f (g Xx)))) (fun (Xx:fofType)=> (g (f Xx))))->(((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 ['((((eq (fofType->fofType)) (fun (Xx:fofType)=> (f (g Xx)))) (fun (Xx:fofType)=> (g (f Xx))))->(((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 ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (f (g Xx)))) (fun (Xx:fofType)=> (g (f Xx))))->(((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 x0:=(x (fun (x0:(fofType->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))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x (fun (x0:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) 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 (x (fun (x0:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) 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:=(x (fun (x0:(fofType->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))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x (fun (x0:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) 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 (x (fun (x0:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) 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:=(x (fun (x0:(fofType->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))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x (fun (x0:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) 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 (x (fun (x0:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) 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 x0:=(x (fun (x0:(fofType->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))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x (fun (x0:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) 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 (x (fun (x0:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) 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_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 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 x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found eta_expansion_dep000:=(eta_expansion_dep00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x)))
% Found (eta_expansion_dep00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion_dep0 (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (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 (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_expansion00 (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_expansion0 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 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 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 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_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 (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion0 Prop) b) as proof of (((eq (fofType->Prop)) b) (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) b) as proof of (((eq (fofType->Prop)) b) (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) b) as proof of (((eq (fofType->Prop)) b) (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) b) as proof of (((eq (fofType->Prop)) b) (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 (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_expansion00 (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_expansion0 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 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 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 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:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% 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 (x6: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 (x6: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 (x6: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 (x6: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 x1:=(x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))):((P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))->(P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))):((P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))->(P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))):((P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))->(P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))):((P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))->(P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 (f x1)):(((eq fofType) (f x1)) (f x1))
% Found (eq_ref0 (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x1)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x1)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x1)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x1)
% 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 x5)):(((eq Prop) (f0 x5)) (f0 x5))
% Found (eq_ref0 (f0 x5)) as proof of (((eq Prop) (f0 x5)) (((eq fofType) (f x5)) x5))
% Found ((eq_ref Prop) (f0 x5)) as proof of (((eq Prop) (f0 x5)) (((eq fofType) (f x5)) x5))
% Found ((eq_ref Prop) (f0 x5)) as proof of (((eq Prop) (f0 x5)) (((eq fofType) (f x5)) x5))
% Found (fun (x5:fofType)=> ((eq_ref Prop) (f0 x5))) as proof of (((eq Prop) (f0 x5)) (((eq fofType) (f x5)) x5))
% Found (fun (x5:fofType)=> ((eq_ref Prop) (f0 x5))) 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 x5)):(((eq Prop) (f0 x5)) (f0 x5))
% Found (eq_ref0 (f0 x5)) as proof of (((eq Prop) (f0 x5)) (((eq fofType) (f x5)) x5))
% Found ((eq_ref Prop) (f0 x5)) as proof of (((eq Prop) (f0 x5)) (((eq fofType) (f x5)) x5))
% Found ((eq_ref Prop) (f0 x5)) as proof of (((eq Prop) (f0 x5)) (((eq fofType) (f x5)) x5))
% Found (fun (x5:fofType)=> ((eq_ref Prop) (f0 x5))) as proof of (((eq Prop) (f0 x5)) (((eq fofType) (f x5)) x5))
% Found (fun (x5:fofType)=> ((eq_ref Prop) (f0 x5))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x)))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (f x5)))):((P (f x5))->(P (f x5)))
% Found (x (fun (x6:(fofType->fofType))=> (P (f x5)))) as proof of (P0 (f x5))
% Found (x (fun (x6:(fofType->fofType))=> (P (f x5)))) as proof of (P0 (f x5))
% Found eta_expansion_dep000:=(eta_expansion_dep00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x)))
% Found (eta_expansion_dep00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found ((eta_expansion_dep0 (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% 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_expansion_dep000:=(eta_expansion_dep00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x)))
% Found (eta_expansion_dep00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found ((eta_expansion_dep0 (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))
% 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 x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):((P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):((P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):((P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x0:=(x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):((P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x (fun (x0:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref00:=(eq_ref0 (f x3)):(((eq fofType) (f x3)) (f x3))
% Found (eq_ref0 (f x3)) as proof of (((eq fofType) (f x3)) b)
% Found ((eq_ref fofType) (f x3)) as proof of (((eq fofType) (f x3)) b)
% Found ((eq_ref fofType) (f x3)) as proof of (((eq fofType) (f x3)) b)
% Found ((eq_ref fofType) (f x3)) as proof of (((eq fofType) (f x3)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x3)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x3)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x3)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x3)
% Found x40:=(x4 (fun (x6:fofType)=> (P (f x3)))):((P (f x3))->(P (f x3)))
% Found (x4 (fun (x6:fofType)=> (P (f x3)))) as proof of (P0 (f x3))
% Found (x4 (fun (x6:fofType)=> (P (f x3)))) as proof of (P0 (f x3))
% Found x40:=(x4 (fun (x6:fofType)=> (P (f x1)))):((P (f x1))->(P (f x1)))
% Found (x4 (fun (x6:fofType)=> (P (f x1)))) as proof of (P0 (f x1))
% Found (x4 (fun (x6:fofType)=> (P (f x1)))) as proof of (P0 (f x1))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))):((P0 (((eq fofType) (f x0)) x0))->(P0 (((eq fofType) (f x0)) x0)))
% Found (x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))) as proof of (P1 (((eq fofType) (f x0)) x0))
% Found (x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))) as proof of (P1 (((eq fofType) (f x0)) x0))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))):((P0 (((eq fofType) (f x0)) x0))->(P0 (((eq fofType) (f x0)) x0)))
% Found (x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))) as proof of (P1 (((eq fofType) (f x0)) x0))
% Found (x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))) as proof of (P1 (((eq fofType) (f x0)) x0))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))):((P0 (((eq fofType) (f x0)) x0))->(P0 (((eq fofType) (f x0)) x0)))
% Found (x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))) as proof of (P1 (((eq fofType) (f x0)) x0))
% Found (x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))) as proof of (P1 (((eq fofType) (f x0)) x0))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))):((P0 (((eq fofType) (f x0)) x0))->(P0 (((eq fofType) (f x0)) x0)))
% Found (x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))) as proof of (P1 (((eq fofType) (f x0)) x0))
% Found (x (fun (x1:(fofType->fofType))=> (P0 (((eq fofType) (f x0)) x0)))) as proof of (P1 (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 (f x1)):(((eq fofType) (f x1)) (f x1))
% Found (eq_ref0 (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x1)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x1)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x1)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x1)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found eq_ref00:=(eq_ref0 x1):(((eq fofType) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found x3:(((eq fofType) (g x1)) x1)
% Instantiate: b:=(g x1):fofType;x5:=x1:fofType
% Found x3 as proof of (((eq fofType) b) x5)
% Found eq_ref00:=(eq_ref0 (f x5)):(((eq fofType) (f x5)) (f x5))
% Found (eq_ref0 (f x5)) as proof of (((eq fofType) (f x5)) b)
% Found ((eq_ref fofType) (f x5)) as proof of (((eq fofType) (f x5)) b)
% Found ((eq_ref fofType) (f x5)) as proof of (((eq fofType) (f x5)) b)
% Found ((eq_ref fofType) (f x5)) as proof of (((eq fofType) (f x5)) b)
% Found x4:(((eq fofType) (g x1)) x1)
% Instantiate: x3:=x1:fofType;b:=(g x1):fofType
% Found x4 as proof of (((eq fofType) b) x3)
% Found eq_ref00:=(eq_ref0 (f x3)):(((eq fofType) (f x3)) (f x3))
% Found (eq_ref0 (f x3)) as proof of (((eq fofType) (f x3)) b)
% Found ((eq_ref fofType) (f x3)) as proof of (((eq fofType) (f x3)) b)
% Found ((eq_ref fofType) (f x3)) as proof of (((eq fofType) (f x3)) b)
% Found ((eq_ref fofType) (f x3)) as proof of (((eq fofType) (f x3)) b)
% Found x4:(((eq fofType) (g x2)) x2)
% Instantiate: x1:=x2:fofType;b:=(g x2):fofType
% Found x4 as proof of (((eq fofType) b) x1)
% Found eq_ref00:=(eq_ref0 (f x1)):(((eq fofType) (f x1)) (f x1))
% Found (eq_ref0 (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found ((eq_ref fofType) (f x1)) as proof of (((eq fofType) (f x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found eq_ref00:=(eq_ref0 x3):(((eq fofType) x3) x3)
% Found (eq_ref0 x3) as proof of (((eq fofType) x3) b)
% Found ((eq_ref fofType) x3) as proof of (((eq fofType) x3) b)
% Found ((eq_ref fofType) x3) as proof of (((eq fofType) x3) b)
% Found ((eq_ref fofType) x3) as proof of (((eq fofType) x3) b)
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))):((P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))->(P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))):((P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))->(P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))):((P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))->(P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found x1:=(x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))):((P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))->(P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (x (fun (x1:(fofType->fofType))=> (P0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))))) as proof of (P1 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found eq_ref00:=(eq_ref0 x1):(((eq fofType) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))):(((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found (eq_ref0 ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) as proof of (((eq Prop) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (f x0)) x0))
% Found eq_ref00:=(eq_ref0 (g (f x5))):(((eq fofType) (g (f x5))) (g (f x5)))
% Found (eq_ref0 (g (f x5))) as proof of (((eq fofType) (g (f x5))) b)
% Found ((eq_ref fofType) (g (f x5))) as proof of (((eq fofType) (g (f x5))) b)
% Found ((eq_ref fofType) (g (f x5))) as proof of (((eq fofType) (g (f x5))) b)
% Found ((eq_ref fofType) (g (f x5))) as proof of (((eq fofType) (g (f x5))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found eq_ref00:=(eq_ref0 x1):(((eq fofType) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found ((eq_ref fofType) x1) as proof of (((eq fofType) x1) b)
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f x5))))):((P (g (f x5)))->(P (g (f x5))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x5))))) as proof of (P0 (g (f x5)))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x5))))) as proof of (P0 (g (f x5)))
% Found x3:(((eq fofType) (g x1)) x1)
% Instantiate: b:=x1:fofType;x5:=(g x1):fofType
% Found x3 as proof of (((eq fofType) x5) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found eq_ref00:=(eq_ref0 (g (f x3))):(((eq fofType) (g (f x3))) (g (f x3)))
% Found (eq_ref0 (g (f x3))) as proof of (((eq fofType) (g (f x3))) b)
% Found ((eq_ref fofType) (g (f x3))) as proof of (((eq fofType) (g (f x3))) b)
% Found ((eq_ref fofType) (g (f x3))) as proof of (((eq fofType) (g (f x3))) b)
% Found ((eq_ref fofType) (g (f x3))) as proof of (((eq fofType) (g (f x3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found eq_ref00:=(eq_ref0 (g (f x1))):(((eq fofType) (g (f x1))) (g (f x1)))
% Found (eq_ref0 (g (f x1))) as proof of (((eq fofType) (g (f x1))) b)
% Found ((eq_ref fofType) (g (f x1))) as proof of (((eq fofType) (g (f x1))) b)
% Found ((eq_ref fofType) (g (f x1))) as proof of (((eq fofType) (g (f x1))) b)
% Found ((eq_ref fofType) (g (f x1))) as proof of (((eq fofType) (g (f x1))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f x5))))):((P (g (f x5)))->(P (g (f x5))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x5))))) as proof of (P0 (g (f x5)))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x5))))) as proof of (P0 (g (f x5)))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f (g x1)))))):((P (g (f (g x1))))->(P (g (f (g x1)))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f (g x1)))))) as proof of (P0 (g (f (g x1))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f (g x1)))))) as proof of (P0 (g (f (g x1))))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f x3))))):((P (g (f x3)))->(P (g (f x3))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x3))))) as proof of (P0 (g (f x3)))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x3))))) as proof of (P0 (g (f x3)))
% Found x4:(((eq fofType) (g x1)) x1)
% Instantiate: x3:=(g x1):fofType;b:=x1:fofType
% Found x4 as proof of (((eq fofType) x3) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f x1))))):((P (g (f x1)))->(P (g (f x1))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x1))))) as proof of (P0 (g (f x1)))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x1))))) as proof of (P0 (g (f x1)))
% Found x4:(((eq fofType) (g x2)) x2)
% Instantiate: x1:=(g x2):fofType;b:=x2:fofType
% Found x4 as proof of (((eq fofType) x1) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f (g x1)))))):((P (g (f (g x1))))->(P (g (f (g x1)))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f (g x1)))))) as proof of (P0 (g (f (g x1))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f (g x1)))))) as proof of (P0 (g (f (g x1))))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f x3))))):((P (g (f x3)))->(P (g (f x3))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x3))))) as proof of (P0 (g (f x3)))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x3))))) as proof of (P0 (g (f x3)))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f (g x2)))))):((P (g (f (g x2))))->(P (g (f (g x2)))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f (g x2)))))) as proof of (P0 (g (f (g x2))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f (g x2)))))) as proof of (P0 (g (f (g x2))))
% Found x6:=(x (fun (x6:(fofType->fofType))=> (P (g (f x1))))):((P (g (f x1)))->(P (g (f x1))))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x1))))) as proof of (P0 (g (f x1)))
% Found (x (fun (x6:(fofType->fofType))=> (P (g (f x1))))) as proof of (P0 (g (f x1)))
% Found x4:(((eq fofType) (g x1)) x1)
% Instantiate: x3:=(g x1):fofType;b:=x1:fofType
% Found x4 as proof of (((eq fofType) x3) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found eq_ref00:=(eq_ref0 (g (f (g x1)))):(((eq fofType) (g (f (g x1)))) (g (f (g x1))))
% Found (eq_ref0 (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found eq_ref00:=(eq_ref0 (g (f (g x1)))):(((eq fofType) (g (f (g x1)))) (g (f (g x1))))
% Found (eq_ref0 (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x5))
% Found eq_ref00:=(eq_ref0 (g (f x5))):(((eq fofType) (g (f x5))) (g (f x5)))
% Found (eq_ref0 (g (f x5))) as proof of (((eq fofType) (g (f x5))) b)
% Found ((eq_ref fofType) (g (f x5))) as proof of (((eq fofType) (g (f x5))) b)
% Found ((eq_ref fofType) (g (f x5))) as proof of (((eq fofType) (g (f x5))) b)
% Found ((eq_ref fofType) (g (f x5))) as proof of (((eq fofType) (g (f x5))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found x4:(((eq fofType) (g x2)) x2)
% Instantiate: x1:=(g x2):fofType;b:=x2:fofType
% Found x4 as proof of (((eq fofType) x1) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found x4:(((eq fofType) (g x2)) x2)
% Instantiate: x1:=(g x2):fofType;b:=x2:fofType
% Found x4 as proof of (((eq fofType) x1) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x1))
% Found eq_ref00:=(eq_ref0 (g (f (g x1)))):(((eq fofType) (g (f (g x1)))) (g (f (g x1))))
% Found (eq_ref0 (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found eq_ref00:=(eq_ref0 (g (f (g x1)))):(((eq fofType) (g (f (g x1)))) (g (f (g x1))))
% Found (eq_ref0 (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found ((eq_ref fofType) (g (f (g x1)))) as proof of (((eq fofType) (g (f (g x1)))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f x3))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (f (g x1)))
% Found eq_ref00:=(eq_ref0 (g (f x3))):(((eq fofType) (g (f x3))) (g (f x3)))
% Found (eq_ref0 (g (f x3))) as proof of (((eq fofType) (g (f x3))) b)
% Found ((eq_ref fofType) (g (f x3))) as proof of (((eq fofType) (g (f x3))) b)
% Found ((eq_ref fofType) (g (f x3))) as proof of (((eq fofType) (g (f x3))) b)
% Found ((eq_ref fofType) (g (f x3))) as proof of (((eq fofType) (g (f x3))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (g x0)) x0)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x0)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (f x0)) x0)):(((eq Prop) (((eq fofType) (f x0)) x0)) (((eq fofType) (f x0)) x0))
% Found (eq_ref0 (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) (f x0)) x0)) b)
% Found ((eq_ref Prop) (((eq fofType) (f x0)) x0)) as proof of (((eq Prop) (((eq fofType) 
% EOF
%------------------------------------------------------------------------------