%------------------------------------------------------------------------------ % File : cocATP---0.2.0 % Problem : SEU943^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 : n109.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 55.75s % Output : Proof 55.75s % Verified : % SZS Type : None (Parsing solution fails) % Syntax : Number of formulae : 0 % Comments : %------------------------------------------------------------------------------ %----ERROR: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % % Problem : SEU943^5 : TPTP v6.1.0. Released v4.0.0. % % Command : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p % % Computer : n109.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:31 CDT 2014 % % CPUTime : 55.75 % Python 2.7.5 % Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/'] % FOF formula (<kernel.Constant object at 0x10e29e0>, <kernel.DependentProduct object at 0xe944d0>) of role type named f % Using role type % Declaring f:(fofType->fofType) % FOF formula (<kernel.Constant object at 0x10e2ab8>, <kernel.DependentProduct object at 0xe94998>) of role type named g % Using role type % Declaring g:(fofType->fofType) % FOF formula ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) of role conjecture named cTHM172_pme % Conjecture to prove = ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))):Prop % Parameter fofType_DUMMY:fofType. % We need to prove ['((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))'] % Parameter fofType:Type. % Parameter f:(fofType->fofType). % Parameter g:(fofType->fofType). % Trying to prove ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) % Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))))) % Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found ((eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))) % Found (eq_ref00 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found eq_ref000:=(eq_ref00 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))) % Found (eq_ref00 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found ((eq_ref0 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found (((eq_ref (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop) % Found x0 as proof of (P b) % Found eq_ref00:=(eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (eq_ref0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found ((eq_ref (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Instantiate: f0:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop) % Found x0 as proof of (P f0) % Found eq_ref00:=(eq_ref0 (f0 x1)):(((eq Prop) (f0 x1)) (f0 x1)) % Found (eq_ref0 (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1)) % Found ((eq_ref Prop) (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1)) % Found ((eq_ref Prop) (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1)) % Found (fun (x1:fofType)=> ((eq_ref Prop) (f0 x1))) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1)) % Found (fun (x1:fofType)=> ((eq_ref Prop) (f0 x1))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x))) % Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Instantiate: f0:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop) % Found x0 as proof of (P f0) % Found eq_ref00:=(eq_ref0 (f0 x1)):(((eq Prop) (f0 x1)) (f0 x1)) % Found (eq_ref0 (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1)) % Found ((eq_ref Prop) (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1)) % Found ((eq_ref Prop) (f0 x1)) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1)) % Found (fun (x1:fofType)=> ((eq_ref Prop) (f0 x1))) as proof of (((eq Prop) (f0 x1)) (((eq fofType) (f x1)) x1)) % Found (fun (x1:fofType)=> ((eq_ref Prop) (f0 x1))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x))) % Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (x:fofType)=> ((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x)))))) % Found (eta_expansion_dep00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found ((eta_expansion_dep0 (fun (x1:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found (((eta_expansion_dep fofType) (fun (x1:fofType)=> Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found eta_expansion000:=(eta_expansion00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x))) % Found (eta_expansion00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found ((eta_expansion0 Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found eta_expansion0000:=(eta_expansion000 (ex fofType)):(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (x:fofType)=> ((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))))) % Found (eta_expansion000 (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found ((eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found (((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found ((((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (ex fofType)) as proof of (P (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Found eta_expansion000:=(eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))):(((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) (fun (x:fofType)=> ((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x)))))) % Found (eta_expansion00 (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found ((eta_expansion0 Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found (((eta_expansion fofType) Prop) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) as proof of (((eq (fofType->Prop)) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) b) % Found eta_expansion000:=(eta_expansion00 b):(((eq (fofType->Prop)) b) (fun (x:fofType)=> (b x))) % Found (eta_expansion00 b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found ((eta_expansion0 Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((eta_expansion fofType) Prop) b) as proof of (((eq (fofType->Prop)) b) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found eq_ref00:=(eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))):(((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) % Found (eq_ref0 ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) b) % Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) b) % Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) b) % Found ((eq_ref Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) as proof of (((eq Prop) ((fofType->fofType)->(((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))))) b) % Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Instantiate: b:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop) % Found x0 as proof of (P b) % Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))):(((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) (fun (x:fofType)=> (((eq fofType) (f x)) x))) % Found (eta_expansion_dep00 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found ((eta_expansion_dep0 (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found (((eta_expansion_dep fofType) (fun (x4:fofType)=> Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) as proof of (((eq (fofType->Prop)) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) b) % Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Instantiate: f0:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop) % Found x0 as proof of (P f0) % Found eq_ref00:=(eq_ref0 (f0 x3)):(((eq Prop) (f0 x3)) (f0 x3)) % Found (eq_ref0 (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3)) % Found ((eq_ref Prop) (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3)) % Found ((eq_ref Prop) (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3)) % Found (fun (x3:fofType)=> ((eq_ref Prop) (f0 x3))) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3)) % Found (fun (x3:fofType)=> ((eq_ref Prop) (f0 x3))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x))) % Found x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) % Instantiate: f0:=(fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))):(fofType->Prop) % Found x0 as proof of (P f0) % Found eq_ref00:=(eq_ref0 (f0 x3)):(((eq Prop) (f0 x3)) (f0 x3)) % Found (eq_ref0 (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3)) % Found ((eq_ref Prop) (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3)) % Found ((eq_ref Prop) (f0 x3)) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3)) % Found (fun (x3:fofType)=> ((eq_ref Prop) (f0 x3))) as proof of (((eq Prop) (f0 x3)) (((eq fofType) (f x3)) x3)) % Found (fun (x3:fofType)=> ((eq_ref Prop) (f0 x3))) as proof of (forall (x:fofType), (((eq Prop) (f0 x)) (((eq fofType) (f x)) x))) % Found eq_ref00:=(eq_ref0 (f (f x5))):(((eq fofType) (f (f x5))) (f (f x5))) % Found (eq_ref0 (f (f x5))) as proof of (((eq fofType) (f (f x5))) (f (f x1))) % Found ((eq_ref fofType) (f (f x5))) as proof of (((eq fofType) (f (f x5))) (f (f x1))) % Found ((eq_ref fofType) (f (f x5))) as proof of (((eq fofType) (f (f x5))) (f (f x1))) % Found eq_substitution00000:=(eq_substitution0000 f):((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))) % Found (eq_substitution0000 f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))) % Found ((eq_substitution000 (f (Xj x1))) f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))) % Found (((eq_substitution00 (Xj (f x5))) (f (Xj x1))) f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))) % Found ((((eq_substitution0 fofType) (Xj (f x5))) (f (Xj x1))) f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))) % Found (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))) % Found (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)) as proof of ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))) % Found (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)) as proof of (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1)))))) % Found ((conj00 ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))) as proof of ((and (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) % Found (((conj0 (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))) as proof of ((and (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) % Found ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))) as proof of ((and (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) % Found ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))) as proof of ((and (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) % Found (x6 ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))) as proof of (((eq fofType) (g (f x5))) (f (g x1))) % Found ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))) as proof of (((eq fofType) (g (f x5))) (f (g x1))) % Found ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))) as proof of (((eq fofType) (g (f x5))) (f (g x1))) % Found (x30 ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))))) as proof of (((eq fofType) (g (f x5))) (f x5)) % Found ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))))) as proof of (((eq fofType) (g (f x5))) (f x5)) % Found ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))))) as proof of (((eq fofType) (g (f x5))) (f x5)) % Found (x40 ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))))) as proof of (((eq fofType) (f x5)) x5) % Found ((x4 (f x5)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))))) as proof of (((eq fofType) (f x5)) x5) % Found ((x4 (f x5)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))))) as proof of (((eq fofType) (f x5)) x5) % Found ((x4 (f x5)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f)))))) as proof of (((eq fofType) (f x5)) x5) % Found (ex_intro000 ((x4 (f x5)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x5))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x5))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x5))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x5))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x5)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x5)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x5))) (f (Xj x1))) f))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found ((ex_intro00 x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((ex_intro0 (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (fun (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))) as proof of ((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) % Found (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))) as proof of ((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) % Found (and_rect00 (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found ((and_rect0 ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (fun (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))) as proof of (((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) % Found (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))) as proof of (forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) % Found (ex_ind00 (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found ((ex_ind0 ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (fun (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))))) as proof of ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) % Found (fun (x:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))) (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))))) as proof of (((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) % Found (fun (x:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))) (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))))) as proof of ((forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))->(((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx))))))->((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))))) % Got proof (fun (x:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))) (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))))) % Time elapsed = 55.026395s % node=7416 cost=760.000000 depth=39 % :::::::::::::::::::::: % % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p % % SZS output start Proof for /export/starexec/sandbox/benchmark/theBenchmark.p % (fun (x:(forall (Xp:((fofType->fofType)->Prop)), (((and (Xp f)) (forall (Xj:(fofType->fofType)), ((Xp Xj)->(Xp (fun (Xx:fofType)=> (f (Xj Xx)))))))->(Xp g)))) (x0:((ex fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))))=> (((fun (P:Prop) (x1:(forall (x:fofType), (((and (((eq fofType) (g x)) x)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x))))->P)))=> (((((ex_ind fofType) (fun (Xx:fofType)=> ((and (((eq fofType) (g Xx)) Xx)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) Xx)))))) P) x1) x0)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x1:fofType) (x2:((and (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))))=> (((fun (P:Type) (x3:((((eq fofType) (g x1)) x1)->((forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))->P)))=> (((((and_rect (((eq fofType) (g x1)) x1)) (forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1)))) P) x3) x2)) ((ex fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy)))) (fun (x3:(((eq fofType) (g x1)) x1)) (x4:(forall (Xz:fofType), ((((eq fofType) (g Xz)) Xz)->(((eq fofType) Xz) x1))))=> ((((ex_intro fofType) (fun (Xy:fofType)=> (((eq fofType) (f Xy)) Xy))) x1) ((x4 (f x1)) ((x3 (fun (x7:fofType)=> (((eq fofType) (g (f x1))) (f x7)))) ((x (fun (x7:(fofType->fofType))=> (((eq fofType) (x7 (f x1))) (f (x7 x1))))) ((((conj (((eq fofType) (f (f x1))) (f (f x1)))) (forall (Xj:(fofType->fofType)), ((((eq fofType) (Xj (f x1))) (f (Xj x1)))->(((eq fofType) (f (Xj (f x1)))) (f (f (Xj x1))))))) ((eq_ref fofType) (f (f x1)))) (fun (Xj:(fofType->fofType))=> (((((eq_substitution fofType) fofType) (Xj (f x1))) (f (Xj x1))) f)))))))))))) % % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p % EOF %------------------------------------------------------------------------------