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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEU932^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 : n097.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:24 EDT 2014

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

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEU932^5 : TPTP v6.1.0. Released v4.0.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n097.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:16 CDT 2014
% % CPUTime  : 300.03 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% FOF formula (forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (Xg Xx)))) (fun (Xx:fofType)=> (Xg (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) of role conjecture named cTHM141_pme
% Conjecture to prove = (forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (Xg Xx)))) (fun (Xx:fofType)=> (Xg (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (Xg Xx)))) (fun (Xx:fofType)=> (Xg (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))']
% Parameter fofType:Type.
% Trying to prove (forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (Xg Xx)))) (fun (Xx:fofType)=> (Xg (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x1:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 (f x0)):(((eq Prop) (f x0)) (f x0))
% Found (eq_ref0 (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (f x0)):(((eq Prop) (f x0)) (f x0))
% Found (eq_ref0 (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 (f x2)):(((eq Prop) (f x2)) (f x2))
% Found (eq_ref0 (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (f x2)):(((eq Prop) (f x2)) (f x2))
% Found (eq_ref0 (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P b)
% Found eta_expansion000:=(eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion0 Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found (fun (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of (P b)
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b)))
% Found (and_rect00 (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found ((and_rect0 (P b)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P b)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P b)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found eta_expansion_dep0000:=(eta_expansion_dep000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion_dep000 (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found ((eta_expansion_dep00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found (((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b)))
% Found (and_rect00 (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P b)
% Found ((and_rect0 (P b)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P b)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P b)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P b)
% Found (fun (x1:((and (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P b)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))))) as proof of (P b)
% Found eq_ref00:=(eq_ref0 (Xf x0)):(((eq fofType) (Xf x0)) (Xf x0))
% Found (eq_ref0 (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f)))
% Found (and_rect00 (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f)))
% Found (and_rect00 (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found (fun (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of (P f)
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f)))
% Found (and_rect00 (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P f)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P f)
% Found (fun (x1:((and (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3))) as proof of (P f)
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of ((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f)))
% Found (and_rect00 (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (fun (x1:((and (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P0:Type) (x2:((((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx))))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(((eq (fofType->fofType)) (fun (Xx:fofType)=> (Xf (x0 Xx)))) (fun (Xx:fofType)=> (x0 (Xf Xx)))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))))) as proof of (P f)
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x2 (fun (x3:(fofType->fofType))=> ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref00:=(eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eta_expansion000:=(eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (x:fofType)=> ((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))))
% Found (eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 (Xf x2)):(((eq fofType) (Xf x2)) (Xf x2))
% Found (eq_ref0 (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P b)
% Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 (Xf x0)):(((eq fofType) (Xf x0)) (Xf x0))
% Found (eq_ref0 (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found eq_ref00:=(eq_ref0 x0):(((eq fofType) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x6)):(((eq Prop) (f x6)) (f x6))
% Found (eq_ref0 (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found ((eq_ref Prop) (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found ((eq_ref Prop) (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found (fun (x6:fofType)=> ((eq_ref Prop) (f x6))) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found (fun (x6:fofType)=> ((eq_ref Prop) (f x6))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (f x6)):(((eq Prop) (f x6)) (f x6))
% Found (eq_ref0 (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found ((eq_ref Prop) (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found ((eq_ref Prop) (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found (fun (x6:fofType)=> ((eq_ref Prop) (f x6))) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found (fun (x6:fofType)=> ((eq_ref Prop) (f x6))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 (Xf x4)):(((eq fofType) (Xf x4)) (Xf x4))
% Found (eq_ref0 (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found x20:=(x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))):((P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))->(P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found x20:=(x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))):((P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))->(P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found x20:=(x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))):((P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))->(P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found x20:=(x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))):((P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))->(P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))):(((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))):(((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))):(((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))):(((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found eq_ref00:=(eq_ref0 x2):(((eq fofType) x2) x2)
% Found (eq_ref0 x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found eq_ref00:=(eq_ref0 (Xf x2)):(((eq fofType) (Xf x2)) (Xf x2))
% Found (eq_ref0 (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found eq_ref00:=(eq_ref0 (Xf x0)):(((eq fofType) (Xf x0)) (Xf x0))
% Found (eq_ref0 (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x9:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x9:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x9:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x9:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found eq_ref00:=(eq_ref0 x0):(((eq fofType) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x8)):(((eq Prop) (f x8)) (f x8))
% Found (eq_ref0 (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found ((eq_ref Prop) (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found ((eq_ref Prop) (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found (fun (x8:fofType)=> ((eq_ref Prop) (f x8))) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found (fun (x8:fofType)=> ((eq_ref Prop) (f x8))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (f x8)):(((eq Prop) (f x8)) (f x8))
% Found (eq_ref0 (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found ((eq_ref Prop) (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found ((eq_ref Prop) (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found (fun (x8:fofType)=> ((eq_ref Prop) (f x8))) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found (fun (x8:fofType)=> ((eq_ref Prop) (f x8))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found eq_ref00:=(eq_ref0 x0):(((eq fofType) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 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) (Xf Xy)) Xy)))
% Found ((eta_expansion0 Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found eq_ref00:=(eq_ref0 (Xf x6)):(((eq fofType) (Xf x6)) (Xf x6))
% Found (eq_ref0 (Xf x6)) as proof of (((eq fofType) (Xf x6)) b)
% Found ((eq_ref fofType) (Xf x6)) as proof of (((eq fofType) (Xf x6)) b)
% Found ((eq_ref fofType) (Xf x6)) as proof of (((eq fofType) (Xf x6)) b)
% Found ((eq_ref fofType) (Xf x6)) as proof of (((eq fofType) (Xf x6)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x6)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x6)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x6)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x6)
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):((P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):((P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):((P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found x20:=(x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))):((P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (x2 (fun (x3:(fofType->fofType))=> (P0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))) as proof of (P1 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x4))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x4))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x4))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x4))
% Found eq_ref00:=(eq_ref0 x4):(((eq fofType) x4) x4)
% Found (eq_ref0 x4) as proof of (((eq fofType) x4) b)
% Found ((eq_ref fofType) x4) as proof of (((eq fofType) x4) b)
% Found ((eq_ref fofType) x4) as proof of (((eq fofType) x4) b)
% Found ((eq_ref fofType) x4) as proof of (((eq fofType) x4) b)
% Found x20:=(x2 (fun (x9:(fofType->fofType))=> (P (Xf x8)))):((P (Xf x8))->(P (Xf x8)))
% Found (x2 (fun (x9:(fofType->fofType))=> (P (Xf x8)))) as proof of (P0 (Xf x8))
% Found (x2 (fun (x9:(fofType->fofType))=> (P (Xf x8)))) as proof of (P0 (Xf x8))
% Found eq_ref00:=(eq_ref0 (Xf x2)):(((eq fofType) (Xf x2)) (Xf x2))
% Found (eq_ref0 (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found eq_ref00:=(eq_ref0 (Xf x4)):(((eq fofType) (Xf x4)) (Xf x4))
% Found (eq_ref0 (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found eq_ref00:=(eq_ref0 (Xf x0)):(((eq fofType) (Xf x0)) (Xf x0))
% Found (eq_ref0 (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found eq_ref00:=(eq_ref0 (((eq fofType) (Xf x3)) x3)):(((eq Prop) (((eq fofType) (Xf x3)) x3)) (((eq fofType) (Xf x3)) x3))
% Found (eq_ref0 (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) 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) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (Xf x3)) x3)):(((eq Prop) (((eq fofType) (Xf x3)) x3)) (((eq fofType) (Xf x3)) x3))
% Found (eq_ref0 (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) 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) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (Xf x3)) x3)):(((eq Prop) (((eq fofType) (Xf x3)) x3)) (((eq fofType) (Xf x3)) x3))
% Found (eq_ref0 (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found eq_ref00:=(eq_ref0 (((eq fofType) (Xf x3)) x3)):(((eq Prop) (((eq fofType) (Xf x3)) x3)) (((eq fofType) (Xf x3)) x3))
% Found (eq_ref0 (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) 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) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found x20:=(x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))):((P0 (((eq fofType) (Xf x3)) x3))->(P0 (((eq fofType) (Xf x3)) x3)))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))) as proof of (P1 (((eq fofType) (Xf x3)) x3))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))) as proof of (P1 (((eq fofType) (Xf x3)) x3))
% Found x20:=(x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))):((P0 (((eq fofType) (Xf x3)) x3))->(P0 (((eq fofType) (Xf x3)) x3)))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))) as proof of (P1 (((eq fofType) (Xf x3)) x3))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))) as proof of (P1 (((eq fofType) (Xf x3)) x3))
% Found x20:=(x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))):((P0 (((eq fofType) (Xf x3)) x3))->(P0 (((eq fofType) (Xf x3)) x3)))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))) as proof of (P1 (((eq fofType) (Xf x3)) x3))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))) as proof of (P1 (((eq fofType) (Xf x3)) x3))
% Found x20:=(x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))):((P0 (((eq fofType) (Xf x3)) x3))->(P0 (((eq fofType) (Xf x3)) x3)))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))) as proof of (P1 (((eq fofType) (Xf x3)) x3))
% Found (x2 (fun (x4:(fofType->fofType))=> (P0 (((eq fofType) (Xf x3)) x3)))) as proof of (P1 (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (Xf x3)) x3)):(((eq Prop) (((eq fofType) (Xf x3)) x3)) (((eq fofType) (Xf x3)) x3))
% Found (eq_ref0 (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) 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) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (Xf x3)) x3)):(((eq Prop) (((eq fofType) (Xf x3)) x3)) (((eq fofType) (Xf x3)) x3))
% Found (eq_ref0 (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) 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) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (Xf x3)) x3)):(((eq Prop) (((eq fofType) (Xf x3)) x3)) (((eq fofType) (Xf x3)) x3))
% Found (eq_ref0 (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) 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) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 (((eq fofType) (Xf x3)) x3)):(((eq Prop) (((eq fofType) (Xf x3)) x3)) (((eq fofType) (Xf x3)) x3))
% Found (eq_ref0 (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) x3)) b)
% Found ((eq_ref Prop) (((eq fofType) (Xf x3)) x3)) as proof of (((eq Prop) (((eq fofType) (Xf x3)) 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) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found eq_ref00:=(eq_ref0 x2):(((eq fofType) x2) x2)
% Found (eq_ref0 x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found eq_ref00:=(eq_ref0 x0):(((eq fofType) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found x70:=(x7 (fun (x9:fofType)=> (P (Xf x6)))):((P (Xf x6))->(P (Xf x6)))
% Found (x7 (fun (x9:fofType)=> (P (Xf x6)))) as proof of (P0 (Xf x6))
% Found (x7 (fun (x9:fofType)=> (P (Xf x6)))) as proof of (P0 (Xf x6))
% Found x70:=(x7 (fun (x9:fofType)=> (P (Xf x2)))):((P (Xf x2))->(P (Xf x2)))
% Found (x7 (fun (x9:fofType)=> (P (Xf x2)))) as proof of (P0 (Xf x2))
% Found (x7 (fun (x9:fofType)=> (P (Xf x2)))) as proof of (P0 (Xf x2))
% Found x70:=(x7 (fun (x9:fofType)=> (P (Xf x4)))):((P (Xf x4))->(P (Xf x4)))
% Found (x7 (fun (x9:fofType)=> (P (Xf x4)))) as proof of (P0 (Xf x4))
% Found (x7 (fun (x9:fofType)=> (P (Xf x4)))) as proof of (P0 (Xf x4))
% Found x70:=(x7 (fun (x9:fofType)=> (P (Xf x0)))):((P (Xf x0))->(P (Xf x0)))
% Found (x7 (fun (x9:fofType)=> (P (Xf x0)))) as proof of (P0 (Xf x0))
% Found (x7 (fun (x9:fofType)=> (P (Xf x0)))) as proof of (P0 (Xf x0))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found eq_ref00:=(eq_ref0 x2):(((eq fofType) x2) x2)
% Found (eq_ref0 x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found eq_ref00:=(eq_ref0 x0):(((eq fofType) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq fofType) x0) b)
% Found ((eq_
% EOF
%------------------------------------------------------------------------------