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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEV087^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 : n116.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:43 EDT 2014

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

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEV087^5 : TPTP v6.1.0. Released v4.0.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n116.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 07:59:11 CDT 2014
% % CPUTime  : 300.09 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% FOF formula ((ex ((fofType->Prop)->((fofType->Prop)->Prop))) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) of role conjecture named cTHM120H_pme
% Conjecture to prove = ((ex ((fofType->Prop)->((fofType->Prop)->Prop))) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['((ex ((fofType->Prop)->((fofType->Prop)->Prop))) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))']
% Parameter fofType:Type.
% Trying to prove ((ex ((fofType->Prop)->((fofType->Prop)->Prop))) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found eq_ref00:=(eq_ref0 (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))):(((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found (eq_ref0 (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) b)
% Found eq_ref00:=(eq_ref0 (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))):(((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found (eq_ref0 (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y)))))) b)
% Found eq_sym00000:=(eq_sym0000 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0000 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (eq_sym000 (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found ((eq_sym00 X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (((eq_sym0 Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (x0:((and ((x X) Y)) ((x Y) X)))=> ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X)))=> ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found x0:((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))
% Found x0 as proof of False
% Found (fun (x0:((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))=> x0) as proof of False
% Found (fun (x0:((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))=> x0) as proof of (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)
% Found eq_sym00000:=(eq_sym0000 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0000 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (eq_sym000 (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found ((eq_sym00 X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (((eq_sym0 Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (x0:((and ((x X) Y)) ((x Y) X)))=> ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X)))=> ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found x0:((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))
% Found x0 as proof of False
% Found (fun (x0:((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))=> x0) as proof of False
% Found (fun (x0:((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))=> x0) as proof of (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eta_expansion000:=(eta_expansion00 X):(((eq (fofType->Prop)) X) (fun (x:fofType)=> (X x)))
% Found (eta_expansion00 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eta_expansion0 Prop) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eta_expansion_dep000:=(eta_expansion_dep00 X):(((eq (fofType->Prop)) X) (fun (x:fofType)=> (X x)))
% Found (eta_expansion_dep00 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_trans0000:=(eq_trans000 Y):((((eq (fofType->Prop)) X) b)->((((eq (fofType->Prop)) b) Y)->(((eq (fofType->Prop)) X) Y)))
% Instantiate: x:=(fun (x2:(fofType->Prop)) (x10:(fofType->Prop))=> (((eq (fofType->Prop)) x2) b)):((fofType->Prop)->((fofType->Prop)->Prop))
% Found eq_trans0000 as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) X) b)))
% Found (and_rect00 eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((and_rect0 (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_trans0000 (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of (((eq (fofType->Prop)) X) Y)
% Found (((eq_trans000 Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) (eq_trans000 Y))) ((eq_ref (fofType->Prop)) b)) as proof of (((eq (fofType->Prop)) X) Y)
% Found ((((eq_trans00 Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((eq_trans00 Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (((eq (fofType->Prop)) X) Y)
% Found (((((eq_trans0 X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) (((eq_trans0 X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (((eq (fofType->Prop)) X) Y)
% Found ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (x0:((and ((x X) Y)) ((x Y) X)))=> ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y))) as proof of (((eq (fofType->Prop)) X) Y)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_trans0000:=(eq_trans000 Y):((((eq (fofType->Prop)) X) b)->((((eq (fofType->Prop)) b) Y)->(((eq (fofType->Prop)) X) Y)))
% Instantiate: x:=(fun (x2:(fofType->Prop)) (x10:(fofType->Prop))=> (((eq (fofType->Prop)) x2) b)):((fofType->Prop)->((fofType->Prop)->Prop))
% Found eq_trans0000 as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) X) b)))
% Found (and_rect00 eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((and_rect0 (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_trans0000 (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of (((eq (fofType->Prop)) X) Y)
% Found (((eq_trans000 Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) (eq_trans000 Y))) ((eq_ref (fofType->Prop)) b)) as proof of (((eq (fofType->Prop)) X) Y)
% Found ((((eq_trans00 Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((eq_trans00 Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (((eq (fofType->Prop)) X) Y)
% Found (((((eq_trans0 X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) (((eq_trans0 X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (((eq (fofType->Prop)) X) Y)
% Found ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (x0:((and ((x X) Y)) ((x Y) X)))=> ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y))) as proof of (((eq (fofType->Prop)) X) Y)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eta_expansion_dep000:=(eta_expansion_dep00 X):(((eq (fofType->Prop)) X) (fun (x:fofType)=> (X x)))
% Found (eta_expansion_dep00 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eta_expansion_dep0 (fun (x2:fofType)=> Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion_dep fofType) (fun (x2:fofType)=> Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found eta_expansion000:=(eta_expansion00 a):(((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) (fun (x:((fofType->Prop)->((fofType->Prop)->Prop)))=> (a x)))
% Found (eta_expansion00 a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found ((eta_expansion0 Prop) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found (((eta_expansion ((fofType->Prop)->((fofType->Prop)->Prop))) Prop) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found (((eta_expansion ((fofType->Prop)->((fofType->Prop)->Prop))) Prop) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found (((eta_expansion ((fofType->Prop)->((fofType->Prop)->Prop))) Prop) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found eq_ref00:=(eq_ref0 a):(((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) a)
% Found (eq_ref0 a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found (eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((eq_sym000 x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((eq_sym000 x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found eq_ref00:=(eq_ref0 (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))):(((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))
% Found (eq_ref0 (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) as proof of (((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) b)
% Found ((eq_ref Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) as proof of (((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) b)
% Found ((eq_ref Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) as proof of (((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) b)
% Found ((eq_ref Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) as proof of (((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) b)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) b) (fun (R:((fofType->Prop)->((fofType->Prop)->Prop)))=> ((and ((and ((and (not ((R (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((R Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((R Xx) Xy)) ((R Xy) Xz))->((R Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((R X) Y)) ((R Y) X))->(((eq (fofType->Prop)) X) Y))))))
% Found eq_ref00:=(eq_ref0 a):(((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) a)
% Found (eq_ref0 a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found ((eq_ref (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) as proof of (((eq (((fofType->Prop)->((fofType->Prop)->Prop))->Prop)) a) b)
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))):(((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))
% Found (eq_ref0 (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) as proof of (((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) b)
% Found ((eq_ref Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) as proof of (((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) b)
% Found ((eq_ref Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) as proof of (((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) b)
% Found ((eq_ref Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) as proof of (((eq Prop) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))) b)
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found (eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((eq_sym000 x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((eq_sym000 x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq (fofType->Prop)) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_sym00000:=(eq_sym0000 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0000 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (eq_sym000 (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((eq_sym00 X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (((eq_sym0 Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X)))=> ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X)))=> ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq (fofType->Prop)) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found eq_sym00000:=(eq_sym0000 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0000 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (eq_sym000 (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((eq_sym00 X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (((eq_sym0 Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X)))=> ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X)))=> ((((eq_sym (fofType->Prop)) Y) X) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_trans0000 ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((eq_trans000 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((eq_trans00 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((((eq_trans0 (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_trans0000 ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((eq_trans000 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((eq_trans00 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((((eq_trans0 (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found x10:(P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P0 Y)
% Found x10:(P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P0 Y)
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_trans0000 ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((eq_trans000 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((eq_trans00 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((((eq_trans0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_trans0000 ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((eq_trans000 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((eq_trans00 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((((eq_trans0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found x01:(P0 (f x))
% Found (fun (x01:(P0 (f x)))=> x01) as proof of (P0 (f x))
% Found (fun (x01:(P0 (f x)))=> x01) as proof of (P1 (f x))
% Found x01:(P0 (f x))
% Found (fun (x01:(P0 (f x)))=> x01) as proof of (P0 (f x))
% Found (fun (x01:(P0 (f x)))=> x01) as proof of (P1 (f x))
% Found and_rect0000:=(and_rect000 (fun (x2:Prop)=> ((x Y) X))):(((x Y) X)->((x Y) X))
% Found (and_rect000 (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) b) (Y x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found ((and_rect0 (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> (((and_rect0 (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_trans0000 ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_trans000 (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (eq_trans000 (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_trans00 (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) ((eq_trans00 (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((((eq_trans0 (X x1)) (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (((eq_trans0 (X x1)) (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((((eq_trans Prop) (X x1)) (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) ((((eq_trans Prop) (X x1)) (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found and_rect0000:=(and_rect000 (fun (x2:Prop)=> ((x Y) X))):(((x Y) X)->((x Y) X))
% Found (and_rect000 (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) b) (Y x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found ((and_rect0 (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> (((and_rect0 (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_trans0000 ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_trans000 (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (eq_trans000 (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_trans00 (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) ((eq_trans00 (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((((eq_trans0 (X x1)) (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (((eq_trans0 (X x1)) (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((((eq_trans Prop) (X x1)) (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) ((((eq_trans Prop) (X x1)) (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x10:(P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P0 Y)
% Found x10:(P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P0 Y)
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eta_expansion000:=(eta_expansion00 X):(((eq (fofType->Prop)) X) (fun (x:fofType)=> (X x)))
% Found (eta_expansion00 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eta_expansion0 Prop) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x01:(P0 (f x))
% Found (fun (x01:(P0 (f x)))=> x01) as proof of (P0 (f x))
% Found (fun (x01:(P0 (f x)))=> x01) as proof of (P1 (f x))
% Found x01:(P0 (f x))
% Found (fun (x01:(P0 (f x)))=> x01) as proof of (P0 (f x))
% Found (fun (x01:(P0 (f x)))=> x01) as proof of (P1 (f x))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found and_rect0000:=(and_rect000 (fun (x2:Prop)=> ((x Y) X))):(((x Y) X)->((x Y) X))
% Found (and_rect000 (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) b) (Y x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((and_rect00 eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found ((and_rect0 (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> (((and_rect0 (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X))))) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_trans0000 ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) eq_trans0000) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_trans000 (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (eq_trans000 (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_trans00 (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) ((eq_trans00 (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((((eq_trans0 (X x1)) (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (((eq_trans0 (X x1)) (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((((eq_trans Prop) (X x1)) (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) ((((eq_trans Prop) (X x1)) (X x1)) (Y x1))) (fun (x2:Prop)=> ((x Y) X)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_trans00010:=(eq_trans0001 (Y x1)):((((eq Prop) b) (Y x1))->(((eq Prop) (X x1)) (Y x1)))
% Found (eq_trans0001 (Y x1)) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1)) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1)) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1))) as proof of (((x Y) X)->(((eq Prop) b) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) b) (Y x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1)))) as proof of (((eq Prop) b) (Y x1))
% Found ((and_rect0 (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1)))) as proof of (((eq Prop) b) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1)))) as proof of (((eq Prop) b) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1)))) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_trans0000 ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_trans000 (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) b) (Y x1))) (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((eq_trans000 c) x00)) (Y x1))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_trans00 (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((fun (c:Prop)=> (((eq_trans00 (X x1)) c) x00)) (Y x1))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((((eq_trans0 (X x1)) (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((fun (c:Prop)=> ((((eq_trans0 (X x1)) (X x1)) c) x00)) (Y x1))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((((eq_trans Prop) (X x1)) (X x1)) (Y x1)) ((eq_ref Prop) (X x1))) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((fun (c:Prop)=> (((((eq_trans Prop) (X x1)) (X x1)) c) x00)) (Y x1))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x1:(P X)
% Instantiate: b:=X:(fofType->Prop)
% Found x1 as proof of (P0 b)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 Y):(((eq (fofType->Prop)) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found x1:(P X)
% Instantiate: f:=X:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x1:(P X)
% Instantiate: f:=X:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x1:(P X)
% Instantiate: b:=X:(fofType->Prop)
% Found x1 as proof of (P0 b)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 Y):(((eq (fofType->Prop)) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found eq_trans0000:=(eq_trans000 Y):((((eq (fofType->Prop)) X) b)->((((eq (fofType->Prop)) b) Y)->(((eq (fofType->Prop)) X) Y)))
% Instantiate: x:=(fun (x2:(fofType->Prop)) (x10:(fofType->Prop))=> (((eq (fofType->Prop)) x2) b)):((fofType->Prop)->((fofType->Prop)->Prop))
% Found eq_trans0000 as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) X) b)))
% Found (and_rect00 eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((and_rect0 (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_trans0000 (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (((eq_trans000 Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) (eq_trans000 Y))) ((eq_ref (fofType->Prop)) b)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((eq_trans00 Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((eq_trans00 Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (((((eq_trans0 X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) (((eq_trans0 X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X)))=> ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y))) as proof of (((eq (fofType->Prop)) X) Y)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found eq_ref00:=(eq_ref0 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))):(((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (eq_ref0 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found eq_ref00:=(eq_ref0 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))):(((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (eq_ref0 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) 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)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (Y 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)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (Y x)))
% Found x1:(P X)
% Instantiate: f:=X:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x1:(P X)
% Instantiate: f:=X:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_trans0000:=(eq_trans000 Y):((((eq (fofType->Prop)) X) b)->((((eq (fofType->Prop)) b) Y)->(((eq (fofType->Prop)) X) Y)))
% Instantiate: x:=(fun (x2:(fofType->Prop)) (x10:(fofType->Prop))=> (((eq (fofType->Prop)) x2) b)):((fofType->Prop)->((fofType->Prop)->Prop))
% Found eq_trans0000 as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) X) b)))
% Found (and_rect00 eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((and_rect0 (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_trans0000 (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (((eq_trans000 Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) b)) (eq_trans000 Y))) ((eq_ref (fofType->Prop)) b)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((eq_trans00 Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((eq_trans00 Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (((((eq_trans0 X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) (((eq_trans0 X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X)))=> ((((((eq_trans (fofType->Prop)) X) Y) Y) (((fun (P:Type) (x1:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y))) as proof of (((eq (fofType->Prop)) X) Y)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))):(((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (eq_ref0 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (f x))
% Found eq_ref00:=(eq_ref0 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))):(((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (eq_ref0 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) 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)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (Y 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)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (Y x)))
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found eq_trans0000:=(eq_trans000 Y):((((eq (fofType->Prop)) X) b)->((((eq (fofType->Prop)) b) Y)->(((eq (fofType->Prop)) X) Y)))
% Instantiate: x:=(fun (x2:(fofType->Prop)) (x10:(fofType->Prop))=> (((eq (fofType->Prop)) x2) b)):((fofType->Prop)->((fofType->Prop)->Prop))
% Found eq_trans0000 as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) X) b)))
% Found (and_rect00 eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((and_rect0 (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eq_trans00000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((eq_trans00000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) b)) (x2:(((eq (fofType->Prop)) b) Y))=> (((eq_trans0000 x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) b)) (x2:(((eq (fofType->Prop)) b) Y))=> ((((eq_trans000 Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) (eq_trans000 Y))) ((eq_ref (fofType->Prop)) b)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((eq_trans00 Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((eq_trans00 Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> ((((((eq_trans0 X) Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) (((eq_trans0 X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10))) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10))) as proof of (((eq (fofType->Prop)) X) Y)
% Found eq_trans0000:=(eq_trans000 Y):((((eq (fofType->Prop)) X) b)->((((eq (fofType->Prop)) b) Y)->(((eq (fofType->Prop)) X) Y)))
% Instantiate: x:=(fun (x2:(fofType->Prop)) (x10:(fofType->Prop))=> (((eq (fofType->Prop)) x2) b)):((fofType->Prop)->((fofType->Prop)->Prop))
% Found eq_trans0000 as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) X) b)))
% Found (and_rect00 eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((and_rect0 (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_trans00000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of ((P X)->(P Y))
% Found ((eq_trans00000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) b)) (x2:(((eq (fofType->Prop)) b) Y))=> (((eq_trans0000 x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) b)) (x2:(((eq (fofType->Prop)) b) Y))=> ((((eq_trans000 Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) (eq_trans000 Y))) ((eq_ref (fofType->Prop)) b)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((eq_trans00 Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((eq_trans00 Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> ((((((eq_trans0 X) Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) (((eq_trans0 X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y))) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y))) as proof of (((eq (fofType->Prop)) X) Y)
% Found x20:(P (Y x1))
% Found (fun (x20:(P (Y x1)))=> x20) as proof of (P (Y x1))
% Found (fun (x20:(P (Y x1)))=> x20) as proof of (P0 (Y x1))
% Found x20:(P (Y x1))
% Found (fun (x20:(P (Y x1)))=> x20) as proof of (P (Y x1))
% Found (fun (x20:(P (Y x1)))=> x20) as proof of (P0 (Y x1))
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found (eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((eq_sym000 x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((eq_sym00 (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((((eq_sym0 (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found (fun (P:(Prop->Prop))=> ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))))) as proof of ((P (X x1))->(P (Y x1)))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((eq_sym000 x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((eq_sym00 (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((((eq_sym0 (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (fun (P:(Prop->Prop))=> (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20))) as proof of ((P (X x1))->(P (Y x1)))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found (eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((eq_sym000 x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((eq_sym00 (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((((eq_sym0 (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found (fun (P:(Prop->Prop))=> ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))))) as proof of ((P (X x1))->(P (Y x1)))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((eq_sym000 x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((eq_sym00 (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((((eq_sym0 (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (fun (P:(Prop->Prop))=> (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20))) as proof of ((P (X x1))->(P (Y x1)))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found x1:(P X)
% Instantiate: b:=X:(fofType->Prop)
% Found x1 as proof of (P0 b)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eta_expansion_dep000:=(eta_expansion_dep00 Y):(((eq (fofType->Prop)) Y) (fun (x:fofType)=> (Y x)))
% Found (eta_expansion_dep00 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eta_expansion_dep0 (fun (x3:fofType)=> Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found eq_trans0000:=(eq_trans000 Y):((((eq (fofType->Prop)) X) b)->((((eq (fofType->Prop)) b) Y)->(((eq (fofType->Prop)) X) Y)))
% Instantiate: x:=(fun (x2:(fofType->Prop)) (x10:(fofType->Prop))=> (((eq (fofType->Prop)) x2) b)):((fofType->Prop)->((fofType->Prop)->Prop))
% Found eq_trans0000 as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) X) b)))
% Found (and_rect00 eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((and_rect0 (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((eq_trans00000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((eq_trans00000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) b)) (x2:(((eq (fofType->Prop)) b) Y))=> (((eq_trans0000 x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) b)) (x2:(((eq (fofType->Prop)) b) Y))=> ((((eq_trans000 Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) (eq_trans000 Y))) ((eq_ref (fofType->Prop)) b)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((eq_trans00 Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((eq_trans00 Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> ((((((eq_trans0 X) Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) (((eq_trans0 X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10))) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) (fun (x4:(fofType->Prop))=> ((P X)->(P x4))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) (fun (x10:(P X))=> x10))) as proof of (((eq (fofType->Prop)) X) Y)
% Found eq_trans0000:=(eq_trans000 Y):((((eq (fofType->Prop)) X) b)->((((eq (fofType->Prop)) b) Y)->(((eq (fofType->Prop)) X) Y)))
% Instantiate: x:=(fun (x2:(fofType->Prop)) (x10:(fofType->Prop))=> (((eq (fofType->Prop)) x2) b)):((fofType->Prop)->((fofType->Prop)->Prop))
% Found eq_trans0000 as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) X) b)))
% Found (and_rect00 eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((and_rect0 (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_trans00000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of ((P X)->(P Y))
% Found ((eq_trans00000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) b)) (x2:(((eq (fofType->Prop)) b) Y))=> (((eq_trans0000 x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) eq_trans0000)) ((eq_ref (fofType->Prop)) b)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) b)) (x2:(((eq (fofType->Prop)) b) Y))=> ((((eq_trans000 Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) b)) (eq_trans000 Y))) ((eq_ref (fofType->Prop)) b)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((eq_trans00 Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((eq_trans00 Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> ((((((eq_trans0 X) Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) (((eq_trans0 X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y)) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y))) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) X) Y)) (x2:(((eq (fofType->Prop)) Y) Y))=> (((((((eq_trans (fofType->Prop)) X) Y) Y) x1) x2) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) X) Y)) ((((eq_trans (fofType->Prop)) X) Y) Y))) ((eq_ref (fofType->Prop)) Y))) as proof of (((eq (fofType->Prop)) X) Y)
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found x20:(P (Y x1))
% Found (fun (x20:(P (Y x1)))=> x20) as proof of (P (Y x1))
% Found (fun (x20:(P (Y x1)))=> x20) as proof of (P0 (Y x1))
% Found x20:(P (Y x1))
% Found (fun (x20:(P (Y x1)))=> x20) as proof of (P (Y x1))
% Found (fun (x20:(P (Y x1)))=> x20) as proof of (P0 (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found (eq_sym010 ((eq_ref Prop) (f x))) as proof of (((eq Prop) b) (f x))
% Found ((eq_sym01 b) ((eq_ref Prop) (f x))) as proof of (((eq Prop) b) (f x))
% Found (((eq_sym0 (f x)) b) ((eq_ref Prop) (f x))) as proof of (((eq Prop) b) (f x))
% Found (((eq_sym0 (f x)) b) ((eq_ref Prop) (f x))) as proof of (((eq Prop) b) (f x))
% Found ((eq_trans0000 ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) b) ((eq_ref Prop) (f x)))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x))
% Found (((eq_trans000 (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) b) ((eq_ref Prop) (f x)))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x))
% Found ((((eq_trans00 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x)))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x))
% Found (((((eq_trans0 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x)))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x))
% Found ((((((eq_trans Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x)))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x))
% Found ((((((eq_trans Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x)))) as proof of (((eq Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x))
% Found (eq_sym000 ((((((eq_trans Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_sym00 (f x)) ((((((eq_trans Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found (((eq_sym0 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((((((eq_trans Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) (((eq_sym0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((((eq_sym Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((((((eq_trans Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) (f x)) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) ((((eq_sym Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))))) as proof of (((eq Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found x1:(P X)
% Instantiate: f:=X:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x1:(P X)
% Instantiate: f:=X:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x1:(P X)
% Instantiate: b:=X:(fofType->Prop)
% Found x1 as proof of (P0 b)
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((eq_sym000 x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found (eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((eq_sym000 x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((eq_sym000 x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((eq_sym00 (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((((eq_sym0 (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (fun (P:(Prop->Prop))=> (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20))) as proof of ((P (X x1))->(P (Y x1)))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found (eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((eq_sym000 x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((eq_sym00 (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((((eq_sym0 (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found (fun (P:(Prop->Prop))=> ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))))) as proof of ((P (X x1))->(P (Y x1)))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((eq_sym000 x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((eq_sym00 (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((((eq_sym0 (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20)) as proof of ((P (X x1))->(P (Y x1)))
% Found (fun (P:(Prop->Prop))=> (((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) (fun (x4:Prop)=> ((P (X x1))->(P x4))))) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) (fun (x20:(P (X x1)))=> x20))) as proof of ((P (X x1))->(P (Y x1)))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found (eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((eq_sym000 x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((eq_sym00 (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> ((((eq_sym0 (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of ((P (X x1))->(P (Y x1)))
% Found (fun (P:(Prop->Prop))=> ((fun (x2:(((eq Prop) (Y x1)) (X x1)))=> (((((eq_sym Prop) (Y x1)) (X x1)) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))))) as proof of ((P (X x1))->(P (Y x1)))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eta_expansion_dep000:=(eta_expansion_dep00 Y):(((eq (fofType->Prop)) Y) (fun (x:fofType)=> (Y x)))
% Found (eta_expansion_dep00 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eta_expansion_dep0 (fun (x3:fofType)=> Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion_dep fofType) (fun (x3:fofType)=> Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x2:(P (X x1))
% Instantiate: b:=(X x1):Prop
% Found x2 as proof of (P0 b)
% Found x2:(P (X x1))
% Instantiate: b:=(X x1):Prop
% Found x2 as proof of (P0 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)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (Y 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)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (Y x)))
% Found x1:(P X)
% Instantiate: f:=X:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x1:(P X)
% Instantiate: f:=X:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found (eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((eq_sym000 x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> ((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) P)) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y)))))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) X)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) X))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) X)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) X)
% Found ((eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found ((eq_sym0000 (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((eq_sym000 x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10)) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of ((P X)->(P Y))
% Found (fun (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (forall (P:((fofType->Prop)->Prop)), ((P X)->(P Y)))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop))=> (((fun (x1:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x1) (fun (x3:(fofType->Prop))=> ((P X)->(P x3))))) (((fun (P1:Type) (x1:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x1) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) (fun (x10:(P X))=> x10))) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) b)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) b))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) b))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) b))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) b))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) b)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) x1) as proof of (P Y)
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) x1) as proof of (P Y)
% Found (((fun (x2:(((eq (fofType->Prop)) Y) b))=> ((eq_sym000 x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) x1) as proof of (P Y)
% Found (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) x1) as proof of (P Y)
% Found (((fun (x2:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) x1) as proof of (P Y)
% Found (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1) as proof of (P Y)
% Found (fun (x1:(P X))=> (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1)) as proof of (P Y)
% Found (fun (P:((fofType->Prop)->Prop)) (x1:(P X))=> (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1)) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop)) (x1:(P X))=> (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1)) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop)) (x1:(P X))=> (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1)) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x2:(P (X x1))
% Instantiate: b:=(X x1):Prop
% Found x2 as proof of (P0 b)
% Found x2:(P (X x1))
% Instantiate: b:=(X x1):Prop
% Found x2 as proof of (P0 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)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (Y 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)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (Y x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (Y x)))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) b)
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eta_expansion000:=(eta_expansion00 Y):(((eq (fofType->Prop)) Y) (fun (x:fofType)=> (Y x)))
% Found (eta_expansion00 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eta_expansion0 Prop) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion fofType) Prop) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion fofType) Prop) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion fofType) Prop) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found x1:(P0 b)
% Instantiate: b:=X:(fofType->Prop)
% Found (fun (x1:(P0 b))=> x1) as proof of (P0 X)
% Found (fun (P0:((fofType->Prop)->Prop)) (x1:(P0 b))=> x1) as proof of ((P0 b)->(P0 X))
% Found (fun (P0:((fofType->Prop)->Prop)) (x1:(P0 b))=> x1) as proof of (P b)
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_sym00010:=(eq_sym0001 (x Y)):(((x Y) b)->((x Y) Y))
% Found (eq_sym0001 (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) b))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) b))
% Found ((eq_sym000 x00) (x Y)) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) b))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x Y) X)->(((eq (fofType->Prop)) Y) b))
% Found (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))) as proof of (((x X) Y)->(((x Y) X)->(((eq (fofType->Prop)) Y) b)))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((and_rect0 (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y)))) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) x1) as proof of (P Y)
% Found ((eq_sym0000 (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) x1) as proof of (P Y)
% Found (((fun (x2:(((eq (fofType->Prop)) Y) b))=> ((eq_sym000 x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) b)) (fun (x00:((x X) Y))=> ((eq_sym000 x00) (x Y))))) x1) as proof of (P Y)
% Found (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((eq_sym00 X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((eq_sym00 X) x00) (x Y))))) x1) as proof of (P Y)
% Found (((fun (x2:(((eq (fofType->Prop)) Y) X))=> ((((eq_sym0 Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> ((((eq_sym0 Y) X) x00) (x Y))))) x1) as proof of (P Y)
% Found (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1) as proof of (P Y)
% Found (fun (x1:(P X))=> (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1)) as proof of (P Y)
% Found (fun (P:((fofType->Prop)->Prop)) (x1:(P X))=> (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1)) as proof of ((P X)->(P Y))
% Found (fun (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop)) (x1:(P X))=> (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1)) as proof of (((eq (fofType->Prop)) X) Y)
% Found (fun (Y:(fofType->Prop)) (x0:((and ((x X) Y)) ((x Y) X))) (P:((fofType->Prop)->Prop)) (x1:(P X))=> (((fun (x2:(((eq (fofType->Prop)) Y) X))=> (((((eq_sym (fofType->Prop)) Y) X) x2) P)) (((fun (P1:Type) (x2:(((x X) Y)->(((x Y) X)->P1)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P1) x2) x0)) (((eq (fofType->Prop)) Y) X)) (fun (x00:((x X) Y))=> (((((eq_sym (fofType->Prop)) Y) X) x00) (x Y))))) x1)) as proof of (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))
% Found x10:(P X)
% Found (fun (x10:(P X))=> x10) as proof of (P X)
% Found (fun (x10:(P X))=> x10) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found eq_ref00:=(eq_ref0 b0):(((eq (fofType->Prop)) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq (fofType->Prop)) b0) b)
% Found ((eq_ref (fofType->Prop)) b0) as proof of (((eq (fofType->Prop)) b0) b)
% Found ((eq_ref (fofType->Prop)) b0) as proof of (((eq (fofType->Prop)) b0) b)
% Found ((eq_ref (fofType->Prop)) b0) as proof of (((eq (fofType->Prop)) b0) b)
% Found eta_expansion000:=(eta_expansion00 X):(((eq (fofType->Prop)) X) (fun (x:fofType)=> (X x)))
% Found (eta_expansion00 X) as proof of (((eq (fofType->Prop)) X) b0)
% Found ((eta_expansion0 Prop) X) as proof of (((eq (fofType->Prop)) X) b0)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b0)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b0)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b0)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq (fofType->Prop)) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq (fofType->Prop)) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found eta_expansion000:=(eta_expansion00 Y):(((eq (fofType->Prop)) Y) (fun (x:fofType)=> (Y x)))
% Found (eta_expansion00 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eta_expansion0 Prop) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion fofType) Prop) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion fofType) Prop) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found (((eta_expansion fofType) Prop) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found x1:(P0 b)
% Instantiate: b:=X:(fofType->Prop)
% Found (fun (x1:(P0 b))=> x1) as proof of (P0 X)
% Found (fun (P0:((fofType->Prop)->Prop)) (x1:(P0 b))=> x1) as proof of ((P0 b)->(P0 X))
% Found (fun (P0:((fofType->Prop)->Prop)) (x1:(P0 b))=> x1) as proof of (P b)
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (forall (P:(Prop->Prop)), ((P (X x1))->(P (Y x1))))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (Y x1)):(((eq Prop) (Y x1)) (Y x1))
% Found (eq_ref0 (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found ((eq_ref Prop) (Y x1)) as proof of (((eq Prop) (Y x1)) (Y x1))
% Found (eq_trans0000 ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((eq_trans000 (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((eq_trans00 (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found ((((eq_trans0 (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x Y) X)->(((eq Prop) (Y x1)) (X x1)))
% Found (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (Y x1)) (X x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found ((and_rect0 (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1))))) as proof of (((eq Prop) (Y x1)) (X x1))
% Found (eq_sym000 (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((eq_sym00 (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((eq_sym0 (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((((eq_sym Prop) (Y x1)) (X x1)) (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (Y x1)) (X x1))) (fun (x00:((x X) Y))=> (((((eq_trans Prop) (Y x1)) (Y x1)) (X x1)) ((eq_ref Prop) (Y x1)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found x1:(P Y)
% Instantiate: b:=Y:(fofType->Prop)
% Found x1 as proof of (P0 b)
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 b0):(((eq (fofType->Prop)) b0) b0)
% Found (eq_ref0 b0) as proof of (((eq (fofType->Prop)) b0) b)
% Found ((eq_ref (fofType->Prop)) b0) as proof of (((eq (fofType->Prop)) b0) b)
% Found ((eq_ref (fofType->Prop)) b0) as proof of (((eq (fofType->Prop)) b0) b)
% Found ((eq_ref (fofType->Prop)) b0) as proof of (((eq (fofType->Prop)) b0) b)
% Found eta_expansion000:=(eta_expansion00 X):(((eq (fofType->Prop)) X) (fun (x:fofType)=> (X x)))
% Found (eta_expansion00 X) as proof of (((eq (fofType->Prop)) X) b0)
% Found ((eta_expansion0 Prop) X) as proof of (((eq (fofType->Prop)) X) b0)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b0)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b0)
% Found (((eta_expansion fofType) Prop) X) as proof of (((eq (fofType->Prop)) X) b0)
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found x20:(P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P2 (X x1))
% Found x20:(P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P2 (X x1))
% Found x20:(P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P2 (X x1))
% Found x20:(P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P2 (X x1))
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq (fofType->Prop)) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found eq_ref00:=(eq_ref0 b):(((eq (fofType->Prop)) b) b)
% Found (eq_ref0 b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found ((eq_ref (fofType->Prop)) b) as proof of (((eq (fofType->Prop)) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq (fofType->Prop)) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found ((eq_ref (fofType->Prop)) Y) as proof of (((eq (fofType->Prop)) Y) b)
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found x20:(P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P (X x1))
% Found (fun (x20:(P (X x1)))=> x20) as proof of (P0 (X x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found x1:(P Y)
% Instantiate: b:=Y:(fofType->Prop)
% Found x1 as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_trans0000 ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found (((eq_trans000 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((eq_trans00 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found (((((eq_trans0 (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_trans0000 ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found (((eq_trans000 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((eq_trans00 ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found (((((eq_trans0 (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False))->False)) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found eq_ref00:=(eq_ref0 X):(((eq (fofType->Prop)) X) X)
% Found (eq_ref0 X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found ((eq_ref (fofType->Prop)) X) as proof of (((eq (fofType->Prop)) X) b)
% Found x20:(P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P2 (X x1))
% Found x20:(P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P2 (X x1))
% Found x20:(P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P2 (X x1))
% Found x20:(P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P1 (X x1))
% Found (fun (x20:(P1 (X x1)))=> x20) as proof of (P2 (X x1))
% Found eq_ref00:=(eq_ref0 a):(((eq fofType) a) a)
% Found (eq_ref0 a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found eq_ref00:=(eq_ref0 a):(((eq fofType) a) a)
% Found (eq_ref0 a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found eq_ref00:=(eq_ref0 a):(((eq fofType) a) a)
% Found (eq_ref0 a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found eq_ref00:=(eq_ref0 a):(((eq fofType) a) a)
% Found (eq_ref0 a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found ((eq_ref fofType) a) as proof of (((eq fofType) a) x1)
% Found x1:(P Y)
% Instantiate: f:=Y:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found x1:(P Y)
% Instantiate: f:=Y:(fofType->Prop)
% Found x1 as proof of (P0 f)
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_trans0000 ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found (((eq_trans000 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((eq_trans00 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found (((((eq_trans0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found eq_ref00:=(eq_ref0 (f x)):(((eq Prop) (f x)) (f x))
% Found (eq_ref0 (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found ((eq_ref Prop) (f x)) as proof of (((eq Prop) (f x)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))
% Found ((eq_trans0000 ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found (((eq_trans000 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) b)) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((eq_trans00 ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found (((((eq_trans0 (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found ((((((eq_trans Prop) (f x)) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y))))) ((eq_ref Prop) (f x))) ((eq_ref Prop) ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))) as proof of (forall (P:(Prop->Prop)), ((P (f x))->(P ((and ((and ((and (not ((x (fun (Xx:fofType)=> True)) (fun (Xx:fofType)=> False)))) (forall (Xx:(fofType->Prop)), ((x Xx) Xx)))) (forall (Xx:(fofType->Prop)) (Xy:(fofType->Prop)) (Xz:(fofType->Prop)), (((and ((x Xx) Xy)) ((x Xy) Xz))->((x Xx) Xz))))) (forall (X:(fofType->Prop)) (Y:(fofType->Prop)), (((and ((x X) Y)) ((x Y) X))->(((eq (fofType->Prop)) X) Y)))))))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found x10:(P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P0 Y)
% Found x10:(P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P0 Y)
% Found x10:(P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P0 Y)
% Found x10:(P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P Y)
% Found (fun (x10:(P Y))=> x10) as proof of (P0 Y)
% Found eq_ref00:=(eq_ref0 (X x2)):(((eq Prop) (X x2)) (X x2))
% Found (eq_ref0 (X x2)) as proof of (((eq Prop) (X x2)) (g x2))
% Found ((eq_ref Prop) (X x2)) as proof of (((eq Prop) (X x2)) (g x2))
% Found ((eq_ref Prop) (X x2)) as proof of (((eq Prop) (X x2)) (g x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (X x2))) as proof of (((eq Prop) (X x2)) (g x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (X x2))) as proof of (forall (x:fofType), (((eq Prop) (X x)) (g x)))
% Found (functional_extensionality00010 (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found (functional_extensionality00010 (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (g x0))))=> ((functional_extensionality0001 x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2))))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2))))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (X x1)) (Y x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((and_rect0 (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((fun (x2:(forall (x00:fofType), (((eq Prop) (X x00)) (X x00))))=> (((functional_extensionality000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x2)):(((eq Prop) (X x2)) (X x2))
% Found (eq_ref0 (X x2)) as proof of (((eq Prop) (X x2)) (g x2))
% Found ((eq_ref Prop) (X x2)) as proof of (((eq Prop) (X x2)) (g x2))
% Found ((eq_ref Prop) (X x2)) as proof of (((eq Prop) (X x2)) (g x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (X x2))) as proof of (((eq Prop) (X x2)) (g x2))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (X x2))) as proof of (forall (x:fofType), (((eq Prop) (X x)) (g x)))
% Found (functional_extensionality_dep00010 (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found (functional_extensionality_dep00010 (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (g x0))))=> ((functional_extensionality_dep0001 x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality_dep000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality_dep000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality_dep000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2))))) as proof of (((x Y) X)->(((eq Prop) (X x1)) (Y x1)))
% Found (fun (x00:((x X) Y))=> ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality_dep000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2))))) as proof of (((x X) Y)->(((x Y) X)->(((eq Prop) (X x1)) (Y x1))))
% Found (and_rect00 (fun (x00:((x X) Y))=> ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality_dep000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found ((and_rect0 (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((fun (x2:(forall (x0:fofType), (((eq Prop) (X x0)) (X x0))))=> (((functional_extensionality_dep000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found (((fun (P:Type) (x2:(((x X) Y)->(((x Y) X)->P)))=> (((((and_rect ((x X) Y)) ((x Y) X)) P) x2) x0)) (((eq Prop) (X x1)) (Y x1))) (fun (x00:((x X) Y))=> ((fun (x2:(forall (x00:fofType), (((eq Prop) (X x00)) (X x00))))=> (((functional_extensionality_dep000 X) x2) (x Y))) (fun (x2:fofType)=> ((eq_ref Prop) (X x2)))))) as proof of (((eq Prop) (X x1)) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq Prop) b) b)
% Found (eq_ref0 b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found ((eq_ref Prop) b) as proof of (((eq Prop) b) (Y x1))
% Found eq_ref00:=(eq_ref0 (X x1)):(((eq Prop) (X x1)) (X x1))
% Found (eq_ref0 (X x1)) as proof of (((eq Prop) (X x1)) b)
% Found ((eq_ref Prop) (X x1))
% EOF
%------------------------------------------------------------------------------