TSTP Solution File: SEU461^1 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEU461^1 : TPTP v6.1.0. Released v3.6.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n114.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:32:15 EDT 2014

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

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEU461^1 : TPTP v6.1.0. Released v3.6.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n114.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 10:16:16 CDT 2014
% % CPUTime  : 300.02 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/SET009^0.ax, trying next directory
% FOF formula (<kernel.Constant object at 0x2206cf8>, <kernel.DependentProduct object at 0x22065f0>) of role type named subrel_type
% Using role type
% Declaring subrel:((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->Prop))
% FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->Prop))) subrel) (fun (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((S X) Y))))) of role definition named subrel
% A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->Prop))) subrel) (fun (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((S X) Y)))))
% Defined: subrel:=(fun (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((S X) Y))))
% FOF formula (<kernel.Constant object at 0x21e5cf8>, <kernel.DependentProduct object at 0x22065f0>) of role type named inv_type
% Using role type
% Declaring inv:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) inv) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((R Y) X))) of role definition named inverse
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) inv) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((R Y) X)))
% Defined: inv:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((R Y) X))
% FOF formula (<kernel.Constant object at 0x2206ab8>, <kernel.DependentProduct object at 0x22067e8>) of role type named idem_type
% Using role type
% Declaring idem:(((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)
% FOF formula (((eq (((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)) idem) (fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))), (((eq (fofType->(fofType->Prop))) (F (F R))) (F R))))) of role definition named idempotent
% A new definition: (((eq (((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)) idem) (fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))), (((eq (fofType->(fofType->Prop))) (F (F R))) (F R)))))
% Defined: idem:=(fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))), (((eq (fofType->(fofType->Prop))) (F (F R))) (F R))))
% FOF formula (<kernel.Constant object at 0x22064d0>, <kernel.DependentProduct object at 0x22069e0>) of role type named infl_type
% Using role type
% Declaring infl:(((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)
% FOF formula (((eq (((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)) infl) (fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))), ((subrel R) (F R))))) of role definition named inflationary
% A new definition: (((eq (((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)) infl) (fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))), ((subrel R) (F R)))))
% Defined: infl:=(fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))), ((subrel R) (F R))))
% FOF formula (<kernel.Constant object at 0x2206ab8>, <kernel.DependentProduct object at 0x20257a0>) of role type named mono_type
% Using role type
% Declaring mono:(((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)
% FOF formula (((eq (((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)) mono) (fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop))), (((subrel R) S)->((subrel (F R)) (F S)))))) of role definition named monotonic
% A new definition: (((eq (((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop)) mono) (fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop))), (((subrel R) S)->((subrel (F R)) (F S))))))
% Defined: mono:=(fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop))), (((subrel R) S)->((subrel (F R)) (F S)))))
% FOF formula (<kernel.Constant object at 0x2206ab8>, <kernel.DependentProduct object at 0x2025f80>) of role type named refl_type
% Using role type
% Declaring refl:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) refl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((R X) X)))) of role definition named reflexive
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) refl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((R X) X))))
% Defined: refl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((R X) X)))
% FOF formula (<kernel.Constant object at 0x22065f0>, <kernel.DependentProduct object at 0x20256c8>) of role type named irrefl_type
% Using role type
% Declaring irrefl:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) irrefl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), (((R X) X)->False)))) of role definition named irreflexive
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) irrefl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), (((R X) X)->False))))
% Defined: irrefl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), (((R X) X)->False)))
% FOF formula (<kernel.Constant object at 0x2025950>, <kernel.DependentProduct object at 0x2025878>) of role type named rc_type
% Using role type
% Declaring rc:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) rc) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((or (((eq fofType) X) Y)) ((R X) Y)))) of role definition named reflexive_closure
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) rc) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((or (((eq fofType) X) Y)) ((R X) Y))))
% Defined: rc:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((or (((eq fofType) X) Y)) ((R X) Y)))
% FOF formula (<kernel.Constant object at 0x2025950>, <kernel.DependentProduct object at 0x2025d40>) of role type named symm_type
% Using role type
% Declaring symm:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) symm) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((R Y) X))))) of role definition named symmetric
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) symm) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((R Y) X)))))
% Defined: symm:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((R Y) X))))
% FOF formula (<kernel.Constant object at 0x1ef3dd0>, <kernel.DependentProduct object at 0x21e8248>) of role type named antisymm_type
% Using role type
% Declaring antisymm:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) antisymm) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((and ((R X) Y)) ((R Y) X))->(((eq fofType) X) Y))))) of role definition named antisymmetric
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) antisymm) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((and ((R X) Y)) ((R Y) X))->(((eq fofType) X) Y)))))
% Defined: antisymm:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((and ((R X) Y)) ((R Y) X))->(((eq fofType) X) Y))))
% FOF formula (<kernel.Constant object at 0x21e83b0>, <kernel.DependentProduct object at 0x2025560>) of role type named asymm_type
% Using role type
% Declaring asymm:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) asymm) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->(((R Y) X)->False))))) of role definition named asymmetric
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) asymm) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->(((R Y) X)->False)))))
% Defined: asymm:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->(((R Y) X)->False))))
% FOF formula (<kernel.Constant object at 0x21e8248>, <kernel.DependentProduct object at 0x2025b90>) of role type named sc_type
% Using role type
% Declaring sc:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) sc) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((or ((R Y) X)) ((R X) Y)))) of role definition named symmetric_closure
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) sc) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((or ((R Y) X)) ((R X) Y))))
% Defined: sc:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((or ((R Y) X)) ((R X) Y)))
% FOF formula (<kernel.Constant object at 0x2025878>, <kernel.DependentProduct object at 0x2025f80>) of role type named trans_type
% Using role type
% Declaring trans:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) trans) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Y)) ((R Y) Z))->((R X) Z))))) of role definition named transitive
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) trans) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Y)) ((R Y) Z))->((R X) Z)))))
% Defined: trans:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Y)) ((R Y) Z))->((R X) Z))))
% FOF formula (<kernel.Constant object at 0x20259e0>, <kernel.DependentProduct object at 0x20258c0>) of role type named tc_type
% Using role type
% Declaring tc:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) tc) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> (forall (S:(fofType->(fofType->Prop))), (((and (trans S)) ((subrel R) S))->((S X) Y))))) of role definition named transitive_closure
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) tc) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> (forall (S:(fofType->(fofType->Prop))), (((and (trans S)) ((subrel R) S))->((S X) Y)))))
% Defined: tc:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> (forall (S:(fofType->(fofType->Prop))), (((and (trans S)) ((subrel R) S))->((S X) Y))))
% FOF formula (<kernel.Constant object at 0x2025cb0>, <kernel.DependentProduct object at 0x200a680>) of role type named trc_type
% Using role type
% Declaring trc:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) trc) (fun (R:(fofType->(fofType->Prop)))=> (rc (tc R)))) of role definition named transitive_reflexive_closure
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) trc) (fun (R:(fofType->(fofType->Prop)))=> (rc (tc R))))
% Defined: trc:=(fun (R:(fofType->(fofType->Prop)))=> (rc (tc R)))
% FOF formula (<kernel.Constant object at 0x200a6c8>, <kernel.DependentProduct object at 0x200a9e0>) of role type named trsc_type
% Using role type
% Declaring trsc:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) trsc) (fun (R:(fofType->(fofType->Prop)))=> (sc (rc (tc R))))) of role definition named transitive_reflexive_symmetric_closure
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) trsc) (fun (R:(fofType->(fofType->Prop)))=> (sc (rc (tc R)))))
% Defined: trsc:=(fun (R:(fofType->(fofType->Prop)))=> (sc (rc (tc R))))
% FOF formula (<kernel.Constant object at 0x200a6c8>, <kernel.DependentProduct object at 0x200a710>) of role type named po_type
% Using role type
% Declaring po:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) po) (fun (R:(fofType->(fofType->Prop)))=> ((and ((and (refl R)) (antisymm R))) (trans R)))) of role definition named partial_order
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) po) (fun (R:(fofType->(fofType->Prop)))=> ((and ((and (refl R)) (antisymm R))) (trans R))))
% Defined: po:=(fun (R:(fofType->(fofType->Prop)))=> ((and ((and (refl R)) (antisymm R))) (trans R)))
% FOF formula (<kernel.Constant object at 0x200a878>, <kernel.DependentProduct object at 0x200a7e8>) of role type named so_type
% Using role type
% Declaring so:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) so) (fun (R:(fofType->(fofType->Prop)))=> ((and (asymm R)) (trans R)))) of role definition named strict_order
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) so) (fun (R:(fofType->(fofType->Prop)))=> ((and (asymm R)) (trans R))))
% Defined: so:=(fun (R:(fofType->(fofType->Prop)))=> ((and (asymm R)) (trans R)))
% FOF formula (<kernel.Constant object at 0x200a710>, <kernel.DependentProduct object at 0x200a908>) of role type named total_type
% Using role type
% Declaring total:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) total) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), ((or ((or (((eq fofType) X) Y)) ((R X) Y))) ((R Y) X))))) of role definition named total
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) total) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), ((or ((or (((eq fofType) X) Y)) ((R X) Y))) ((R Y) X)))))
% Defined: total:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), ((or ((or (((eq fofType) X) Y)) ((R X) Y))) ((R Y) X))))
% FOF formula (<kernel.Constant object at 0x200a908>, <kernel.DependentProduct object at 0x200ab48>) of role type named term_type
% Using role type
% Declaring term:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) term) (fun (R:(fofType->(fofType->Prop)))=> (forall (A:(fofType->Prop)), (((ex fofType) (fun (X:fofType)=> (A X)))->((ex fofType) (fun (X:fofType)=> ((and (A X)) (forall (Y:fofType), ((A Y)->(((R X) Y)->False)))))))))) of role definition named terminating
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) term) (fun (R:(fofType->(fofType->Prop)))=> (forall (A:(fofType->Prop)), (((ex fofType) (fun (X:fofType)=> (A X)))->((ex fofType) (fun (X:fofType)=> ((and (A X)) (forall (Y:fofType), ((A Y)->(((R X) Y)->False))))))))))
% Defined: term:=(fun (R:(fofType->(fofType->Prop)))=> (forall (A:(fofType->Prop)), (((ex fofType) (fun (X:fofType)=> (A X)))->((ex fofType) (fun (X:fofType)=> ((and (A X)) (forall (Y:fofType), ((A Y)->(((R X) Y)->False)))))))))
% FOF formula (<kernel.Constant object at 0x200abd8>, <kernel.DependentProduct object at 0x200acf8>) of role type named ind_type
% Using role type
% Declaring ind:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) ind) (fun (R:(fofType->(fofType->Prop)))=> (forall (P:(fofType->Prop)), ((forall (X:fofType), ((forall (Y:fofType), ((((tc R) X) Y)->(P Y)))->(P X)))->(forall (X:fofType), (P X)))))) of role definition named satisfying_the_induction_principle
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) ind) (fun (R:(fofType->(fofType->Prop)))=> (forall (P:(fofType->Prop)), ((forall (X:fofType), ((forall (Y:fofType), ((((tc R) X) Y)->(P Y)))->(P X)))->(forall (X:fofType), (P X))))))
% Defined: ind:=(fun (R:(fofType->(fofType->Prop)))=> (forall (P:(fofType->Prop)), ((forall (X:fofType), ((forall (Y:fofType), ((((tc R) X) Y)->(P Y)))->(P X)))->(forall (X:fofType), (P X)))))
% FOF formula (<kernel.Constant object at 0x200a5f0>, <kernel.DependentProduct object at 0x200abd8>) of role type named innf_type
% Using role type
% Declaring innf:((fofType->(fofType->Prop))->(fofType->Prop))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->Prop))) innf) (fun (R:(fofType->(fofType->Prop))) (X:fofType)=> (((ex fofType) (fun (Y:fofType)=> ((R X) Y)))->False))) of role definition named in_normal_form
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->Prop))) innf) (fun (R:(fofType->(fofType->Prop))) (X:fofType)=> (((ex fofType) (fun (Y:fofType)=> ((R X) Y)))->False)))
% Defined: innf:=(fun (R:(fofType->(fofType->Prop))) (X:fofType)=> (((ex fofType) (fun (Y:fofType)=> ((R X) Y)))->False))
% FOF formula (<kernel.Constant object at 0x200acf8>, <kernel.DependentProduct object at 0x200a6c8>) of role type named nfof_type
% Using role type
% Declaring nfof:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) nfof) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((and (((trc R) Y) X)) ((innf R) X)))) of role definition named normal_form_of
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) nfof) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((and (((trc R) Y) X)) ((innf R) X))))
% Defined: nfof:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((and (((trc R) Y) X)) ((innf R) X)))
% FOF formula (<kernel.Constant object at 0x200a5f0>, <kernel.DependentProduct object at 0x200ad88>) of role type named norm_type
% Using role type
% Declaring norm:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) norm) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((ex fofType) (fun (Y:fofType)=> (((nfof R) Y) X)))))) of role definition named normalizing
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) norm) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((ex fofType) (fun (Y:fofType)=> (((nfof R) Y) X))))))
% Defined: norm:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((ex fofType) (fun (Y:fofType)=> (((nfof R) Y) X)))))
% FOF formula (<kernel.Constant object at 0x200a5f0>, <kernel.DependentProduct object at 0x200af80>) of role type named join_type
% Using role type
% Declaring join:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) join) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((ex fofType) (fun (Z:fofType)=> ((and (((trc R) X) Z)) (((trc R) Y) Z)))))) of role definition named joinable
% A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) join) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((ex fofType) (fun (Z:fofType)=> ((and (((trc R) X) Z)) (((trc R) Y) Z))))))
% Defined: join:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((ex fofType) (fun (Z:fofType)=> ((and (((trc R) X) Z)) (((trc R) Y) Z)))))
% FOF formula (<kernel.Constant object at 0x200a950>, <kernel.DependentProduct object at 0x21f53f8>) of role type named lconfl_type
% Using role type
% Declaring lconfl:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) lconfl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Z)) ((R X) Y))->(((join R) Z) Y))))) of role definition named locally_confluent
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) lconfl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Z)) ((R X) Y))->(((join R) Z) Y)))))
% Defined: lconfl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Z)) ((R X) Y))->(((join R) Z) Y))))
% FOF formula (<kernel.Constant object at 0x200a5f0>, <kernel.DependentProduct object at 0x21f5050>) of role type named sconfl_type
% Using role type
% Declaring sconfl:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) sconfl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Z)) (((trc R) X) Y))->(((join R) Z) Y))))) of role definition named semi_confluent
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) sconfl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Z)) (((trc R) X) Y))->(((join R) Z) Y)))))
% Defined: sconfl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Z)) (((trc R) X) Y))->(((join R) Z) Y))))
% FOF formula (<kernel.Constant object at 0x21f53f8>, <kernel.DependentProduct object at 0x21f5440>) of role type named confl_type
% Using role type
% Declaring confl:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) confl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and (((trc R) X) Z)) (((trc R) X) Y))->(((join R) Z) Y))))) of role definition named confluent
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) confl) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and (((trc R) X) Z)) (((trc R) X) Y))->(((join R) Z) Y)))))
% Defined: confl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and (((trc R) X) Z)) (((trc R) X) Y))->(((join R) Z) Y))))
% FOF formula (<kernel.Constant object at 0x21f5050>, <kernel.DependentProduct object at 0x21f5320>) of role type named cr_type
% Using role type
% Declaring cr:((fofType->(fofType->Prop))->Prop)
% FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) cr) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), ((((trsc R) X) Y)->(((join R) X) Y))))) of role definition named church_rosser
% A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) cr) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), ((((trsc R) X) Y)->(((join R) X) Y)))))
% Defined: cr:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), ((((trsc R) X) Y)->(((join R) X) Y))))
% FOF formula (forall (R:(fofType->(fofType->Prop))), (trans (tc R))) of role conjecture named transitive_closure_is_transitive
% Conjecture to prove = (forall (R:(fofType->(fofType->Prop))), (trans (tc R))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (R:(fofType->(fofType->Prop))), (trans (tc R)))']
% Parameter fofType:Type.
% Definition subrel:=(fun (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((S X) Y)))):((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->Prop)).
% Definition inv:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((R Y) X)):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% Definition idem:=(fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))), (((eq (fofType->(fofType->Prop))) (F (F R))) (F R)))):(((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop).
% Definition infl:=(fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))), ((subrel R) (F R)))):(((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop).
% Definition mono:=(fun (F:((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))=> (forall (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop))), (((subrel R) S)->((subrel (F R)) (F S))))):(((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))->Prop).
% Definition refl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((R X) X))):((fofType->(fofType->Prop))->Prop).
% Definition irrefl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), (((R X) X)->False))):((fofType->(fofType->Prop))->Prop).
% Definition rc:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((or (((eq fofType) X) Y)) ((R X) Y))):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% Definition symm:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((R Y) X)))):((fofType->(fofType->Prop))->Prop).
% Definition antisymm:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((and ((R X) Y)) ((R Y) X))->(((eq fofType) X) Y)))):((fofType->(fofType->Prop))->Prop).
% Definition asymm:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->(((R Y) X)->False)))):((fofType->(fofType->Prop))->Prop).
% Definition sc:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((or ((R Y) X)) ((R X) Y))):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% Definition trans:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Y)) ((R Y) Z))->((R X) Z)))):((fofType->(fofType->Prop))->Prop).
% Definition tc:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> (forall (S:(fofType->(fofType->Prop))), (((and (trans S)) ((subrel R) S))->((S X) Y)))):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% Definition trc:=(fun (R:(fofType->(fofType->Prop)))=> (rc (tc R))):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% Definition trsc:=(fun (R:(fofType->(fofType->Prop)))=> (sc (rc (tc R)))):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% Definition po:=(fun (R:(fofType->(fofType->Prop)))=> ((and ((and (refl R)) (antisymm R))) (trans R))):((fofType->(fofType->Prop))->Prop).
% Definition so:=(fun (R:(fofType->(fofType->Prop)))=> ((and (asymm R)) (trans R))):((fofType->(fofType->Prop))->Prop).
% Definition total:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), ((or ((or (((eq fofType) X) Y)) ((R X) Y))) ((R Y) X)))):((fofType->(fofType->Prop))->Prop).
% Definition term:=(fun (R:(fofType->(fofType->Prop)))=> (forall (A:(fofType->Prop)), (((ex fofType) (fun (X:fofType)=> (A X)))->((ex fofType) (fun (X:fofType)=> ((and (A X)) (forall (Y:fofType), ((A Y)->(((R X) Y)->False))))))))):((fofType->(fofType->Prop))->Prop).
% Definition ind:=(fun (R:(fofType->(fofType->Prop)))=> (forall (P:(fofType->Prop)), ((forall (X:fofType), ((forall (Y:fofType), ((((tc R) X) Y)->(P Y)))->(P X)))->(forall (X:fofType), (P X))))):((fofType->(fofType->Prop))->Prop).
% Definition innf:=(fun (R:(fofType->(fofType->Prop))) (X:fofType)=> (((ex fofType) (fun (Y:fofType)=> ((R X) Y)))->False)):((fofType->(fofType->Prop))->(fofType->Prop)).
% Definition nfof:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((and (((trc R) Y) X)) ((innf R) X))):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% Definition norm:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((ex fofType) (fun (Y:fofType)=> (((nfof R) Y) X))))):((fofType->(fofType->Prop))->Prop).
% Definition join:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((ex fofType) (fun (Z:fofType)=> ((and (((trc R) X) Z)) (((trc R) Y) Z))))):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% Definition lconfl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Z)) ((R X) Y))->(((join R) Z) Y)))):((fofType->(fofType->Prop))->Prop).
% Definition sconfl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Z)) (((trc R) X) Y))->(((join R) Z) Y)))):((fofType->(fofType->Prop))->Prop).
% Definition confl:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and (((trc R) X) Z)) (((trc R) X) Y))->(((join R) Z) Y)))):((fofType->(fofType->Prop))->Prop).
% Definition cr:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), ((((trsc R) X) Y)->(((join R) X) Y)))):((fofType->(fofType->Prop))->Prop).
% Trying to prove (forall (R:(fofType->(fofType->Prop))), (trans (tc R)))
% Found x4:(((tc R) X) Z0)
% Found (fun (x4:(((tc R) X) Z0))=> x4) as proof of (((tc R) X) Z0)
% Found (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4) as proof of ((((tc R) X) Z0)->(((tc R) X) Z0))
% Found (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4) as proof of ((((tc R) X) Y0)->((((tc R) X) Z0)->(((tc R) X) Z0)))
% Found (and_rect10 (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4)) as proof of (((fun (x4:fofType)=> ((tc R) X)) X0) Z0)
% Found ((and_rect1 (((tc R) X) Z0)) (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4)) as proof of (((fun (x4:fofType)=> ((tc R) X)) X0) Z0)
% Found (((fun (P:Type) (x3:((((tc R) X) Y0)->((((tc R) X) Z0)->P)))=> (((((and_rect (((tc R) X) Y0)) (((tc R) X) Z0)) P) x3) x2)) (((tc R) X) Z0)) (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4)) as proof of (((fun (x4:fofType)=> ((tc R) X)) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType)=> ((tc R) X)) X0) Y0)) (((fun (x4:fofType)=> ((tc R) X)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X) Y0)->((((tc R) X) Z0)->P)))=> (((((and_rect (((tc R) X) Y0)) (((tc R) X) Z0)) P) x3) x2)) (((tc R) X) Z0)) (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4))) as proof of (((fun (x4:fofType)=> ((tc R) X)) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType)=> ((tc R) X)) X0) Y0)) (((fun (x4:fofType)=> ((tc R) X)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X) Y0)->((((tc R) X) Z0)->P)))=> (((((and_rect (((tc R) X) Y0)) (((tc R) X) Z0)) P) x3) x2)) (((tc R) X) Z0)) (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4))) as proof of (((and (((fun (x4:fofType)=> ((tc R) X)) X0) Y0)) (((fun (x4:fofType)=> ((tc R) X)) Y0) Z0))->(((fun (x4:fofType)=> ((tc R) X)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType)=> ((tc R) X)) X0) Y0)) (((fun (x4:fofType)=> ((tc R) X)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X) Y0)->((((tc R) X) Z0)->P)))=> (((((and_rect (((tc R) X) Y0)) (((tc R) X) Z0)) P) x3) x2)) (((tc R) X) Z0)) (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType)=> ((tc R) X)) X0) Y0)) (((fun (x4:fofType)=> ((tc R) X)) Y0) Z))->(((fun (x4:fofType)=> ((tc R) X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType)=> ((tc R) X)) X0) Y0)) (((fun (x4:fofType)=> ((tc R) X)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X) Y0)->((((tc R) X) Z0)->P)))=> (((((and_rect (((tc R) X) Y0)) (((tc R) X) Z0)) P) x3) x2)) (((tc R) X) Z0)) (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType)=> ((tc R) X)) X0) Y)) (((fun (x4:fofType)=> ((tc R) X)) Y) Z))->(((fun (x4:fofType)=> ((tc R) X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType)=> ((tc R) X)) X0) Y0)) (((fun (x4:fofType)=> ((tc R) X)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X) Y0)->((((tc R) X) Z0)->P)))=> (((((and_rect (((tc R) X) Y0)) (((tc R) X) Z0)) P) x3) x2)) (((tc R) X) Z0)) (fun (x3:(((tc R) X) Y0)) (x4:(((tc R) X) Z0))=> x4))) as proof of (trans (fun (x4:fofType)=> ((tc R) X)))
% Found x3:(((tc R) X0) Z)
% Found (fun (x4:(((tc R) Y0) Z))=> x3) as proof of (((tc R) X0) Z)
% Found (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3) as proof of ((((tc R) Y0) Z)->(((tc R) X0) Z))
% Found (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3) as proof of ((((tc R) X0) Z)->((((tc R) Y0) Z)->(((tc R) X0) Z)))
% Found (and_rect10 (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Z0)
% Found ((and_rect1 (((tc R) X0) Z)) (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Z0)
% Found (((fun (P:Type) (x3:((((tc R) X0) Z)->((((tc R) Y0) Z)->P)))=> (((((and_rect (((tc R) X0) Z)) (((tc R) Y0) Z)) P) x3) x2)) (((tc R) X0) Z)) (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X0) Z)->((((tc R) Y0) Z)->P)))=> (((((and_rect (((tc R) X0) Z)) (((tc R) Y0) Z)) P) x3) x2)) (((tc R) X0) Z)) (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X0) Z)->((((tc R) Y0) Z)->P)))=> (((((and_rect (((tc R) X0) Z)) (((tc R) Y0) Z)) P) x3) x2)) (((tc R) X0) Z)) (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X0) Z)->((((tc R) Y0) Z)->P)))=> (((((and_rect (((tc R) X0) Z)) (((tc R) Y0) Z)) P) x3) x2)) (((tc R) X0) Z)) (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3))) as proof of (forall (Z0:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X0) Z)->((((tc R) Y0) Z)->P)))=> (((((and_rect (((tc R) X0) Z)) (((tc R) Y0) Z)) P) x3) x2)) (((tc R) X0) Z)) (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) Y) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)) Y0) Z0)))=> (((fun (P:Type) (x3:((((tc R) X0) Z)->((((tc R) Y0) Z)->P)))=> (((((and_rect (((tc R) X0) Z)) (((tc R) Y0) Z)) P) x3) x2)) (((tc R) X0) Z)) (fun (x3:(((tc R) X0) Z)) (x4:(((tc R) Y0) Z))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (((tc R) x4) Z)))
% Found x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))
% Found (fun (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3) as proof of (((and (trans S)) ((subrel R) S))->((S X0) Z))
% Found (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3) as proof of ((((and (trans S)) ((subrel R) S))->((S Y0) Z))->(((and (trans S)) ((subrel R) S))->((S X0) Z)))
% Found (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3) as proof of ((((and (trans S)) ((subrel R) S))->((S X0) Z))->((((and (trans S)) ((subrel R) S))->((S Y0) Z))->(((and (trans S)) ((subrel R) S))->((S X0) Z))))
% Found (and_rect10 (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Z0)
% Found ((and_rect1 (((and (trans S)) ((subrel R) S))->((S X0) Z))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Z0)
% Found (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X0) Z))->((((and (trans S)) ((subrel R) S))->((S Y0) Z))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X0) Z))) (((and (trans S)) ((subrel R) S))->((S Y0) Z))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X0) Z))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X0) Z))->((((and (trans S)) ((subrel R) S))->((S Y0) Z))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X0) Z))) (((and (trans S)) ((subrel R) S))->((S Y0) Z))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X0) Z))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X0) Z))->((((and (trans S)) ((subrel R) S))->((S Y0) Z))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X0) Z))) (((and (trans S)) ((subrel R) S))->((S Y0) Z))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X0) Z))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X0) Z))->((((and (trans S)) ((subrel R) S))->((S Y0) Z))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X0) Z))) (((and (trans S)) ((subrel R) S))->((S Y0) Z))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X0) Z))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3))) as proof of (forall (Z0:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X0) Z))->((((and (trans S)) ((subrel R) S))->((S Y0) Z))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X0) Z))) (((and (trans S)) ((subrel R) S))->((S Y0) Z))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X0) Z))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) Y) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X0) Z))->((((and (trans S)) ((subrel R) S))->((S Y0) Z))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X0) Z))) (((and (trans S)) ((subrel R) S))->((S Y0) Z))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X0) Z))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X0) Z))) (x4:(((and (trans S)) ((subrel R) S))->((S Y0) Z)))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) Z))))
% Found x4:(((and (trans S)) ((subrel R) S))->((S X) Z0))
% Found (fun (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4) as proof of (((and (trans S)) ((subrel R) S))->((S X) Z0))
% Found (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4) as proof of ((((and (trans S)) ((subrel R) S))->((S X) Z0))->(((and (trans S)) ((subrel R) S))->((S X) Z0)))
% Found (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4) as proof of ((((and (trans S)) ((subrel R) S))->((S X) Y0))->((((and (trans S)) ((subrel R) S))->((S X) Z0))->(((and (trans S)) ((subrel R) S))->((S X) Z0))))
% Found (and_rect10 (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Z0)
% Found ((and_rect1 (((and (trans S)) ((subrel R) S))->((S X) Z0))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Z0)
% Found (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X) Y0))->((((and (trans S)) ((subrel R) S))->((S X) Z0))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X) Y0))) (((and (trans S)) ((subrel R) S))->((S X) Z0))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X) Z0))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X) Y0))->((((and (trans S)) ((subrel R) S))->((S X) Z0))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X) Y0))) (((and (trans S)) ((subrel R) S))->((S X) Z0))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X) Z0))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X) Y0))->((((and (trans S)) ((subrel R) S))->((S X) Z0))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X) Y0))) (((and (trans S)) ((subrel R) S))->((S X) Z0))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X) Z0))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X) Y0))->((((and (trans S)) ((subrel R) S))->((S X) Z0))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X) Y0))) (((and (trans S)) ((subrel R) S))->((S X) Z0))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X) Z0))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X) Y0))->((((and (trans S)) ((subrel R) S))->((S X) Z0))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X) Y0))) (((and (trans S)) ((subrel R) S))->((S X) Z0))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X) Z0))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))) Y0) Z0)))=> (((fun (P:Type) (x3:((((and (trans S)) ((subrel R) S))->((S X) Y0))->((((and (trans S)) ((subrel R) S))->((S X) Z0))->P)))=> (((((and_rect (((and (trans S)) ((subrel R) S))->((S X) Y0))) (((and (trans S)) ((subrel R) S))->((S X) Z0))) P) x3) x2)) (((and (trans S)) ((subrel R) S))->((S X) Z0))) (fun (x3:(((and (trans S)) ((subrel R) S))->((S X) Y0))) (x4:(((and (trans S)) ((subrel R) S))->((S X) Z0)))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (((and (trans S)) ((subrel R) S))->((S X) x30))))
% Found x5:((S X) Z0)
% Found (fun (x5:((S X) Z0))=> x5) as proof of ((S X) Z0)
% Found (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5) as proof of (((S X) Z0)->((S X) Z0))
% Found (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5) as proof of (((S X) Y0)->(((S X) Z0)->((S X) Z0)))
% Found (and_rect10 (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5)) as proof of (((fun (x5:fofType)=> (S X)) X0) Z0)
% Found ((and_rect1 ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5)) as proof of (((fun (x5:fofType)=> (S X)) X0) Z0)
% Found (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5)) as proof of (((fun (x5:fofType)=> (S X)) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (((fun (x5:fofType)=> (S X)) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0))->(((fun (x5:fofType)=> (S X)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z))->(((fun (x5:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType)=> (S X)) X0) Y)) (((fun (x5:fofType)=> (S X)) Y) Z))->(((fun (x5:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (trans (fun (x5:fofType)=> (S X)))
% Found x4:((S X0) Z)
% Found (fun (x5:((S Y0) Z))=> x4) as proof of ((S X0) Z)
% Found (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4) as proof of (((S Y0) Z)->((S X0) Z))
% Found (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4) as proof of (((S X0) Z)->(((S Y0) Z)->((S X0) Z)))
% Found (and_rect10 (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)
% Found ((and_rect1 ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)
% Found (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (forall (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((S x5) Z)))
% Found x5:((S X) Z0)
% Found (fun (x5:((S X) Z0))=> x5) as proof of ((S X) Z0)
% Found (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5) as proof of (((S X) Z0)->((S X) Z0))
% Found (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5) as proof of (((S X) Y0)->(((S X) Z0)->((S X) Z0)))
% Found (and_rect10 (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5)) as proof of (((fun (x5:fofType)=> (S X)) X0) Z0)
% Found ((and_rect1 ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5)) as proof of (((fun (x5:fofType)=> (S X)) X0) Z0)
% Found (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5)) as proof of (((fun (x5:fofType)=> (S X)) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (((fun (x5:fofType)=> (S X)) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0))->(((fun (x5:fofType)=> (S X)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z))->(((fun (x5:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType)=> (S X)) X0) Y)) (((fun (x5:fofType)=> (S X)) Y) Z))->(((fun (x5:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x4) x3)) ((S X) Z0)) (fun (x4:((S X) Y0)) (x5:((S X) Z0))=> x5))) as proof of (trans (fun (x5:fofType)=> (S X)))
% Found x4:((S X0) Z)
% Found (fun (x5:((S Y0) Z))=> x4) as proof of ((S X0) Z)
% Found (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4) as proof of (((S Y0) Z)->((S X0) Z))
% Found (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4) as proof of (((S X0) Z)->(((S Y0) Z)->((S X0) Z)))
% Found (and_rect10 (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)
% Found ((and_rect1 ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)
% Found (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (forall (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x4:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x4) x3)) ((S X0) Z)) (fun (x4:((S X0) Z)) (x5:((S Y0) Z))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((S x5) Z)))
% Found x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))
% Found (fun (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4) as proof of ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))
% Found (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4) as proof of (((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))->((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))
% Found (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4) as proof of (((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))->((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))))
% Found (and_rect10 (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Z0)
% Found ((and_rect1 ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Z0)
% Found (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30))))))
% Found x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))
% Found (fun (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3) as proof of ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))
% Found (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3) as proof of (((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))->((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))))
% Found (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3) as proof of (((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))->(((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))->((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))))
% Found (and_rect10 (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Z0)
% Found ((and_rect1 ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Z0)
% Found (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))->(((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) ((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))) P) x3) x2)) ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))->(((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) ((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))) P) x3) x2)) ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))->(((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) ((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))) P) x3) x2)) ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))->(((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) ((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))) P) x3) x2)) ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))->(((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) ((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))) P) x3) x2)) ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))->(((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) ((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))) P) x3) x2)) ((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (fun (x3:((and (trans (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) X0))))) (x4:((and (trans (fun (x40:fofType)=> ((tc R) Y0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType)=> ((tc R) x4)))) ((subrel R) (fun (x40:fofType)=> ((tc R) x4))))))
% Found x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))
% Found (fun (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3) as proof of ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))
% Found (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3) as proof of (((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))->((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))))
% Found (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3) as proof of (((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))->((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))))
% Found (and_rect10 (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Z0)
% Found ((and_rect1 ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Z0)
% Found (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300)))))))
% Found x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))
% Found (fun (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4) as proof of ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))
% Found (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4) as proof of (((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))->((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))
% Found (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4) as proof of (((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))->((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))))
% Found (and_rect10 (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Z0)
% Found ((and_rect1 ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Z0)
% Found (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))->(((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) P) x3) x2)) ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))) (fun (x3:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0)))))) (x4:((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> ((and (trans (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30)))))))
% Found x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))
% Found (fun (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4) as proof of ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))
% Found (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4) as proof of (((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0)))))
% Found (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4) as proof of (((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))
% Found (and_rect10 (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0)
% Found ((and_rect1 ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))
% Found x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))
% Found (fun (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5) as proof of ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))))
% Found (and_rect10 (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0)
% Found ((and_rect1 ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))))
% Found x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))
% Found (fun (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5) as proof of ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))))
% Found (and_rect10 (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0)
% Found ((and_rect1 ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40))))))
% Found x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))
% Found (fun (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4) as proof of ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))
% Found (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4) as proof of (((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0)))))
% Found (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4) as proof of (((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))
% Found (and_rect10 (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0)
% Found ((and_rect1 ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x4) x3)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x4:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x5:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))
% Found x5:((trans S)->(((subrel R) S)->((S X) Z0)))
% Found (fun (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5) as proof of ((trans S)->(((subrel R) S)->((S X) Z0)))
% Found (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5) as proof of (((trans S)->(((subrel R) S)->((S X) Z0)))->((trans S)->(((subrel R) S)->((S X) Z0))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5) as proof of (((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->((trans S)->(((subrel R) S)->((S X) Z0)))))
% Found (and_rect20 (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0)
% Found ((and_rect2 ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0)
% Found (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))))
% Found x4:((trans S)->(((subrel R) S)->((S X0) Z)))
% Found (fun (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4) as proof of ((trans S)->(((subrel R) S)->((S X0) Z)))
% Found (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4) as proof of (((trans S)->(((subrel R) S)->((S Y0) Z)))->((trans S)->(((subrel R) S)->((S X0) Z))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4) as proof of (((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->((trans S)->(((subrel R) S)->((S X0) Z)))))
% Found (and_rect20 (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)
% Found ((and_rect2 ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)
% Found (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (forall (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))))
% Found x5:(((subrel R) S)->((S X0) Z))
% Found (fun (x6:(((subrel R) S)->((S Y0) Z)))=> x5) as proof of (((subrel R) S)->((S X0) Z))
% Found (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5) as proof of ((((subrel R) S)->((S Y0) Z))->(((subrel R) S)->((S X0) Z)))
% Found (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5) as proof of ((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->(((subrel R) S)->((S X0) Z))))
% Found (and_rect20 (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)
% Found ((and_rect2 (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)
% Found (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (forall (Z0:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))))
% Found x6:(((subrel R) S)->((S X) Z0))
% Found (fun (x6:(((subrel R) S)->((S X) Z0)))=> x6) as proof of (((subrel R) S)->((S X) Z0))
% Found (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6) as proof of ((((subrel R) S)->((S X) Z0))->(((subrel R) S)->((S X) Z0)))
% Found (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6) as proof of ((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->(((subrel R) S)->((S X) Z0))))
% Found (and_rect20 (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0)
% Found ((and_rect2 (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0)
% Found (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (forall (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y) Z))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))))
% Found x4:((trans S)->(((subrel R) S)->((S X0) Z)))
% Found (fun (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4) as proof of ((trans S)->(((subrel R) S)->((S X0) Z)))
% Found (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4) as proof of (((trans S)->(((subrel R) S)->((S Y0) Z)))->((trans S)->(((subrel R) S)->((S X0) Z))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4) as proof of (((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->((trans S)->(((subrel R) S)->((S X0) Z)))))
% Found (and_rect20 (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)
% Found ((and_rect2 ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)
% Found (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (forall (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X0) Z)))->(((trans S)->(((subrel R) S)->((S Y0) Z)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X0) Z)))) ((trans S)->(((subrel R) S)->((S Y0) Z)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X0) Z)))) (fun (x4:((trans S)->(((subrel R) S)->((S X0) Z)))) (x5:((trans S)->(((subrel R) S)->((S Y0) Z))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S x5) Z)))))
% Found x5:((trans S)->(((subrel R) S)->((S X) Z0)))
% Found (fun (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5) as proof of ((trans S)->(((subrel R) S)->((S X) Z0)))
% Found (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5) as proof of (((trans S)->(((subrel R) S)->((S X) Z0)))->((trans S)->(((subrel R) S)->((S X) Z0))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5) as proof of (((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->((trans S)->(((subrel R) S)->((S X) Z0)))))
% Found (and_rect20 (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0)
% Found ((and_rect2 ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0)
% Found (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((S X) Y0)))->(((trans S)->(((subrel R) S)->((S X) Z0)))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((S X) Y0)))) ((trans S)->(((subrel R) S)->((S X) Z0)))) P) x4) x3)) ((trans S)->(((subrel R) S)->((S X) Z0)))) (fun (x4:((trans S)->(((subrel R) S)->((S X) Y0)))) (x5:((trans S)->(((subrel R) S)->((S X) Z0))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((S X) x40)))))
% Found x6:((S X0) Z)
% Found (fun (x7:((S Y0) Z))=> x6) as proof of ((S X0) Z)
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S Y0) Z)->((S X0) Z))
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S X0) Z)->(((S Y0) Z)->((S X0) Z)))
% Found (and_rect20 (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found ((and_rect2 ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((S x7) Z)))
% Found x7:((S X) Z0)
% Found (fun (x7:((S X) Z0))=> x7) as proof of ((S X) Z0)
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Z0)->((S X) Z0))
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Y0)->(((S X) Z0)->((S X) Z0)))
% Found (and_rect20 (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found ((and_rect2 ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0))->(((fun (x7:fofType)=> (S X)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Z:fofType), (((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z))->(((fun (x7:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x7:fofType)=> (S X)) X0) Y)) (((fun (x7:fofType)=> (S X)) Y) Z))->(((fun (x7:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (trans (fun (x7:fofType)=> (S X)))
% Found x6:((S X0) Z)
% Found (fun (x7:((S Y0) Z))=> x6) as proof of ((S X0) Z)
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S Y0) Z)->((S X0) Z))
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S X0) Z)->(((S Y0) Z)->((S X0) Z)))
% Found (and_rect20 (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x50:fofType) (x40:fofType)=> ((S x50) Z)) X0) Z0)
% Found ((and_rect2 ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x50:fofType) (x40:fofType)=> ((S x50) Z)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x50:fofType) (x40:fofType)=> ((S x50) Z)) X0) Z0)
% Found (fun (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((fun (x50:fofType) (x40:fofType)=> ((S x50) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((S x5) Z)))
% Found x7:((S X) Z0)
% Found (fun (x7:((S X) Z0))=> x7) as proof of ((S X) Z0)
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Z0)->((S X) Z0))
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Y0)->(((S X) Z0)->((S X) Z0)))
% Found (and_rect20 (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x50:fofType)=> (S X)) X0) Z0)
% Found ((and_rect2 ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x50:fofType)=> (S X)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x50:fofType)=> (S X)) X0) Z0)
% Found (fun (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((fun (x50:fofType)=> (S X)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0))->(((fun (x5:fofType)=> (S X)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z))->(((fun (x5:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType)=> (S X)) X0) Y)) (((fun (x5:fofType)=> (S X)) Y) Z))->(((fun (x5:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (trans (fun (x5:fofType)=> (S X)))
% Found x5:(((subrel R) S)->((S X0) Z))
% Found (fun (x6:(((subrel R) S)->((S Y0) Z)))=> x5) as proof of (((subrel R) S)->((S X0) Z))
% Found (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5) as proof of ((((subrel R) S)->((S Y0) Z))->(((subrel R) S)->((S X0) Z)))
% Found (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5) as proof of ((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->(((subrel R) S)->((S X0) Z))))
% Found (and_rect20 (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)
% Found ((and_rect2 (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)
% Found (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (forall (Z0:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X0) Z))->((((subrel R) S)->((S Y0) Z))->P)))=> (((((and_rect (((subrel R) S)->((S X0) Z))) (((subrel R) S)->((S Y0) Z))) P) x5) x4)) (((subrel R) S)->((S X0) Z))) (fun (x5:(((subrel R) S)->((S X0) Z))) (x6:(((subrel R) S)->((S Y0) Z)))=> x5))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S x6) Z))))
% Found x6:(((subrel R) S)->((S X) Z0))
% Found (fun (x6:(((subrel R) S)->((S X) Z0)))=> x6) as proof of (((subrel R) S)->((S X) Z0))
% Found (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6) as proof of ((((subrel R) S)->((S X) Z0))->(((subrel R) S)->((S X) Z0)))
% Found (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6) as proof of ((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->(((subrel R) S)->((S X) Z0))))
% Found (and_rect20 (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0)
% Found ((and_rect2 (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0)
% Found (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (forall (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y) Z))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((S X) Y0))->((((subrel R) S)->((S X) Z0))->P)))=> (((((and_rect (((subrel R) S)->((S X) Y0))) (((subrel R) S)->((S X) Z0))) P) x5) x4)) (((subrel R) S)->((S X) Z0))) (fun (x5:(((subrel R) S)->((S X) Y0))) (x6:(((subrel R) S)->((S X) Z0)))=> x6))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((S X) x50))))
% Found x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))
% Found (fun (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4) as proof of ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))
% Found (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4) as proof of (((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))->((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))
% Found (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4) as proof of (((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))->((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))))
% Found (and_rect10 (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Z0)
% Found ((and_rect1 ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Z0)
% Found (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0)))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Z0))))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) x30)))))
% Found x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))
% Found (fun (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3) as proof of ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))
% Found (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3) as proof of (((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))->((subrel R) (fun (x40:fofType)=> ((tc R) X0))))
% Found (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3) as proof of (((subrel R) (fun (x40:fofType)=> ((tc R) X0)))->(((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))->((subrel R) (fun (x40:fofType)=> ((tc R) X0)))))
% Found (and_rect10 (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Z0)
% Found ((and_rect1 ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Z0)
% Found (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType)=> ((tc R) X0)))->(((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType)=> ((tc R) X0)))->(((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType)=> ((tc R) X0)))->(((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType)=> ((tc R) X0)))->(((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType)=> ((tc R) X0)))->(((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType)=> ((tc R) X0)))->(((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) ((subrel R) (fun (x40:fofType)=> ((tc R) Y0)))) P) x3) x2)) ((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (fun (x3:((subrel R) (fun (x40:fofType)=> ((tc R) X0)))) (x4:((subrel R) (fun (x40:fofType)=> ((tc R) Y0))))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType)=> ((tc R) x4)))))
% Found x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))
% Found (fun (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5) as proof of ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))))
% Found (and_rect20 (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))))
% Found x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))
% Found (fun (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4) as proof of ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))))
% Found (and_rect20 (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))))
% Found x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))
% Found (fun (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4) as proof of ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))
% Found (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4) as proof of (((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))->((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))
% Found (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4) as proof of (((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))->((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))))
% Found (and_rect10 (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Z0)
% Found ((and_rect1 ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Z0)
% Found (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Y0))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) Z0)))))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x40) x30))))))
% Found x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))
% Found (fun (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3) as proof of ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))
% Found (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3) as proof of (((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))->((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300)))))
% Found (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3) as proof of (((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))->((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))))
% Found (and_rect10 (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Z0)
% Found ((and_rect1 ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Z0)
% Found (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Y)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) X0) Y0)) (((fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))) Y0) Z0)))=> (((fun (P:Type) (x3:(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))->(((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))->P)))=> (((((and_rect ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300))))) P) x3) x2)) ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (fun (x3:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S X0) x300))))) (x4:((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S Y0) x300)))))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> ((subrel R) (fun (x40:fofType) (x300:fofType)=> (((and (trans S)) ((subrel R) S))->((S x4) x300))))))
% Found x6:((S X0) Z)
% Found (fun (x7:((S Y0) Z))=> x6) as proof of ((S X0) Z)
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S Y0) Z)->((S X0) Z))
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S X0) Z)->(((S Y0) Z)->((S X0) Z)))
% Found (and_rect20 (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found ((and_rect2 ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((S x7) Z)))
% Found x7:((S X) Z0)
% Found (fun (x7:((S X) Z0))=> x7) as proof of ((S X) Z0)
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Z0)->((S X) Z0))
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Y0)->(((S X) Z0)->((S X) Z0)))
% Found (and_rect20 (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found ((and_rect2 ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0))->(((fun (x7:fofType)=> (S X)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Z:fofType), (((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z))->(((fun (x7:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x7:fofType)=> (S X)) X0) Y)) (((fun (x7:fofType)=> (S X)) Y) Z))->(((fun (x7:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (trans (fun (x7:fofType)=> (S X)))
% Found x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4) as proof of (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))
% Found (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4) as proof of ((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))->(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))
% Found (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4) as proof of ((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))->(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))))
% Found (and_rect10 (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Z0)
% Found ((and_rect1 (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Z0)
% Found (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((tc R) X0) x30)))) X1) Y)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((tc R) X0) x30)))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((tc R) X0) x30)))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) x30)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Y0)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X0) Z0))))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((tc R) X0) x30)))))
% Found x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3) as proof of (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))
% Found (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3) as proof of ((forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))->(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00))))
% Found (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3) as proof of ((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))->(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))))
% Found (and_rect10 (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Z0)
% Found ((and_rect1 (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Z0)
% Found (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((tc R) x4) Y0)))) X1) Y)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((tc R) x4) Y0)))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((tc R) x4) Y0)))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((tc R) x4) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00)))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) X1) Y00)))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((tc R) Y0) Y00))))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((tc R) x4) Y0)))))
% Found x6:((S X0) Z)
% Found (fun (x7:((S Y0) Z))=> x6) as proof of ((S X0) Z)
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S Y0) Z)->((S X0) Z))
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S X0) Z)->(((S Y0) Z)->((S X0) Z)))
% Found (and_rect20 (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found ((and_rect2 ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((S x7) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((S x7) Z)))
% Found x7:((S X) Z0)
% Found (fun (x7:((S X) Z0))=> x7) as proof of ((S X) Z0)
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Z0)->((S X) Z0))
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Y0)->(((S X) Z0)->((S X) Z0)))
% Found (and_rect20 (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found ((and_rect2 ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((fun (x7:fofType)=> (S X)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0))->(((fun (x7:fofType)=> (S X)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Z:fofType), (((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z))->(((fun (x7:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x7:fofType)=> (S X)) X0) Y)) (((fun (x7:fofType)=> (S X)) Y) Z))->(((fun (x7:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType)=> (S X)) X0) Y0)) (((fun (x7:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (trans (fun (x7:fofType)=> (S X)))
% Found x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))
% Found (fun (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4) as proof of ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4) as proof of (((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0)))))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4) as proof of (((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))))
% Found (and_rect20 (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0)
% Found ((and_rect2 ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))))
% Found x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))
% Found (fun (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5) as proof of ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5) as proof of (((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5) as proof of (((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))))
% Found (and_rect20 (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0)
% Found ((and_rect2 ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))))
% Found x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))
% Found (fun (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6) as proof of ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))
% Found (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6) as proof of (((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))
% Found (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6) as proof of (((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))))
% Found (and_rect20 (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0)
% Found (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (forall (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y) Z))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))))
% Found x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))
% Found (fun (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5) as proof of ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))
% Found (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5) as proof of (((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))))
% Found (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5) as proof of (((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))))
% Found (and_rect20 (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0)
% Found (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y) Z))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))))
% Found x7:((S X) Z0)
% Found (fun (x7:((S X) Z0))=> x7) as proof of ((S X) Z0)
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Z0)->((S X) Z0))
% Found (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7) as proof of (((S X) Y0)->(((S X) Z0)->((S X) Z0)))
% Found (and_rect20 (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x50:fofType)=> (S X)) X0) Z0)
% Found ((and_rect2 ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x50:fofType)=> (S X)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7)) as proof of (((fun (x50:fofType)=> (S X)) X0) Z0)
% Found (fun (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((fun (x50:fofType)=> (S X)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0))->(((fun (x5:fofType)=> (S X)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z))->(((fun (x5:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType)=> (S X)) X0) Y)) (((fun (x5:fofType)=> (S X)) Y) Z))->(((fun (x5:fofType)=> (S X)) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType)=> (S X)) X0) Y0)) (((fun (x5:fofType)=> (S X)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X) Y0)->(((S X) Z0)->P)))=> (((((and_rect ((S X) Y0)) ((S X) Z0)) P) x6) x5)) ((S X) Z0)) (fun (x6:((S X) Y0)) (x7:((S X) Z0))=> x7))) as proof of (trans (fun (x5:fofType)=> (S X)))
% Found x6:((S X0) Z)
% Found (fun (x7:((S Y0) Z))=> x6) as proof of ((S X0) Z)
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S Y0) Z)->((S X0) Z))
% Found (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6) as proof of (((S X0) Z)->(((S Y0) Z)->((S X0) Z)))
% Found (and_rect20 (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x50:fofType) (x40:fofType)=> ((S x50) Z)) X0) Z0)
% Found ((and_rect2 ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x50:fofType) (x40:fofType)=> ((S x50) Z)) X0) Z0)
% Found (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6)) as proof of (((fun (x50:fofType) (x40:fofType)=> ((S x50) Z)) X0) Z0)
% Found (fun (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((fun (x50:fofType) (x40:fofType)=> ((S x50) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((S x5) Z)) Y0) Z0)))=> (((fun (P:Type) (x6:(((S X0) Z)->(((S Y0) Z)->P)))=> (((((and_rect ((S X0) Z)) ((S Y0) Z)) P) x6) x5)) ((S X0) Z)) (fun (x6:((S X0) Z)) (x7:((S Y0) Z))=> x6))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((S x5) Z)))
% Found x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4) as proof of (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))
% Found (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4) as proof of ((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))->(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))
% Found (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4) as proof of ((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))->(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))))
% Found (and_rect10 (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Z0)
% Found ((and_rect1 (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Z0)
% Found (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Y)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Y0))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30))))))
% Found x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3) as proof of (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))
% Found (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3) as proof of ((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))->(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00)))))
% Found (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3) as proof of ((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))->(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))))
% Found (and_rect10 (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Z0)
% Found ((and_rect1 (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Z0)
% Found (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) Y0) Z0))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) Y0) Z))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0))))) X1) Y)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0))))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0))))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) X1) Y0)) (((fun (x4:fofType) (x30:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S x4) Y00))))) Y0) Z0)))=> (((fun (P:Type) (x3:((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))->((forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00))))) P) x3) x2)) (forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (fun (x3:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S X1) Y00))))) (x4:(forall (Y00:fofType), (((R X0) Y00)->(((and (trans S)) ((subrel R) S))->((S Y0) Y00)))))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0))))))
% Found x4:(((R X0) Y0)->(((tc R) X0) Z0))
% Found (fun (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4) as proof of (((R X0) Y0)->(((tc R) X0) Z0))
% Found (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4) as proof of ((((R X0) Y0)->(((tc R) X0) Z0))->(((R X0) Y0)->(((tc R) X0) Z0)))
% Found (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4) as proof of ((((R X0) Y0)->(((tc R) X0) Y1))->((((R X0) Y0)->(((tc R) X0) Z0))->(((R X0) Y0)->(((tc R) X0) Z0))))
% Found (and_rect10 (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Z0)
% Found ((and_rect1 (((R X0) Y0)->(((tc R) X0) Z0))) (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Z0)
% Found (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X0) Y1))->((((R X0) Y0)->(((tc R) X0) Z0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X0) Y1))) (((R X0) Y0)->(((tc R) X0) Z0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X0) Z0))) (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X0) Y1))->((((R X0) Y0)->(((tc R) X0) Z0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X0) Y1))) (((R X0) Y0)->(((tc R) X0) Z0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X0) Z0))) (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X0) Y1))->((((R X0) Y0)->(((tc R) X0) Z0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X0) Y1))) (((R X0) Y0)->(((tc R) X0) Z0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X0) Z0))) (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) Y1) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Z0))
% Found (fun (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X0) Y1))->((((R X0) Y0)->(((tc R) X0) Z0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X0) Y1))) (((R X0) Y0)->(((tc R) X0) Z0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X0) Z0))) (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) Y1) Z))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X0) Y1))->((((R X0) Y0)->(((tc R) X0) Z0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X0) Y1))) (((R X0) Y0)->(((tc R) X0) Z0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X0) Z0))) (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Y)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X0) Y1))->((((R X0) Y0)->(((tc R) X0) Z0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X0) Y1))) (((R X0) Y0)->(((tc R) X0) Z0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X0) Z0))) (fun (x3:(((R X0) Y0)->(((tc R) X0) Y1))) (x4:(((R X0) Y0)->(((tc R) X0) Z0)))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) X0) x30))))
% Found x3:(((R X0) Y0)->(((tc R) X1) Y0))
% Found (fun (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3) as proof of (((R X0) Y0)->(((tc R) X1) Y0))
% Found (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3) as proof of ((((R X0) Y0)->(((tc R) Y1) Y0))->(((R X0) Y0)->(((tc R) X1) Y0)))
% Found (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3) as proof of ((((R X0) Y0)->(((tc R) X1) Y0))->((((R X0) Y0)->(((tc R) Y1) Y0))->(((R X0) Y0)->(((tc R) X1) Y0))))
% Found (and_rect10 (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Z0)
% Found ((and_rect1 (((R X0) Y0)->(((tc R) X1) Y0))) (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Z0)
% Found (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X1) Y0))->((((R X0) Y0)->(((tc R) Y1) Y0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X1) Y0))) (((R X0) Y0)->(((tc R) Y1) Y0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X1) Y0))) (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X1) Y0))->((((R X0) Y0)->(((tc R) Y1) Y0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X1) Y0))) (((R X0) Y0)->(((tc R) Y1) Y0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X1) Y0))) (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X1) Y0))->((((R X0) Y0)->(((tc R) Y1) Y0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X1) Y0))) (((R X0) Y0)->(((tc R) Y1) Y0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X1) Y0))) (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) Y1) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Z0))
% Found (fun (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X1) Y0))->((((R X0) Y0)->(((tc R) Y1) Y0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X1) Y0))) (((R X0) Y0)->(((tc R) Y1) Y0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X1) Y0))) (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) Y1) Z))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X1) Y0))->((((R X0) Y0)->(((tc R) Y1) Y0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X1) Y0))) (((R X0) Y0)->(((tc R) Y1) Y0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X1) Y0))) (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Y)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((tc R) X1) Y0))->((((R X0) Y0)->(((tc R) Y1) Y0))->P)))=> (((((and_rect (((R X0) Y0)->(((tc R) X1) Y0))) (((R X0) Y0)->(((tc R) Y1) Y0))) P) x3) x2)) (((R X0) Y0)->(((tc R) X1) Y0))) (fun (x3:(((R X0) Y0)->(((tc R) X1) Y0))) (x4:(((R X0) Y0)->(((tc R) Y1) Y0)))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((tc R) x4) Y0))))
% Found x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))
% Found (fun (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5) as proof of ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))
% Found (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5) as proof of (((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))
% Found (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5) as proof of (((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))
% Found (and_rect10 (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0)
% Found ((and_rect1 ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0)
% Found (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))))
% Found x4:((subrel R) (fun (x50:fofType)=> (S X0)))
% Found (fun (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4) as proof of ((subrel R) (fun (x50:fofType)=> (S X0)))
% Found (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4) as proof of (((subrel R) (fun (x50:fofType)=> (S Y0)))->((subrel R) (fun (x50:fofType)=> (S X0))))
% Found (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4) as proof of (((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->((subrel R) (fun (x50:fofType)=> (S X0)))))
% Found (and_rect10 (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0)
% Found ((and_rect1 ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0)
% Found (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))))
% Found x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))
% Found (fun (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5) as proof of (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))
% Found (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5) as proof of ((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))->(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0))))))
% Found (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5) as proof of ((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))->(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))))
% Found (and_rect20 (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Z0)
% Found ((and_rect2 (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Z0)
% Found (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5))) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) Y0) Z))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) Y) Z))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S X0)))) ((subrel R) (fun (x500:fofType)=> (S X0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType)=> (S Y0)))) ((subrel R) (fun (x500:fofType)=> (S Y0))))))=> x5))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType)=> (S x6)))) ((subrel R) (fun (x500:fofType)=> (S x6)))))))
% Found x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))
% Found (fun (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6) as proof of (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))
% Found (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6) as proof of ((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))->(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))
% Found (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6) as proof of ((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))->(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))))
% Found (and_rect20 (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Z0)
% Found ((and_rect2 (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Z0)
% Found (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6))) as proof of (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6))) as proof of (forall (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) Y0) Z))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) Y) Z))->(((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))->((((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))->P)))=> (((((and_rect (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) P) x5) x4)) (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))))) (fun (x5:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Y0)))))) (x6:(((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) Z0))))))=> x6))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> (((subrel R) S)->((and (trans (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))) ((subrel R) (fun (x500:fofType) (x400:fofType)=> ((S x500) x50)))))))
% Found x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))
% Found (fun (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4) as proof of ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))))
% Found (and_rect20 (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S X0) x400))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S Y0) x400)))))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x5) x400))))))))
% Found x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))
% Found (fun (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5) as proof of ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))
% Found (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5) as proof of (((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))))
% Found (and_rect20 (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))->(((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) P) x4) x3)) ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0))))))) (fun (x4:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Y0))))))) (x5:((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) Z0)))))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((and (trans (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40)))))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((trans S)->(((subrel R) S)->((S x50) x40))))))))
% Found x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))
% Found (fun (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5) as proof of ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))
% Found (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5) as proof of (((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))
% Found (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5) as proof of (((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))))
% Found (and_rect10 (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0)
% Found ((and_rect1 ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0)
% Found (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))->(((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0)))) (fun (x4:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Y0)))) (x5:((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) Z0))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType) (x400:fofType)=> ((S x50) x40)))))
% Found x4:((subrel R) (fun (x50:fofType)=> (S X0)))
% Found (fun (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4) as proof of ((subrel R) (fun (x50:fofType)=> (S X0)))
% Found (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4) as proof of (((subrel R) (fun (x50:fofType)=> (S Y0)))->((subrel R) (fun (x50:fofType)=> (S X0))))
% Found (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4) as proof of (((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->((subrel R) (fun (x50:fofType)=> (S X0)))))
% Found (and_rect10 (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0)
% Found ((and_rect1 ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0)
% Found (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))) Y0) Z0)))=> (((fun (P:Type) (x4:(((subrel R) (fun (x50:fofType)=> (S X0)))->(((subrel R) (fun (x50:fofType)=> (S Y0)))->P)))=> (((((and_rect ((subrel R) (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))) P) x4) x3)) ((subrel R) (fun (x50:fofType)=> (S X0)))) (fun (x4:((subrel R) (fun (x50:fofType)=> (S X0)))) (x5:((subrel R) (fun (x50:fofType)=> (S Y0))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((subrel R) (fun (x50:fofType)=> (S x5)))))
% Found x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))
% Found (fun (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6) as proof of ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))
% Found (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6) as proof of (((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))->((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0)))))
% Found (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6) as proof of (((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))->(((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))->((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))))
% Found (and_rect20 (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Z0)
% Found (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))->(((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) ((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))->(((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) ((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))->(((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) ((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))->(((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) ((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6))) as proof of (forall (Z:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) Y0) Z))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))->(((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) ((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Y)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) Y) Z))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))->(((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) ((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x70:fofType)=> (S X0)))) ((subrel R) (fun (x70:fofType)=> (S X0))))) (x7:((and (trans (fun (x70:fofType)=> (S Y0)))) ((subrel R) (fun (x70:fofType)=> (S Y0)))))=> x6))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType)=> (S x7)))) ((subrel R) (fun (x70:fofType)=> (S x7))))))
% Found x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))
% Found (fun (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7) as proof of ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))
% Found (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7) as proof of (((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))->((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))
% Found (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7) as proof of (((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))->(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))->((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))))
% Found (and_rect20 (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Z0)
% Found (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))->(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) P) x6) x5)) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))->(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) P) x6) x5)) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))->(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) P) x6) x5)) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))->(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) P) x6) x5)) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7))) as proof of (forall (Z:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) Y0) Z))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))->(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) P) x6) x5)) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Y)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) Y) Z))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))->(((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) P) x6) x5)) ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0))))) (fun (x6:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Y0))))) (x7:((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) Z0)))))=> x7))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x70:fofType) (x600:fofType)=> ((S x70) x60)))) ((subrel R) (fun (x70:fofType) (x600:fofType)=> ((S x70) x60))))))
% Found x4:(((tc R) X1) Y0)
% Found (fun (x5:(((tc R) Y1) Y0))=> x4) as proof of (((tc R) X1) Y0)
% Found (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4) as proof of ((((tc R) Y1) Y0)->(((tc R) X1) Y0))
% Found (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4) as proof of ((((tc R) X1) Y0)->((((tc R) Y1) Y0)->(((tc R) X1) Y0)))
% Found (and_rect10 (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4)) as proof of (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Z0)
% Found ((and_rect1 (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4)) as proof of (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Z0)
% Found (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4)) as proof of (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Z0)
% Found (fun (x3:((and (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Y1)) (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Y1)) (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (((and (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Y1)) (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) Y1) Z0))->(((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Z0))
% Found (fun (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Y1)) (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Y1)) (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) Y1) Z))->(((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Y1)) (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Y)) (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) Y) Z))->(((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) X1) Y1)) (((fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (trans (fun (x40:fofType) (x300:fofType)=> (((tc R) x40) Y0)))
% Found x5:(((tc R) X0) Z0)
% Found (fun (x5:(((tc R) X0) Z0))=> x5) as proof of (((tc R) X0) Z0)
% Found (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5) as proof of ((((tc R) X0) Z0)->(((tc R) X0) Z0))
% Found (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5) as proof of ((((tc R) X0) Y1)->((((tc R) X0) Z0)->(((tc R) X0) Z0)))
% Found (and_rect10 (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5)) as proof of (((fun (x40:fofType)=> ((tc R) X0)) X1) Z0)
% Found ((and_rect1 (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5)) as proof of (((fun (x40:fofType)=> ((tc R) X0)) X1) Z0)
% Found (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5)) as proof of (((fun (x40:fofType)=> ((tc R) X0)) X1) Z0)
% Found (fun (x3:((and (((fun (x40:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x40:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (((fun (x40:fofType)=> ((tc R) X0)) X1) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x40:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x40:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (((and (((fun (x40:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x40:fofType)=> ((tc R) X0)) Y1) Z0))->(((fun (x40:fofType)=> ((tc R) X0)) X1) Z0))
% Found (fun (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x40:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x40:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x40:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x40:fofType)=> ((tc R) X0)) Y1) Z))->(((fun (x40:fofType)=> ((tc R) X0)) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x40:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x40:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x40:fofType)=> ((tc R) X0)) X1) Y)) (((fun (x40:fofType)=> ((tc R) X0)) Y) Z))->(((fun (x40:fofType)=> ((tc R) X0)) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x40:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x40:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (trans (fun (x40:fofType)=> ((tc R) X0)))
% Found x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))
% Found (fun (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5) as proof of ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5) as proof of (((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5) as proof of (((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))))
% Found (and_rect20 (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0)
% Found ((and_rect2 ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Y0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) Z0)))))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40)))) ((subrel R) (fun (x50:fofType) (x4000:fofType)=> ((S x50) x40))))))))
% Found x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))
% Found (fun (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4) as proof of ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4) as proof of (((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0)))))))
% Found (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4) as proof of (((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))))
% Found (and_rect20 (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0)
% Found ((and_rect2 ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0)
% Found (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) X0) Y0)) (((fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))) Y0) Z0)))=> (((fun (P:Type) (x4:(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))->(((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))->P)))=> (((((and_rect ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))))) P) x4) x3)) ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (fun (x4:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))) (x5:((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> ((trans S)->(((subrel R) S)->((and (trans (fun (x50:fofType)=> (S x5)))) ((subrel R) (fun (x50:fofType)=> (S x5))))))))
% Found x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))
% Found (fun (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3) as proof of (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))
% Found (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3) as proof of ((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))->(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0))))
% Found (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3) as proof of ((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))->(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))))
% Found (and_rect10 (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Z0)
% Found ((and_rect1 (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Z0)
% Found (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3))) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) Y1) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Z0))
% Found (fun (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) Y1) Z))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Y)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X1) Y0)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S Y1) Y0))))=> x3))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S x4) Y0)))))
% Found x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))
% Found (fun (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4) as proof of (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))
% Found (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4) as proof of ((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))->(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))
% Found (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4) as proof of ((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))->(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))))
% Found (and_rect10 (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Z0)
% Found ((and_rect1 (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Z0)
% Found (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4)) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Z0)
% Found (fun (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4))) as proof of (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Z0)
% Found (fun (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4))) as proof of (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) Y1) Z0))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Z0))
% Found (fun (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) Y1) Z))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Y)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) Y) Z))->(((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x2:((and (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) X1) Y1)) (((fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))) Y1) Z0)))=> (((fun (P:Type) (x3:((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))->((((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))->P)))=> (((((and_rect (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) P) x3) x2)) (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0)))) (fun (x3:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Y1)))) (x4:(((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) Z0))))=> x4))) as proof of (trans (fun (x4:fofType) (x30:fofType)=> (((R X0) Y0)->(((and (trans S)) ((subrel R) S))->((S X0) x30)))))
% Found x5:(((tc R) X0) Z0)
% Found (fun (x5:(((tc R) X0) Z0))=> x5) as proof of (((tc R) X0) Z0)
% Found (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5) as proof of ((((tc R) X0) Z0)->(((tc R) X0) Z0))
% Found (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5) as proof of ((((tc R) X0) Y1)->((((tc R) X0) Z0)->(((tc R) X0) Z0)))
% Found (and_rect10 (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5)) as proof of (((fun (x5:fofType)=> ((tc R) X0)) X1) Z0)
% Found ((and_rect1 (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5)) as proof of (((fun (x5:fofType)=> ((tc R) X0)) X1) Z0)
% Found (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5)) as proof of (((fun (x5:fofType)=> ((tc R) X0)) X1) Z0)
% Found (fun (x3:((and (((fun (x5:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x5:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (((fun (x5:fofType)=> ((tc R) X0)) X1) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x5:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (((and (((fun (x5:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x5:fofType)=> ((tc R) X0)) Y1) Z0))->(((fun (x5:fofType)=> ((tc R) X0)) X1) Z0))
% Found (fun (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x5:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x5:fofType)=> ((tc R) X0)) Y1) Z))->(((fun (x5:fofType)=> ((tc R) X0)) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x5:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType)=> ((tc R) X0)) X1) Y)) (((fun (x5:fofType)=> ((tc R) X0)) Y) Z))->(((fun (x5:fofType)=> ((tc R) X0)) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType)=> ((tc R) X0)) X1) Y1)) (((fun (x5:fofType)=> ((tc R) X0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X0) Y1)->((((tc R) X0) Z0)->P)))=> (((((and_rect (((tc R) X0) Y1)) (((tc R) X0) Z0)) P) x4) x3)) (((tc R) X0) Z0)) (fun (x4:(((tc R) X0) Y1)) (x5:(((tc R) X0) Z0))=> x5))) as proof of (trans (fun (x5:fofType)=> ((tc R) X0)))
% Found x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))
% Found (fun (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4) as proof of (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4) as proof of ((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00))))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4) as proof of ((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))))
% Found (and_rect10 (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z0)
% Found ((and_rect1 (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z0)
% Found (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->((S x5) Y0)))) X1) Y)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->((S x5) Y0)))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->((S x5) Y0)))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->((S x5) Y0)))))
% Found x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))
% Found (fun (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5) as proof of (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5) as proof of ((forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))->(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5) as proof of ((forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))->(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))))
% Found (and_rect10 (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Z0)
% Found ((and_rect1 (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Z0)
% Found (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5))) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) Y0) Z0))->(((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) Y0) Z))->(((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->((S X0) x40)))) X1) Y)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->((S X0) x40)))) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->((S X0) x40)))) X1) Z)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S X0) x40)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))->((forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Y0)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S X0) Z0))))=> x5))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> (forall (Y0:fofType), (((R X0) Y0)->((S X0) x40)))))
% Found x4:(((tc R) X1) Y0)
% Found (fun (x5:(((tc R) Y1) Y0))=> x4) as proof of (((tc R) X1) Y0)
% Found (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4) as proof of ((((tc R) Y1) Y0)->(((tc R) X1) Y0))
% Found (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4) as proof of ((((tc R) X1) Y0)->((((tc R) Y1) Y0)->(((tc R) X1) Y0)))
% Found (and_rect10 (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Z0)
% Found ((and_rect1 (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Z0)
% Found (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Y1)) (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Z0)
% Found (fun (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Y1)) (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (((and (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Y1)) (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) Y1) Z0))->(((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Z0))
% Found (fun (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Y1)) (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (forall (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Y1)) (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) Y1) Z))->(((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Y1)) (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Y)) (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) Y) Z))->(((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Z)))
% Found (fun (X1:fofType) (Y1:fofType) (Z0:fofType) (x3:((and (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) X1) Y1)) (((fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)) Y1) Z0)))=> (((fun (P:Type) (x4:((((tc R) X1) Y0)->((((tc R) Y1) Y0)->P)))=> (((((and_rect (((tc R) X1) Y0)) (((tc R) Y1) Y0)) P) x4) x3)) (((tc R) X1) Y0)) (fun (x4:(((tc R) X1) Y0)) (x5:(((tc R) Y1) Y0))=> x4))) as proof of (trans (fun (x5:fofType) (x40:fofType)=> (((tc R) x5) Y0)))
% Found x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))
% Found (fun (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6) as proof of ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))
% Found (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6) as proof of (((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0)))))
% Found (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6) as proof of (((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))))
% Found (and_rect20 (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Z0)
% Found (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6))) as proof of (forall (Z:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) Y0) Z))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Y)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) Y) Z))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))->(((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) ((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0))))) P) x6) x5)) ((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (fun (x6:((and (trans (fun (x50:fofType)=> (S X0)))) ((subrel R) (fun (x50:fofType)=> (S X0))))) (x7:((and (trans (fun (x50:fofType)=> (S Y0)))) ((subrel R) (fun (x50:fofType)=> (S Y0)))))=> x6))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType)=> (S x7)))) ((subrel R) (fun (x50:fofType)=> (S x7))))))
% Found x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))
% Found (fun (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7) as proof of ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))
% Found (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7) as proof of (((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))->((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))
% Found (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7) as proof of (((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))->((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))))
% Found (and_rect20 (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Z0)
% Found (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) P) x6) x5)) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7)) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) P) x6) x5)) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) P) x6) x5)) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) P) x6) x5)) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7))) as proof of (forall (Z:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) Y0) Z))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) P) x6) x5)) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Y)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) Y) Z))->(((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) X0) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))->(((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))->P)))=> (((((and_rect ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) P) x6) x5)) ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0))))) (fun (x6:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Y0))))) (x7:((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) Z0)))))=> x7))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((and (trans (fun (x50:fofType) (x40:fofType)=> ((S x50) x60)))) ((subrel R) (fun (x50:fofType) (x40:fofType)=> ((S x50) x60))))))
% Found x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))
% Found (fun (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5) as proof of ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))
% Found (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5) as proof of (((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))))
% Found (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5) as proof of (((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))))
% Found (and_rect20 (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0)
% Found (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (forall (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y) Z))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S X0) x500)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S Y0) x500))))))=> x5))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x6) x500)))))))
% Found x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))
% Found (fun (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6) as proof of ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))
% Found (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6) as proof of (((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))
% Found (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6) as proof of (((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))))
% Found (and_rect20 (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0)
% Found ((and_rect2 ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0)
% Found (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6)) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (forall (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (forall (Y:fofType) (Z:fofType), (((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y) Z))->(((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Z)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) X0) Y0)) (((fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))) Y0) Z0)))=> (((fun (P:Type) (x5:(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))->(((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))->P)))=> (((((and_rect ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) P) x5) x4)) ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0)))))) (fun (x5:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Y0)))))) (x6:((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) Z0))))))=> x6))) as proof of (trans (fun (x6:fofType) (x50:fofType)=> ((and (trans (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50))))) ((subrel R) (fun (x60:fofType) (x500:fofType)=> (((subrel R) S)->((S x60) x50)))))))
% Found x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))
% Found (fun (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4) as proof of (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4) as proof of ((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00))))
% Found (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4) as proof of ((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))))
% Found (and_rect10 (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z0)
% Found ((and_rect1 (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z0)
% Found (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> x4)) as proof of (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Z0)
% Found (fun (x3:((and (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) X1) Y0)) (((fun (x5:fofType) (x40:fofType)=> (forall (Y00:fofType), (((R X0) Y00)->((S x5) Y00)))) Y0) Z0)))=> (((fun (P:Type) (x4:((forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))->((forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))->P)))=> (((((and_rect (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00)))) P) x4) x3)) (forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (fun (x4:(forall (Y00:fofType), (((R X0) Y00)->((S X1) Y00)))) (x5:(forall (Y00:fofType), (((R X0) Y00)->((S Y0) Y00))))=> 
% EOF
%------------------------------------------------------------------------------