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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEV165^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 : n096.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:49 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  : SEV165^5 : TPTP v6.1.0. Released v4.0.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n096.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 08:17:56 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 ((ex ((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))) (fun (CROSS:((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))))=> (forall (A:(fofType->Prop)) (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff (((CROSS A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))))) of role conjecture named cEXISTS_CART_SET_PROD_pme
% Conjecture to prove = ((ex ((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))) (fun (CROSS:((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))))=> (forall (A:(fofType->Prop)) (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff (((CROSS A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['((ex ((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))) (fun (CROSS:((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))))=> (forall (A:(fofType->Prop)) (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff (((CROSS A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb))))))']
% Parameter fofType:Type.
% Trying to prove ((ex ((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))) (fun (CROSS:((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))))=> (forall (A:(fofType->Prop)) (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff (((CROSS A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb))))))
% Found iff_refl0:=(iff_refl (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))
% Found (iff_refl (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))
% Found iff_refl0:=(iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found x0:((and (A Xa)) (B Xb))
% Instantiate: x:=(fun (x3:(fofType->Prop)) (x20:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x3 Xa)) (x20 Xb))):((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))
% Found (fun (x0:((and (A Xa)) (B Xb)))=> x0) as proof of (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x0:((and (A Xa)) (B Xb)))=> x0) as proof of (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x000:=(x00 Xb):((and (A Xa)) (B Xb))
% Found (x00 Xb) as proof of ((and (A Xa)) (B Xb))
% Found ((x0 Xa) Xb) as proof of ((and (A Xa)) (B Xb))
% Found ((x0 Xa) Xb) as proof of ((and (A Xa)) (B Xb))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x0 Xa) Xb)) as proof of ((and (A Xa)) (B Xb))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x0 Xa) Xb)) as proof of ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))
% Found x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0) as proof of ((and (A Xa)) (B Xb))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0) as proof of ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))
% Found ((conj00 (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) as proof of ((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))
% Found (((conj0 (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) as proof of ((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))
% Found ((((conj ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) as proof of ((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found x0:((and (A Xa)) (B Xb))
% Instantiate: x:=(fun (x3:(fofType->Prop)) (x20:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x3 Xa)) (x20 Xb))):((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))
% Found (fun (x0:((and (A Xa)) (B Xb)))=> x0) as proof of (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x0:((and (A Xa)) (B Xb)))=> x0) as proof of (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0) as proof of ((and (A Xa)) (B Xb))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0) as proof of ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))
% Found ((conj00 (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) as proof of ((iff ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj0 ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) as proof of ((iff ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) as proof of ((iff ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) as proof of ((iff ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0))) as proof of ((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))
% Found ((iff_sym0 (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0))) as proof of ((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))
% Found (((iff_sym ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0))) as proof of ((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (A Xa)) (B Xb)))
% Found x1:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x3:(fofType->Prop)) (x20:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x3 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj00 (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((conj0 (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found x00:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x2:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x2 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj00 (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj0 (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((iff_sym0 ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found iff_refl0:=(iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found iff_refl0:=(iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found eq_ref000:=(eq_ref00 P):((P x0)->(P x0))
% Found (eq_ref00 P) as proof of ((P x0)->(P x'))
% Found ((eq_ref0 x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref000:=(eq_ref00 P):((P x0)->(P x0))
% Found (eq_ref00 P) as proof of ((P x0)->(P x'))
% Found ((eq_ref0 x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:(P x0)
% Instantiate: x0:=x':((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:(P x0))=> x1) as proof of (P x')
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:(P x0)
% Instantiate: x0:=x':((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:(P x0))=> x1) as proof of (P x')
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x1)->(P x1))
% Found (eq_ref00 P) as proof of ((P x1)->(P x'))
% Found ((eq_ref0 x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P x1))=> x2) as proof of (P x')
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x1)->(P x1))
% Found (eq_ref00 P) as proof of ((P x1)->(P x'))
% Found ((eq_ref0 x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P x1))=> x2) as proof of (P x')
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x')
% Found (eq_ref0 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_sym00 x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((eq_sym0 x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_sym00 x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((eq_sym0 x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x3:(fofType->Prop)) (x20:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x3 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((conj1 (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found x1:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x3:(fofType->Prop)) (x20:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x3 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((conj1 (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality_dep000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality_dep00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality_dep000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality_dep00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double00000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality_double0000 x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality_double000 x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality_double00 Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double00000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality_double0000 x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality_double000 x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality_double00 Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_sym00 x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_sym0 x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_sym00 x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_sym0 x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x00:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x2:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x2 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj1 (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((iff_sym0 ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found x00:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x2:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x2 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj1 (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((iff_sym0 ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref000:=(eq_ref00 P):((P x0)->(P x0))
% Found (eq_ref00 P) as proof of ((P x0)->(P x'))
% Found ((eq_ref0 x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref000:=(eq_ref00 P):((P x0)->(P x0))
% Found (eq_ref00 P) as proof of ((P x0)->(P x'))
% Found ((eq_ref0 x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:(P x0)
% Instantiate: x0:=x':((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:(P x0))=> x1) as proof of (P x')
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:(P x0)
% Instantiate: x0:=x':((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:(P x0))=> x1) as proof of (P x')
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((eq_trans000 x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((eq_trans00 x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((eq_trans0 x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((eq_trans000 x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((eq_trans00 x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((eq_trans0 x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion0 (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found (eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym0000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (eq_sym0000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) P)) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) P)) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) P)) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eta_expansion000:=(eta_expansion00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion0 (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eta_expansion000:=(eta_expansion00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion0 (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P x1))=> x2) as proof of (P x')
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x1)->(P x1))
% Found (eq_ref00 P) as proof of ((P x1)->(P x'))
% Found ((eq_ref0 x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P x1))=> x2) as proof of (P x')
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x1)->(P x1))
% Found (eq_ref00 P) as proof of ((P x1)->(P x'))
% Found ((eq_ref0 x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion000:=(eta_expansion00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion0 Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_sym00 x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((eq_sym0 x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x')
% Found (eq_ref0 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_sym00 x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((eq_sym0 x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality_dep00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality_dep00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double00000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality_double0000 x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality_double000 x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality_double00 Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double00000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality_double0000 x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality_double000 x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality_double00 Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_sym00 x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_sym0 x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_sym00 x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_sym0 x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found iff_refl0:=(iff_refl (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x0:((and (A Xa)) (B Xb))
% Instantiate: x:=(fun (x3:(fofType->Prop)) (x20:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x3 Xa)) (x20 Xb))):((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))
% Found (fun (x0:((and (A Xa)) (B Xb)))=> x0) as proof of (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x0:((and (A Xa)) (B Xb)))=> x0) as proof of (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x000:=(x00 Xb):((and (A Xa)) (B Xb))
% Found (x00 Xb) as proof of ((and (A Xa)) (B Xb))
% Found ((x0 Xa) Xb) as proof of ((and (A Xa)) (B Xb))
% Found ((x0 Xa) Xb) as proof of ((and (A Xa)) (B Xb))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x0 Xa) Xb)) as proof of ((and (A Xa)) (B Xb))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x0 Xa) Xb)) as proof of ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))
% Found x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0) as proof of ((and (A Xa)) (B Xb))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0) as proof of ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))
% Found ((conj00 (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((conj0 (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((((conj ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((((conj ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((eq_trans000 x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_trans00 x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((eq_trans0 x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((eq_trans000 x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_trans00 x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((eq_trans0 x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x3:(fofType->Prop)) (x20:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x3 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj00 (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((conj0 (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found eta_expansion000:=(eta_expansion00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion0 (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found (eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x')
% Found (eq_ref0 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (eq_sym0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eta_expansion000:=(eta_expansion00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion0 (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((eq_sym0000 (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_sym0000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((eq_sym0000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x0:((and (A Xa)) (B Xb))
% Instantiate: x:=(fun (x3:(fofType->Prop)) (x20:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x3 Xa)) (x20 Xb))):((fofType->Prop)->((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))
% Found (fun (x0:((and (A Xa)) (B Xb)))=> x0) as proof of (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x0:((and (A Xa)) (B Xb)))=> x0) as proof of (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0) as proof of ((and (A Xa)) (B Xb))
% Found (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0) as proof of ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))
% Found ((conj00 (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) as proof of ((iff ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj0 ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) as proof of ((iff ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) as proof of ((iff ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0)) as proof of ((iff ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0))) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((iff_sym0 (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0))) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((iff_sym ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0))) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((iff_sym ((and (A Xa)) (B Xb))) (((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (fun (x0:((and (A Xa)) (B Xb)))=> x0)) (fun (x0:(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x0))) as proof of ((and ((((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (A Xa)) (B Xb)))) (((and (A Xa)) (B Xb))->(((x A) B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x00:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x2:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x2 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj00 (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj0 (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((iff_sym0 ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) (fun (x:(fofType->Prop))=> (x0 x)))
% Found (eta_expansion_dep00 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found ((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> (((eq_trans0000 x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> ((((eq_trans000 x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((eq_trans00 x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> ((((((eq_trans0 x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) (fun (x:(fofType->Prop))=> (x0 x)))
% Found (eta_expansion_dep00 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found ((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> (((eq_trans0000 x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> ((((eq_trans000 x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((eq_trans00 x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> ((((((eq_trans0 x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion000:=(eta_expansion00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion0 Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) (fun (x:(fofType->Prop))=> (x0 x)))
% Found (eta_expansion_dep00 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> (((eq_trans0000 x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> ((((eq_trans000 x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((eq_trans00 x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> ((((((eq_trans0 x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) (fun (x:(fofType->Prop))=> (x0 x)))
% Found (eta_expansion_dep00 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> (((eq_trans0000 x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> ((((eq_trans000 x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((eq_trans00 x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> ((((((eq_trans0 x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym0000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found (eq_sym0000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym0000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((eq_sym0000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion000:=(eta_expansion00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion0 Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x1:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x3:(fofType->Prop)) (x20:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x3 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((conj1 (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x1:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x3:(fofType->Prop)) (x20:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x3 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((conj1 (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x00:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x2:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x2 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj1 (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((iff_sym0 ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x00:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x2:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x2 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj1 (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found ((iff_sym0 ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((and (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) (fun (x:(fofType->Prop))=> (x0 x)))
% Found (eta_expansion_dep00 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found ((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> (((eq_trans0000 x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> ((((eq_trans000 x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((eq_trans00 x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> ((((((eq_trans0 x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) (fun (x:(fofType->Prop))=> (x0 x)))
% Found (eta_expansion_dep00 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found ((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> (((eq_trans0000 x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> ((((eq_trans000 x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((eq_trans00 x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> ((((((eq_trans0 x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eta_expansion000:=(eta_expansion00 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) (fun (x:(fofType->Prop))=> (x0 x)))
% Found (eta_expansion00 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eta_expansion0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> (((eq_trans0000 x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> ((((eq_trans000 x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((eq_trans00 x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> ((((((eq_trans0 x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) (fun (x:(fofType->Prop))=> (x0 x)))
% Found (eta_expansion_dep00 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found (((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((eq_trans00000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> (((eq_trans0000 x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x'))=> ((((eq_trans000 x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((eq_trans00 x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> ((((((eq_trans0 x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')) (x2:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x'))=> (((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') x1) x2) (fun (x4:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x4))))) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x1)->(P x1))
% Found (eq_ref00 P) as proof of ((P x1)->(P x'))
% Found ((eq_ref0 x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P x1))=> x2) as proof of (P x')
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P x1))=> x2) as proof of (P x')
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x1)->(P x1))
% Found (eq_ref00 P) as proof of ((P x1)->(P x'))
% Found ((eq_ref0 x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_sym00 x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_sym0 x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_sym00 x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_sym0 x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x1)->(P x1))
% Found (eq_ref00 P) as proof of ((P x1)->(P x'))
% Found ((eq_ref0 x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x1)->(P x1))
% Found (eq_ref00 P) as proof of ((P x1)->(P x'))
% Found ((eq_ref0 x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P x1))=> x2) as proof of (P x')
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P x1))=> x2) as proof of (P x')
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((eq_sym0000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_sym00 x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_sym0 x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_sym00 x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_sym0 x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))):(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found (eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found eq_ref00:=(eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))):(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found (eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion000:=(eta_expansion00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion0 Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym0000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found (eq_sym0000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((eq_sym0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym0000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((eq_sym0000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym00 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym0 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 a):(((eq Prop) a) a)
% Found (eq_ref0 a) as proof of (((eq Prop) a) b)
% Found ((eq_ref Prop) a) as proof of (((eq Prop) a) b)
% Found ((eq_ref Prop) a) as proof of (((eq Prop) a) b)
% Found ((eq_ref Prop) a) as proof of (((eq Prop) a) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found eq_ref00:=(eq_ref0 a):(((eq Prop) a) a)
% Found (eq_ref0 a) as proof of (((eq Prop) a) b)
% Found ((eq_ref Prop) a) as proof of (((eq Prop) a) b)
% Found ((eq_ref Prop) a) as proof of (((eq Prop) a) b)
% Found ((eq_ref Prop) a) as proof of (((eq Prop) a) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found ((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) P)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P x1)
% Found (fun (x20:(P x1))=> x20) as proof of (P0 x1)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion_dep00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (((eq_trans00000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> (((eq_trans0000 x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b)) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b) x'))=> ((((eq_trans000 x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b)) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((eq_trans00 x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> ((((((eq_trans0 x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20)) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of ((P x1)->(P x'))
% Found (fun (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')) (x3:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x'))=> (((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') x2) x3) (fun (x5:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P x1)->(P x5))))) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) (fun (x20:(P x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found or_ind:(forall (A:Prop) (B:Prop) (P:Prop), ((A->P)->((B->P)->(((or A) B)->P))))
% Instantiate: b:=(forall (A:Prop) (B:Prop) (P:Prop), ((A->P)->((B->P)->(((or A) B)->P)))):Prop
% Found or_ind as proof of b
% Found or_ind:(forall (A:Prop) (B:Prop) (P:Prop), ((A->P)->((B->P)->(((or A) B)->P))))
% Instantiate: b:=(forall (A:Prop) (B:Prop) (P:Prop), ((A->P)->((B->P)->(((or A) B)->P)))):Prop
% Found or_ind as proof of b
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found False:Prop
% Found False as proof of Prop
% Found (x200 False) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x20 Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (((x2 Xa) Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (((x2 Xa) Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((x2 Xa) Xb) False)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((x2 Xa) Xb) False)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found False:Prop
% Found False as proof of Prop
% Found (x200 False) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x20 Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (((x2 Xa) Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (((x2 Xa) Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((x2 Xa) Xb) False)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((x2 Xa) Xb) False)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found True:Prop
% Found True as proof of Prop
% Found (x1000 True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found True:Prop
% Found True as proof of Prop
% Found (x1000 True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found classical_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (b:B)=> ((fun (C:((forall (x:A), ((ex B) (fun (y:B)=> (((fun (x0:A) (y0:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y0))) x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((fun (x0:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y))) x) (f x)))))))=> (C (fun (x:A)=> ((fun (C0:((or ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))))=> ((((((or_ind ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) ((((ex_ind B) (fun (z:B)=> ((R x) z))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) (fun (y:B) (H:((R x) y))=> ((((ex_intro B) (fun (y0:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y0)))) y) (fun (_:((ex B) (fun (z:B)=> ((R x) z))))=> H))))) (fun (N:(not ((ex B) (fun (z:B)=> ((R x) z)))))=> ((((ex_intro B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))) b) (fun (H:((ex B) (fun (z:B)=> ((R x) z))))=> ((False_rect ((R x) b)) (N H)))))) C0)) (classic ((ex B) (fun (z:B)=> ((R x) z)))))))) (((choice A) B) (fun (x:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x))))))))
% Instantiate: a:=(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x)))))))):Prop
% Found classical_choice as proof of a
% Found classical_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (b:B)=> ((fun (C:((forall (x:A), ((ex B) (fun (y:B)=> (((fun (x0:A) (y0:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y0))) x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((fun (x0:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y))) x) (f x)))))))=> (C (fun (x:A)=> ((fun (C0:((or ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))))=> ((((((or_ind ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) ((((ex_ind B) (fun (z:B)=> ((R x) z))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) (fun (y:B) (H:((R x) y))=> ((((ex_intro B) (fun (y0:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y0)))) y) (fun (_:((ex B) (fun (z:B)=> ((R x) z))))=> H))))) (fun (N:(not ((ex B) (fun (z:B)=> ((R x) z)))))=> ((((ex_intro B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))) b) (fun (H:((ex B) (fun (z:B)=> ((R x) z))))=> ((False_rect ((R x) b)) (N H)))))) C0)) (classic ((ex B) (fun (z:B)=> ((R x) z)))))))) (((choice A) B) (fun (x:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x))))))))
% Instantiate: a:=(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x)))))))):Prop
% Found classical_choice as proof of a
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P0):((P0 x1)->(P0 x1))
% Found (eq_ref00 P0) as proof of ((P0 x1)->(P0 x'))
% Found ((eq_ref0 x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P0):((P0 x1)->(P0 x1))
% Found (eq_ref00 P0) as proof of ((P0 x1)->(P0 x'))
% Found ((eq_ref0 x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym100 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_sym10 x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_sym1 x') x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x')
% Found (eq_ref0 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym100 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_sym10 x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_sym1 x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x200:=(x20 Xa):((and (x Xa)) (x0 Xb))
% Found (x20 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xa):((and (x Xa)) (x0 Xb))
% Found (x20 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found a:=(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x)))))))):Prop
% Found a as proof of Prop
% Found (x200 a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x20 b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x)))))))):Prop
% Found a as proof of Prop
% Found (x200 a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x20 b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found a:=??:Prop
% Found a as proof of Prop
% Found a:=??:Prop
% Found a as proof of Prop
% Found ((x200 a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop)=> ((x20 b0) Xa)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=??:Prop
% Found a as proof of Prop
% Found a:=??:Prop
% Found a as proof of Prop
% Found ((x200 a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop)=> ((x20 b0) Xa)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found classical_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (b:B)=> ((fun (C:((forall (x:A), ((ex B) (fun (y:B)=> (((fun (x0:A) (y0:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y0))) x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((fun (x0:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y))) x) (f x)))))))=> (C (fun (x:A)=> ((fun (C0:((or ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))))=> ((((((or_ind ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) ((((ex_ind B) (fun (z:B)=> ((R x) z))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) (fun (y:B) (H:((R x) y))=> ((((ex_intro B) (fun (y0:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y0)))) y) (fun (_:((ex B) (fun (z:B)=> ((R x) z))))=> H))))) (fun (N:(not ((ex B) (fun (z:B)=> ((R x) z)))))=> ((((ex_intro B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))) b) (fun (H:((ex B) (fun (z:B)=> ((R x) z))))=> ((False_rect ((R x) b)) (N H)))))) C0)) (classic ((ex B) (fun (z:B)=> ((R x) z)))))))) (((choice A) B) (fun (x:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x))))))))
% Instantiate: b:=(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x)))))))):Prop
% Found classical_choice as proof of b
% Found classical_choice as proof of a
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xa):((and (x Xa)) (x0 Xb))
% Found (x20 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xb):((and (x Xa)) (x0 Xb))
% Found (x100 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=b:Prop
% Found a as proof of Prop
% Found (x200 a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x20 b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found classical_choice:=(fun (A:Type) (B:Type) (R:(A->(B->Prop))) (b:B)=> ((fun (C:((forall (x:A), ((ex B) (fun (y:B)=> (((fun (x0:A) (y0:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y0))) x) y))))->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((fun (x0:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x0) z)))->((R x0) y))) x) (f x)))))))=> (C (fun (x:A)=> ((fun (C0:((or ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))))=> ((((((or_ind ((ex B) (fun (z:B)=> ((R x) z)))) (not ((ex B) (fun (z:B)=> ((R x) z))))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) ((((ex_ind B) (fun (z:B)=> ((R x) z))) ((ex B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y))))) (fun (y:B) (H:((R x) y))=> ((((ex_intro B) (fun (y0:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y0)))) y) (fun (_:((ex B) (fun (z:B)=> ((R x) z))))=> H))))) (fun (N:(not ((ex B) (fun (z:B)=> ((R x) z)))))=> ((((ex_intro B) (fun (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))) b) (fun (H:((ex B) (fun (z:B)=> ((R x) z))))=> ((False_rect ((R x) b)) (N H)))))) C0)) (classic ((ex B) (fun (z:B)=> ((R x) z)))))))) (((choice A) B) (fun (x:A) (y:B)=> (((ex B) (fun (z:B)=> ((R x) z)))->((R x) y)))))):(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x))))))))
% Instantiate: b:=(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x)))))))):Prop
% Found classical_choice as proof of b
% Found classical_choice as proof of a
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xa):((and (x Xa)) (x0 Xb))
% Found (x20 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xb):((and (x Xa)) (x0 Xb))
% Found (x100 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=b:Prop
% Found a as proof of Prop
% Found (x200 a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x20 b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x2 Xb) b0) Xa)) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xb):((and (x Xa)) (x0 Xb))
% Found (x100 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xb):((and (x Xa)) (x0 Xb))
% Found (x100 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=b:Prop
% Found a as proof of Prop
% Found (x1000 a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x)))))))):Prop
% Found a as proof of Prop
% Found (x1000 a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=(forall (A:Type) (B:Type) (R:(A->(B->Prop))), (B->((ex (A->B)) (fun (f:(A->B))=> (forall (x:A), (((ex B) (fun (y:B)=> ((R x) y)))->((R x) (f x)))))))):Prop
% Found a as proof of Prop
% Found (x1000 a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=b:Prop
% Found a as proof of Prop
% Found (x1000 a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((fun (b0:Prop)=> ((x10 b0) Xa)) b0) Xb)) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found a:=??:Prop
% Found a as proof of Prop
% Found a:=??:Prop
% Found a as proof of Prop
% Found ((x1000 a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop) (a0:Prop)=> (((x100 b0) a0) Xb)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop) (a0:Prop)=> ((((fun (b0:Prop)=> ((x10 b0) Xa)) b0) a0) Xb)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop) (a0:Prop)=> ((((fun (b0:Prop)=> ((x10 b0) Xa)) b0) a0) Xb)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((fun (b0:Prop) (a0:Prop)=> ((((fun (b0:Prop)=> ((x10 b0) Xa)) b0) a0) Xb)) a) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((fun (b0:Prop) (a0:Prop)=> ((((fun (b0:Prop)=> ((x10 b0) Xa)) b0) a0) Xb)) a) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found a:=??:Prop
% Found a as proof of Prop
% Found a:=??:Prop
% Found a as proof of Prop
% Found ((x1000 a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop) (a0:Prop)=> (((x100 b0) a0) Xb)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop) (a0:Prop)=> ((((fun (b0:Prop)=> ((x10 b0) Xa)) b0) a0) Xb)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (((fun (b0:Prop) (a0:Prop)=> ((((fun (b0:Prop)=> ((x10 b0) Xa)) b0) a0) Xb)) a) a) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((fun (b0:Prop) (a0:Prop)=> ((((fun (b0:Prop)=> ((x10 b0) Xa)) b0) a0) Xb)) a) a)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((fun (b0:Prop) (a0:Prop)=> ((((fun (b0:Prop)=> ((x10 b0) Xa)) b0) a0) Xb)) a) a)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found iff_refl0:=(iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found iff_refl0:=(iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (iff_refl ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found x1:(P x0)
% Instantiate: x0:=x':((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:(P x0))=> x1) as proof of (P x')
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref000:=(eq_ref00 P):((P x0)->(P x0))
% Found (eq_ref00 P) as proof of ((P x0)->(P x'))
% Found ((eq_ref0 x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref000:=(eq_ref00 P):((P x0)->(P x0))
% Found (eq_ref00 P) as proof of ((P x0)->(P x'))
% Found ((eq_ref0 x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:(P x0)
% Instantiate: x0:=x':((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:(P x0))=> x1) as proof of (P x')
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P0):((P0 x1)->(P0 x1))
% Found (eq_ref00 P0) as proof of ((P0 x1)->(P0 x'))
% Found ((eq_ref0 x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P0):((P0 x1)->(P0 x1))
% Found (eq_ref00 P0) as proof of ((P0 x1)->(P0 x'))
% Found ((eq_ref0 x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found False:Prop
% Found False as proof of Prop
% Found (x200 False) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x20 Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (((x2 Xa) Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (((x2 Xa) Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((x2 Xa) Xb) False)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((x2 Xa) Xb) False)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found False:Prop
% Found False as proof of Prop
% Found (x200 False) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x20 Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (((x2 Xa) Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (((x2 Xa) Xb) False) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((x2 Xa) Xb) False)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> (((x2 Xa) Xb) False)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x200:=(x20 Xb):((and (x Xa)) (x0 Xb))
% Found (x20 Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x2 Xa) Xb) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x2:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x2 Xa) Xb)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_sym00 x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((eq_sym0 x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x')
% Found (eq_ref0 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((eq_sym00 x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((eq_sym0 x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x3:(fofType->Prop)) (x20:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x3 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((conj1 (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found x1:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x3:(fofType->Prop)) (x20:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x3 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((and (x Xa)) (B Xb)))=> x1) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((conj1 (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((((conj (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (fun (x1:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x1)) (fun (x1:((and (x Xa)) (B Xb)))=> x1)) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality_dep000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality_dep00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality_dep000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality_dep00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym100 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_sym10 x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_sym1 x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym100 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((eq_sym10 x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((eq_sym1 x') x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found True:Prop
% Found True as proof of Prop
% Found (x1000 True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found True:Prop
% Found True as proof of Prop
% Found (x1000 True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found True:Prop
% Found True as proof of Prop
% Found (x1000 True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found True:Prop
% Found True as proof of Prop
% Found (x1000 True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> ((x100 b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((fun (b0:Prop)=> (((x10 Xb) b0) Xa)) True)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double00000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality_double0000 x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality_double000 x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality_double00 Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double00000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((functional_extensionality_double0000 x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((functional_extensionality_double000 x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((functional_extensionality_double00 Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found x1000:=(x100 Xa):((and (x Xa)) (x0 Xb))
% Found (x100 Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found ((x10 Xb) Xa) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((and (x Xa)) (x0 Xb))
% Found (fun (x10:(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> ((x10 Xb) Xa)) as proof of ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P0):((P0 x1)->(P0 x1))
% Found (eq_ref00 P0) as proof of ((P0 x1)->(P0 x'))
% Found ((eq_ref0 x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P0):((P0 x1)->(P0 x1))
% Found (eq_ref00 P0) as proof of ((P0 x1)->(P0 x'))
% Found ((eq_ref0 x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) P0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x2:(P0 x1)
% Instantiate: x1:=x':(((fofType->(fofType->fofType))->fofType)->Prop)
% Found (fun (x2:(P0 x1))=> x2) as proof of (P0 x')
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)) (x2:(P0 x1))=> x2) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x00:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x2:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x2 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj1 (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((iff_sym0 ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found x00:((and (x Xa)) (B Xb))
% Instantiate: x0:=(fun (x2:(fofType->Prop)) (x10:((fofType->(fofType->fofType))->fofType))=> ((and (x Xa)) (x2 Xb))):((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((and (x Xa)) (B Xb)))=> x00) as proof of (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of ((and (x Xa)) (B Xb))
% Found (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00) as proof of (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))
% Found ((conj10 (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (((conj1 (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00)) as proof of ((iff ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_sym00 ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found ((iff_sym0 ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found (((iff_sym ((and (x Xa)) (B Xb))) ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((((conj (((and (x Xa)) (B Xb))->((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))) (((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (B Xb)))) (fun (x00:((and (x Xa)) (B Xb)))=> x00)) (fun (x00:((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))=> x00))) as proof of ((iff ((x0 B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))
% Found eq_ref00:=(eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))):(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found (eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b0)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b0)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b0)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b0)
% Found eq_ref00:=(eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))):(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found (eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b0)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b0)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b0)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b0)
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))):(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found (eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found (eq_sym0001 ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found (eq_sym0001 ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))):(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found (eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found (eq_sym0001 ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found (eq_sym0001 ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref000:=(eq_ref00 P):((P x0)->(P x0))
% Found (eq_ref00 P) as proof of ((P x0)->(P x'))
% Found ((eq_ref0 x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:(P x0)
% Instantiate: x0:=x':((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:(P x0))=> x1) as proof of (P x')
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x1:(P x0)
% Instantiate: x0:=x':((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))
% Found (fun (x1:(P x0))=> x1) as proof of (P x')
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)) (x1:(P x0))=> x1) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref000:=(eq_ref00 P):((P x0)->(P x0))
% Found (eq_ref00 P) as proof of ((P x0)->(P x'))
% Found ((eq_ref0 x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) P)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((eq_trans000 x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((eq_trans00 x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((eq_trans0 x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) b)
% Found (eq_ref0 b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b) x')
% Found eq_ref00:=(eq_ref0 x0):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) b)
% Found ((eq_trans0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((eq_trans000 x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) b)) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((eq_trans00 x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (((((eq_trans0 x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((((eq_trans ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x') ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_sym00 x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_sym0 x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((eq_sym00 x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_sym0 x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x')
% Found (eq_ref0 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (eq_sym0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x')
% Found (eq_ref0 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (eq_sym0000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) P)) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_sym0000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((eq_sym0000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') (fun (x:(fofType->Prop))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eta_expansion_dep0 (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_sym0000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((eq_sym0000 (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((eq_sym000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((eq_sym00 x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> ((((eq_sym0 x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0))=> (((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (((eta_expansion_dep (fofType->Prop)) (fun (x2:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x')) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 b0):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) x')
% Found eta_expansion000:=(eta_expansion00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eta_expansion0 Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 b0):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) x')
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) b0) x')
% Found eta_expansion000:=(eta_expansion00 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) (fun (x:((fofType->(fofType->fofType))->fofType))=> (x1 x)))
% Found (eta_expansion00 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eta_expansion0 Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found eq_ref00:=(eq_ref0 x1):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x1)
% Found (eq_ref0 x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) b0)
% Found ((eq_trans0000 ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((eq_trans000 x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) b0)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((eq_trans00 x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((eq_trans0 x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x')) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> ((((((eq_trans (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x') x') ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x1)) ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality0 Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((functional_extensionality_dep000 x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((functional_extensionality_dep00 x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found ((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb)))))=> (((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) P)) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion000:=(eta_expansion00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion0 Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym1000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P0 x1)->(P0 x'))
% Found (eq_sym1000 (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym100 x2) P0)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym10 x1) x2) P0)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym1 x') x1) x2) P0)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P0)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x')) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P0)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P0)) (((eta_expansion ((fofType->(fofType->fofType))->fofType)) Prop) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_dep00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality_dep0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality_dep000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality_dep00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality00000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((functional_extensionality0000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((functional_extensionality000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((functional_extensionality00 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> (((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x))))=> ((((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (eq_sym1000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P0 x1)->(P0 x'))
% Found (eq_sym1000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym100 x2) P0)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym10 x1) x2) P0)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym1 x') x1) x2) P0)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P0)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P0)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) P0)) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x'))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found iff_refl0:=(iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))):((iff (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found (iff_refl (x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) as proof of ((and ((x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))->((and (x Xa)) (x0 Xb)))) (((and (x Xa)) (x0 Xb))->(x1 (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))))
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found x10:(P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P x0)
% Found (fun (x10:(P x0))=> x10) as proof of (P0 x0)
% Found x20:(P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P1 x1)
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym1000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found ((eq_sym1000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym100 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym10 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym1 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P1 x1)
% Found eta_expansion_dep000:=(eta_expansion_dep00 x'):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') (fun (x:((fofType->(fofType->fofType))->fofType))=> (x' x)))
% Found (eta_expansion_dep00 x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eta_expansion_dep0 (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x') as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1)
% Found ((eq_sym1000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found ((eq_sym1000 (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((eq_sym100 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((eq_sym10 x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> ((((eq_sym1 x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1))=> (((((eq_sym (((fofType->(fofType->fofType))->fofType)->Prop)) x') x1) x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (((eta_expansion_dep ((fofType->(fofType->fofType))->fofType)) (fun (x3:((fofType->(fofType->fofType))->fofType))=> Prop)) x')) (fun (x20:(P0 x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> ((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) P)) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 ((x0 x1) y)):(((eq Prop) ((x0 x1) y)) ((x0 x1) y))
% Found (eq_ref0 ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found ((eq_ref Prop) ((x0 x1) y)) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (((eq Prop) ((x0 x1) y)) ((x' x1) y))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x1) y)) ((x' x1) y)))
% Found (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y))) as proof of (forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y)))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found ((functional_extensionality_double000000 (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((functional_extensionality_double00000 x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((functional_extensionality_double0000 x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((functional_extensionality_double000 x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((functional_extensionality_double00 Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> ((((((functional_extensionality_double0 ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10)) as proof of ((P x0)->(P x'))
% Found (fun (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of ((P x0)->(P x'))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb))))) (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop))=> (((fun (x1:(forall (x:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType)), (((eq Prop) ((x0 x) y)) ((x' x) y))))=> (((((((functional_extensionality_double (fofType->Prop)) ((fofType->(fofType->fofType))->fofType)) Prop) x0) x') x1) (fun (x3:((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop)))=> ((P x0)->(P x3))))) (fun (x1:(fofType->Prop)) (y:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) ((x0 x1) y)))) (fun (x10:(P x0))=> x10))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x')
% Found (eq_ref0 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_sym00 x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((eq_sym0 x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 x'):(((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x')
% Found (eq_ref0 x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0)
% Found (eq_sym000 ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((eq_sym00 x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((eq_sym0 x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x')) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> ((((eq_sym ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x') x0) ((eq_ref ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x'))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found (functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found (functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) P0)) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P1 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P1 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P1 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found ((functional_extensionality00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality0 Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality ((fofType->(fofType->fofType))->fofType)) Prop) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found x20:(P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P0 x1)
% Found (fun (x20:(P0 x1))=> x20) as proof of (P1 x1)
% Found eq_ref00:=(eq_ref0 (x1 x2)):(((eq Prop) (x1 x2)) (x1 x2))
% Found (eq_ref0 (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found ((eq_ref Prop) (x1 x2)) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (((eq Prop) (x1 x2)) (x' x2))
% Found (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2))) as proof of (forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x)))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found ((functional_extensionality_dep00000 (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((functional_extensionality_dep0000 x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((functional_extensionality_dep000 x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((functional_extensionality_dep00 x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> (((((functional_extensionality_dep0 (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20)) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> (((fun (x2:(forall (x:((fofType->(fofType->fofType))->fofType)), (((eq Prop) (x1 x)) (x' x))))=> ((((((functional_extensionality_dep ((fofType->(fofType->fofType))->fofType)) (fun (x4:((fofType->(fofType->fofType))->fofType))=> Prop)) x1) x') x2) (fun (x4:(((fofType->(fofType->fofType))->fofType)->Prop))=> ((P0 x1)->(P0 x4))))) (fun (x2:((fofType->(fofType->fofType))->fofType))=> ((eq_ref Prop) (x1 x2)))) (fun (x20:(P0 x1))=> x20))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality_dep00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality_dep0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality_dep000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality_dep00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality_dep0 (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality_dep (fofType->Prop)) (fun (x3:(fofType->Prop))=> (((fofType->(fofType->fofType))->fofType)->Prop))) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (x0 x1)):(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x0 x1))
% Found (eq_ref0 (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)) (x' x1))
% Found (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))) as proof of (forall (x:(fofType->Prop)), (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x)) (x' x)))
% Found (functional_extensionality0000 (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((functional_extensionality000 x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((functional_extensionality00 x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found ((((functional_extensionality0 (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1)))) as proof of (forall (P:(((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))->Prop)), ((P x0)->(P x')))
% Found (fun (x00:(forall (B:(fofType->Prop)) (Xa:fofType) (Xb:fofType), ((iff ((x' B) (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (B Xb)))))=> (((((functional_extensionality (fofType->Prop)) (((fofType->(fofType->fofType))->fofType)->Prop)) x0) x') (fun (x1:(fofType->Prop))=> ((eq_ref (((fofType->(fofType->fofType))->fofType)->Prop)) (x0 x1))))) as proof of (((eq ((fofType->Prop)->(((fofType->(fofType->fofType))->fofType)->Prop))) x0) x')
% Found eq_ref00:=(eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))):(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found (eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found (eq_sym0001 ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found (eq_sym0001 ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))))) as proof of (forall (P:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop)), ((P x1)->(P x')))
% Found (fun (x00:(forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))) (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))))) as proof of (((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')
% Found eq_ref00:=(eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))):(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))
% Found (eq_ref0 (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) as proof of (((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b)
% Found (eq_sym0001 ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found (eq_sym0001 ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x'))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))) b))=> ((eq_sym000 x2) (fun (x3:Prop)=> (P0 x1)))) ((eq_ref Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofType)->Prop)) x1) x')))))) as proof of ((P0 x1)->(P0 x'))
% Found (fun (P0:((((fofType->(fofType->fofType))->fofType)->Prop)->Prop))=> ((fun (x2:(((eq Prop) (forall (x':(((fofType->(fofType->fofType))->fofType)->Prop)), ((forall (Xa:fofType) (Xb:fofType), ((iff (x' (fun (G:(fofType->(fofType->fofType)))=> ((G Xa) Xb)))) ((and (x Xa)) (x0 Xb))))->(((eq (((fofType->(fofType->fofType))->fofT
% EOF
%------------------------------------------------------------------------------