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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEU942^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 : n186.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32286.75MB
% OS       : Linux 2.6.32-431.20.3.el6.x86_64
% CPULimit : 300s
% DateTime : Thu Jul 17 13:33:24 EDT 2014

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

% Comments : 
%------------------------------------------------------------------------------
%----ERROR: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEU942^5 : TPTP v6.1.0. Released v4.0.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n186.star.cs.uiowa.edu
% % Model    : x86_64 x86_64
% % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% % Memory   : 32286.75MB
% % OS       : Linux 2.6.32-431.20.3.el6.x86_64
% % CPULimit : 300
% % DateTime : Thu Jul 17 11:44:26 CDT 2014
% % CPUTime  : 193.85 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% FOF formula (forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))) of role conjecture named cTHM15B_pme
% Conjecture to prove = (forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))']
% Parameter fofType:Type.
% Trying to prove (forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion_dep000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion_dep00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion000:=(eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion0 Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 (f x0)):(((eq Prop) (f x0)) (f x0))
% Found (eq_ref0 (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (f x0)):(((eq Prop) (f x0)) (f x0))
% Found (eq_ref0 (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found ((eq_ref Prop) (f x0)) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (((eq Prop) (f x0)) (((eq fofType) (Xf x0)) x0))
% Found (fun (x0:fofType)=> ((eq_ref Prop) (f x0))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 (f x2)):(((eq Prop) (f x2)) (f x2))
% Found (eq_ref0 (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (f x2)):(((eq Prop) (f x2)) (f x2))
% Found (eq_ref0 (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (((eq fofType) (Xf x2)) x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P b)
% Found eta_expansion000:=(eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion0 Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found (fun (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of (P b)
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b)))
% Found (and_rect00 (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found ((and_rect0 (P b)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P b)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P b)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found (fun (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of (P b)
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P b)))
% Found (and_rect00 (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found ((and_rect0 (P b)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P b)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3)) as proof of (P b)
% Found (fun (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P b)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> x3))) as proof of (P b)
% Found eq_ref00:=(eq_ref0 (Xf x0)):(((eq fofType) (Xf x0)) (Xf x0))
% Found (eq_ref0 (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) (Xf x4)) x4))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f)))
% Found (and_rect00 (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x)))))))
% Found (eta_expansion000 (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f)))
% Found (and_rect00 (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f)))
% Found (and_rect00 (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (fun (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))))) as proof of (P f)
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->(P f)))
% Found (and_rect00 (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found ((and_rect0 (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)))) as proof of (P f)
% Found (fun (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P0:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P0)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P0) x2) x1)) (P f)) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0))))=> (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType))))) as proof of (P f)
% Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))
% Found (eq_ref00 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref00:=(eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eta_expansion000:=(eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (x:fofType)=> ((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))))
% Found (eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found ((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))):(((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))))
% Found (eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found eq_ref00:=(eq_ref0 (Xf x2)):(((eq fofType) (Xf x2)) (Xf x2))
% Found (eq_ref0 (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P b)
% Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 (Xf x0)):(((eq fofType) (Xf x0)) (Xf x0))
% Found (eq_ref0 (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found eq_ref00:=(eq_ref0 x0):(((eq fofType) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x6)):(((eq Prop) (f x6)) (f x6))
% Found (eq_ref0 (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found ((eq_ref Prop) (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found ((eq_ref Prop) (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found (fun (x6:fofType)=> ((eq_ref Prop) (f x6))) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found (fun (x6:fofType)=> ((eq_ref Prop) (f x6))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (f x6)):(((eq Prop) (f x6)) (f x6))
% Found (eq_ref0 (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found ((eq_ref Prop) (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found ((eq_ref Prop) (f x6)) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found (fun (x6:fofType)=> ((eq_ref Prop) (f x6))) as proof of (((eq Prop) (f x6)) (((eq fofType) (Xf x6)) x6))
% Found (fun (x6:fofType)=> ((eq_ref Prop) (f x6))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (x:fofType)=> (((eq fofType) (Xf x)) x))))
% Found (eta_expansion_dep000 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (x:fofType)=> (((eq fofType) (Xf x)) x))))
% Found (eta_expansion_dep000 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x)))
% Found (eta_expansion_dep00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found ((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) b) as proof of (((eq (fofType->Prop)) b) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Found eta_expansion000:=(eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion0 Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion fofType) Prop) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eta_expansion_dep0000:=(eta_expansion_dep000 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (x:fofType)=> (((eq fofType) (Xf x)) x))))
% Found (eta_expansion_dep000 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (x:fofType)=> (((eq fofType) (Xf x)) x))))
% Found (eta_expansion_dep000 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (x:fofType)=> (((eq fofType) (Xf x)) x))))
% Found (eta_expansion_dep000 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eta_expansion_dep0000:=(eta_expansion_dep000 P0):((P0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->(P0 (fun (x:fofType)=> (((eq fofType) (Xf x)) x))))
% Found (eta_expansion_dep000 P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) P0) as proof of (P1 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found eq_ref00:=(eq_ref0 (Xf x4)):(((eq fofType) (Xf x4)) (Xf x4))
% Found (eq_ref0 (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x4)
% Found eq_ref00:=(eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))):(((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))))
% Found (eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found eq_ref000:=(eq_ref00 P0):((P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))->(P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))
% Found (eq_ref00 P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref000:=(eq_ref00 P0):((P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))->(P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))
% Found (eq_ref00 P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref000:=(eq_ref00 P0):((P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))->(P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))
% Found (eq_ref00 P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref000:=(eq_ref00 P0):((P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))->(P0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))))
% Found (eq_ref00 P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found ((eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) P0) as proof of (P1 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))):(((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))):(((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))):(((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))):(((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3)))))
% Found (eq_ref0 ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found ((eq_ref Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) as proof of (((eq Prop) ((and (((eq fofType) (x0 x3)) x3)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x3))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (((eq fofType) (Xf x3)) x3))
% Found eq_ref00:=(eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))):(((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))))
% Found (eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x2))
% Found eq_ref00:=(eq_ref0 x2):(((eq fofType) x2) x2)
% Found (eq_ref0 x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found ((eq_ref fofType) x2) as proof of (((eq fofType) x2) b)
% Found eq_ref00:=(eq_ref0 (Xf x2)):(((eq fofType) (Xf x2)) (Xf x2))
% Found (eq_ref0 (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x2)
% Found eq_ref00:=(eq_ref0 (Xf x0)):(((eq fofType) (Xf x0)) (Xf x0))
% Found (eq_ref0 (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) x0)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P b)
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (Xf x)) x)))
% Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found ((eta_expansion_dep0 (fun (x9:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x9:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x9:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found (((eta_expansion_dep fofType) (fun (x9:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (Xf x0))
% Found eq_ref00:=(eq_ref0 x0):(((eq fofType) x0) x0)
% Found (eq_ref0 x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found ((eq_ref fofType) x0) as proof of (((eq fofType) x0) b)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))
% Instantiate: f:=(fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop)
% Found x3 as proof of (P f)
% Found eq_ref00:=(eq_ref0 (f x8)):(((eq Prop) (f x8)) (f x8))
% Found (eq_ref0 (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found ((eq_ref Prop) (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found ((eq_ref Prop) (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found (fun (x8:fofType)=> ((eq_ref Prop) (f x8))) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found (fun (x8:fofType)=> ((eq_ref Prop) (f x8))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (f x8)):(((eq Prop) (f x8)) (f x8))
% Found (eq_ref0 (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found ((eq_ref Prop) (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found ((eq_ref Prop) (f x8)) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found (fun (x8:fofType)=> ((eq_ref Prop) (f x8))) as proof of (((eq Prop) (f x8)) (((eq fofType) (Xf x8)) x8))
% Found (fun (x8:fofType)=> ((eq_ref Prop) (f x8))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) (Xf x)) x)))
% Found eq_ref00:=(eq_ref0 (Xf (Xf x8))):(((eq fofType) (Xf (Xf x8))) (Xf (Xf x8)))
% Found (eq_ref0 (Xf (Xf x8))) as proof of (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))
% Found ((eq_ref fofType) (Xf (Xf x8))) as proof of (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))
% Found ((eq_ref fofType) (Xf (Xf x8))) as proof of (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))
% Found eq_substitution00000:=(eq_substitution0000 Xf):((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))
% Found (eq_substitution0000 Xf) as proof of ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))
% Found ((eq_substitution000 (Xf (Xj x4))) Xf) as proof of ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))
% Found (((eq_substitution00 (Xj (Xf x8))) (Xf (Xj x4))) Xf) as proof of ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))
% Found ((((eq_substitution0 fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf) as proof of ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))
% Found (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf) as proof of ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))
% Found (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)) as proof of ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))
% Found (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)) as proof of (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))
% Found ((conj00 ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))) as proof of ((and (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))))
% Found (((conj0 (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))) as proof of ((and (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))))
% Found ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))) as proof of ((and (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))))
% Found ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))) as proof of ((and (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4)))))))
% Found (x20 ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)))) as proof of (((eq fofType) (x0 (Xf x8))) (Xf (x0 x4)))
% Found ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)))) as proof of (((eq fofType) (x0 (Xf x8))) (Xf (x0 x4)))
% Found ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)))) as proof of (((eq fofType) (x0 (Xf x8))) (Xf (x0 x4)))
% Found (x60 ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))))) as proof of (((eq fofType) (x0 (Xf x8))) (Xf x8))
% Found ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x8))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))))) as proof of (((eq fofType) (x0 (Xf x8))) (Xf x8))
% Found ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x8))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))))) as proof of (((eq fofType) (x0 (Xf x8))) (Xf x8))
% Found (x70 ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x8))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)))))) as proof of (((eq fofType) (Xf x8)) x8)
% Found ((x7 (Xf x8)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x8))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)))))) as proof of (((eq fofType) (Xf x8)) x8)
% Found ((x7 (Xf x8)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x8))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)))))) as proof of (((eq fofType) (Xf x8)) x8)
% Found ((x7 (Xf x8)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x8))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf)))))) as proof of (((eq fofType) (Xf x8)) x8)
% Found (ex_intro000 ((x7 (Xf x8)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x8))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x8))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x8))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x8))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x8)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x8)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((ex_intro00 x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((ex_intro0 (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))) as proof of ((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))) as proof of ((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))
% Found (and_rect10 (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((and_rect1 ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))) as proof of (((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))) as proof of (forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))
% Found (ex_ind10 (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((ex_ind1 ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))
% Found (and_rect00 (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((and_rect0 ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))))) as proof of (((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))))) as proof of (forall (x:(fofType->fofType)), (((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x Xz)) Xz)->(((eq fofType) Xz) Xx)))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))
% Found (ex_ind00 (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found ((ex_ind0 ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x:fofType), (((and (((eq fofType) (x0 x)) x)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (((fun (P:Prop) (x0:(forall (x:(fofType->fofType)), (((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x Xz)) Xz)->(((eq fofType) Xz) Xx)))))))->P)))=> (((((ex_ind (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) P) x0) x)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x1:fofType), (((and (((eq fofType) (x0 x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x1))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (x:((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> (((fun (P:Prop) (x0:(forall (x:(fofType->fofType)), (((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x Xz)) Xz)->(((eq fofType) Xz) Xx)))))))->P)))=> (((((ex_ind (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) P) x0) x)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x1:fofType), (((and (((eq fofType) (x0 x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x1))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))
% Found (fun (Xf:(fofType->fofType)) (x:((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> (((fun (P:Prop) (x0:(forall (x:(fofType->fofType)), (((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x Xz)) Xz)->(((eq fofType) Xz) Xx)))))))->P)))=> (((((ex_ind (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) P) x0) x)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x1:fofType), (((and (((eq fofType) (x0 x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x1))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))))))) as proof of (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))))
% Found (fun (Xf:(fofType->fofType)) (x:((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> (((fun (P:Prop) (x0:(forall (x:(fofType->fofType)), (((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x Xz)) Xz)->(((eq fofType) Xz) Xx)))))))->P)))=> (((((ex_ind (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) P) x0) x)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x1:fofType), (((and (((eq fofType) (x0 x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x1))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))))))) as proof of (forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx)))))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))))
% Got proof (fun (Xf:(fofType->fofType)) (x:((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> (((fun (P:Prop) (x0:(forall (x:(fofType->fofType)), (((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x Xz)) Xz)->(((eq fofType) Xz) Xx)))))))->P)))=> (((((ex_ind (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) P) x0) x)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x1:fofType), (((and (((eq fofType) (x0 x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x1))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))))))))
% Time elapsed = 192.239571s
% node=22094 cost=1376.000000 depth=51
% ::::::::::::::::::::::
% % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% % SZS output start Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% (fun (Xf:(fofType->fofType)) (x:((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))))=> (((fun (P:Prop) (x0:(forall (x:(fofType->fofType)), (((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x Xz)) Xz)->(((eq fofType) Xz) Xx)))))))->P)))=> (((((ex_ind (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp Xg)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (Xg Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (Xg Xz)) Xz)->(((eq fofType) Xz) Xx))))))))) P) x0) x)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x0:(fofType->fofType)) (x1:((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))))=> (((fun (P:Type) (x2:((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))->P)))=> (((((and_rect (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) ((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx))))))) P) x2) x1)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x2:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp Xf)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (Xf (Xj Xx)))))))->(Xp x0)))) (x3:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x4:(forall (x1:fofType), (((and (((eq fofType) (x0 x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x1))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (x0 Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x4) x3)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x4:fofType) (x5:((and (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))))=> (((fun (P:Type) (x6:((((eq fofType) (x0 x4)) x4)->((forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))->P)))=> (((((and_rect (((eq fofType) (x0 x4)) x4)) (forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4)))) P) x6) x5)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy)))) (fun (x6:(((eq fofType) (x0 x4)) x4)) (x7:(forall (Xz:fofType), ((((eq fofType) (x0 Xz)) Xz)->(((eq fofType) Xz) x4))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (Xf Xy)) Xy))) x4) ((x7 (Xf x4)) ((x6 (fun (x10:fofType)=> (((eq fofType) (x0 (Xf x4))) (Xf x10)))) ((x2 (fun (x9:(fofType->fofType))=> (((eq fofType) (x9 (Xf x4))) (Xf (x9 x4))))) ((((conj (((eq fofType) (Xf (Xf x4))) (Xf (Xf x4)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (Xf x4))) (Xf (Xj x4)))->(((eq fofType) (Xf (Xj (Xf x4)))) (Xf (Xf (Xj x4))))))) ((eq_ref fofType) (Xf (Xf x4)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf))))))))))))))))
% % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% EOF
%------------------------------------------------------------------------------