%------------------------------------------------------------------------------ % File : cocATP---0.2.0 % Problem : SEU944^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 : n185.star.cs.uiowa.edu % Model : x86_64 x86_64 % CPU : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz % Memory : 32286.75MB % OS : Linux 2.6.32-431.20.3.el6.x86_64 % CPULimit : 300s % DateTime : Thu Jul 17 13:33:25 EDT 2014 % Result : Theorem 194.26s % Output : Proof 194.26s % Verified : % SZS Type : None (Parsing solution fails) % Syntax : Number of formulae : 0 % Comments : %------------------------------------------------------------------------------ %----ERROR: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % % Problem : SEU944^5 : TPTP v6.1.0. Released v4.0.0. % % Command : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p % % Computer : n185.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:36 CDT 2014 % % CPUTime : 194.26 % 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 (fun (Xu:fofType)=> Xu))) (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 cTHM15C_pme % Conjecture to prove = (forall (Xf:(fofType->fofType)), (((ex (fofType->fofType)) (fun (Xg:(fofType->fofType))=> ((and (forall (Xp:((fofType->fofType)->Prop)), (((and (Xp (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (Xf x8)):(((eq fofType) (Xf x8)) (Xf x8)) % Found (eq_ref0 (Xf x8)) as proof of (((eq fofType) (Xf x8)) (Xf x8)) % Found ((eq_ref fofType) (Xf x8)) as proof of (((eq fofType) (Xf x8)) (Xf x8)) % Found ((eq_ref fofType) (Xf x8)) as proof of (((eq fofType) (Xf x8)) (Xf x8)) % 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 (Xf x2)):(((eq fofType) (Xf x2)) (Xf x2)) % Found (eq_ref0 (Xf x2)) as proof of (((eq fofType) (Xf x2)) (Xf x2)) % Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) (Xf x2)) % Found ((eq_ref fofType) (Xf x2)) as proof of (((eq fofType) (Xf x2)) (Xf x2)) % Found eq_ref00:=(eq_ref0 (Xf x6)):(((eq fofType) (Xf x6)) (Xf x6)) % Found (eq_ref0 (Xf x6)) as proof of (((eq fofType) (Xf x6)) (Xf x6)) % Found ((eq_ref fofType) (Xf x6)) as proof of (((eq fofType) (Xf x6)) (Xf x6)) % Found ((eq_ref fofType) (Xf x6)) as proof of (((eq fofType) (Xf x6)) (Xf x6)) % 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)) (Xf x4)) % Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) (Xf x4)) % Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) (Xf x4)) % Found eq_ref00:=(eq_ref0 (Xf x0)):(((eq fofType) (Xf x0)) (Xf x0)) % Found (eq_ref0 (Xf x0)) as proof of (((eq fofType) (Xf x0)) (Xf x0)) % Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) (Xf x0)) % Found ((eq_ref fofType) (Xf x0)) as proof of (((eq fofType) (Xf x0)) (Xf x0)) % 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 (Xf x4)):(((eq fofType) (Xf x4)) (Xf x4)) % Found (eq_ref0 (Xf x4)) as proof of (((eq fofType) (Xf x4)) (Xf x8)) % Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) (Xf x8)) % Found ((eq_ref fofType) (Xf x4)) as proof of (((eq fofType) (Xf x4)) (Xf x8)) % 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 x8)):(((eq fofType) (Xf x8)) (Xf x8)) % Found (eq_ref0 (Xf x8)) as proof of (((eq fofType) (Xf x8)) (Xf x4)) % Found ((eq_ref fofType) (Xf x8)) as proof of (((eq fofType) (Xf x8)) (Xf x4)) % Found ((eq_ref fofType) (Xf x8)) as proof of (((eq fofType) (Xf x8)) (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 x8))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))) as proof of ((and (((eq fofType) (Xf x8)) (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 x8))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))) as proof of ((and (((eq fofType) (Xf x8)) (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 x8)) (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 x8))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))) as proof of ((and (((eq fofType) (Xf x8)) (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 x8)) (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 x8))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x8))) (Xf (Xj x4))) Xf))) as proof of ((and (((eq fofType) (Xf x8)) (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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x8)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 x4))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (Xf x4))) (Xf (Xj x4))) Xf)))))))))))))))) % Time elapsed = 192.651061s % node=22194 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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 (fun (Xu:fofType)=> Xu))) (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 x4)) (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 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 %------------------------------------------------------------------------------