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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEU490^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 : n091.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:17 EDT 2014

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

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEU490^1 : TPTP v6.1.0. Released v3.6.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n091.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:22:01 CDT 2014
% % CPUTime  : 300.09 
% 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 0x200dfc8>, <kernel.DependentProduct object at 0x1fee0e0>) 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 0x200d7a0>, <kernel.DependentProduct object at 0x1e2bf80>) 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 0x200d488>, <kernel.DependentProduct object at 0x1e2b3b0>) 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 0x1e2b710>, <kernel.DependentProduct object at 0x1e2bdd0>) 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 0x1e2b4d0>, <kernel.DependentProduct object at 0x1e2ba70>) 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 0x1e2b4d0>, <kernel.DependentProduct object at 0x1e2be60>) 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 0x1e2bfc8>, <kernel.DependentProduct object at 0x1e2b560>) 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 0x1e2b4d0>, <kernel.DependentProduct object at 0x1e2b5f0>) 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 0x1e2b4d0>, <kernel.DependentProduct object at 0x2263050>) 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 0x1e2b5f0>, <kernel.DependentProduct object at 0x2263128>) 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 0x2263170>, <kernel.DependentProduct object at 0x1e21680>) 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 0x22633b0>, <kernel.DependentProduct object at 0x1e21248>) 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 0x1e217e8>, <kernel.DependentProduct object at 0x1e21488>) 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 0x1e21518>, <kernel.DependentProduct object at 0x1e21908>) 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 0x1e21710>, <kernel.DependentProduct object at 0x1e21440>) 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 0x1e210e0>, <kernel.DependentProduct object at 0x1e219e0>) 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 0x1e210e0>, <kernel.DependentProduct object at 0x1e215f0>) 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 0x1e21200>, <kernel.DependentProduct object at 0x1e215a8>) 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 0x1e215f0>, <kernel.DependentProduct object at 0x1e214d0>) 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 0x1e214d0>, <kernel.DependentProduct object at 0x1e21b48>) 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 0x1e21bd8>, <kernel.DependentProduct object at 0x1e21cf8>) 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 0x1e211b8>, <kernel.DependentProduct object at 0x1e21bd8>) 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 0x1e21cf8>, <kernel.DependentProduct object at 0x1e210e0>) 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 0x1e211b8>, <kernel.DependentProduct object at 0x1e21d88>) 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 0x1e211b8>, <kernel.DependentProduct object at 0x1e21f80>) 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 0x1e21680>, <kernel.DependentProduct object at 0x1ffb3f8>) 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 0x1e211b8>, <kernel.DependentProduct object at 0x1ffb050>) 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 0x1ffb3f8>, <kernel.DependentProduct object at 0x1ffb440>) 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 0x1ffb050>, <kernel.DependentProduct object at 0x1ffb320>) 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))), ((sconfl R)->(cr R))) of role conjecture named semi_confluence_implies_church_rosser
% Conjecture to prove = (forall (R:(fofType->(fofType->Prop))), ((sconfl R)->(cr R))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (R:(fofType->(fofType->Prop))), ((sconfl R)->(cr 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))), ((sconfl R)->(cr R)))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of (((trc R) X0) Y)
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of ((((rc (tc R)) X) Y)->(((trc R) X0) Y))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of (((trc R) X0) Y)
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of ((((rc (tc R)) X) Y)->(((trc R) X0) Y))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found eq_ref00:=(eq_ref0 X0):(((eq fofType) X0) X0)
% Found (eq_ref0 X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found ((or_introl0 (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of (((trc R) X0) Y)
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of ((((rc (tc R)) X) Y)->(((trc R) X0) Y))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found eq_ref00:=(eq_ref0 X0):(((eq fofType) X0) X0)
% Found (eq_ref0 X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found ((or_introl0 (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of (((trc R) X0) Y)
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of ((((rc (tc R)) X) Y)->(((trc R) X0) Y))
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found (fun (x2:(((rc (tc R)) Y) X))=> x2) as proof of (((trc R) Y) x1)
% Found (fun (x2:(((rc (tc R)) Y) X))=> x2) as proof of ((((rc (tc R)) Y) X)->(((trc R) Y) x1))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of (((trc R) X) x1)
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of ((((rc (tc R)) X) Y)->(((trc R) X) x1))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found (fun (x2:(((rc (tc R)) Y) X))=> x2) as proof of (((trc R) Y) x1)
% Found (fun (x2:(((rc (tc R)) Y) X))=> x2) as proof of ((((rc (tc R)) Y) X)->(((trc R) Y) x1))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of (((trc R) X) x1)
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of ((((rc (tc R)) X) Y)->(((trc R) X) x1))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of (((trc R) X0) Y)
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of ((((rc (tc R)) X) Y)->(((trc R) X0) Y))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of (((trc R) X0) Y)
% Found (fun (x2:(((rc (tc R)) X) Y))=> x2) as proof of ((((rc (tc R)) X) Y)->(((trc R) X0) Y))
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (forall (Y:fofType), (((R X1) Y)->((R X1) Y)))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of ((subrel R) R)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found (fun (x4:((R X1) Y0))=> x4) as proof of (((fun (x6:fofType)=> (R X0)) X1) Y0)
% Found (fun (Y0:fofType) (x4:((R X1) Y0))=> x4) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found eq_ref00:=(eq_ref0 ((subrel R) (join R))):(((eq Prop) ((subrel R) (join R))) ((subrel R) (join R)))
% Found (eq_ref0 ((subrel R) (join R))) as proof of (((eq Prop) ((subrel R) (join R))) b)
% Found ((eq_ref Prop) ((subrel R) (join R))) as proof of (((eq Prop) ((subrel R) (join R))) b)
% Found ((eq_ref Prop) ((subrel R) (join R))) as proof of (((eq Prop) ((subrel R) (join R))) b)
% Found ((eq_ref Prop) ((subrel R) (join R))) as proof of (((eq Prop) ((subrel R) (join R))) b)
% Found eq_ref00:=(eq_ref0 ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))):(((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5))))
% Found (eq_ref0 ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) as proof of (((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) as proof of (((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) as proof of (((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) as proof of (((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) b)
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (forall (Y:fofType), (((R X1) Y)->((R X1) Y)))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of ((subrel R) R)
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found (fun (x4:((R X1) Y0))=> x4) as proof of (((fun (x6:fofType)=> (R X0)) X1) Y0)
% Found (fun (Y0:fofType) (x4:((R X1) Y0))=> x4) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found eq_ref00:=(eq_ref0 ((subrel R) (join R))):(((eq Prop) ((subrel R) (join R))) ((subrel R) (join R)))
% Found (eq_ref0 ((subrel R) (join R))) as proof of (((eq Prop) ((subrel R) (join R))) b)
% Found ((eq_ref Prop) ((subrel R) (join R))) as proof of (((eq Prop) ((subrel R) (join R))) b)
% Found ((eq_ref Prop) ((subrel R) (join R))) as proof of (((eq Prop) ((subrel R) (join R))) b)
% Found ((eq_ref Prop) ((subrel R) (join R))) as proof of (((eq Prop) ((subrel R) (join R))) b)
% Found eq_ref00:=(eq_ref0 ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))):(((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5))))
% Found (eq_ref0 ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) as proof of (((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) as proof of (((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) as proof of (((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) as proof of (((eq Prop) ((subrel R) (fun (x5:fofType) (x40:fofType)=> (((join R) x40) x5)))) b)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found eq_ref00:=(eq_ref0 X0):(((eq fofType) X0) X0)
% Found (eq_ref0 X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found ((or_introl0 (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Y)
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (forall (Y:fofType), (((R X1) Y)->((R X1) Y)))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of ((subrel R) R)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found (fun (x4:((R X1) Y0))=> x4) as proof of (((fun (x6:fofType)=> (R X0)) X1) Y0)
% Found (fun (Y0:fofType) (x4:((R X1) Y0))=> x4) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found x300:=(x30 x2):(((trc R) Y) x1)
% Found (x30 x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x1))
% Found x300:=(x30 x2):(((trc R) X) x1)
% Found (x30 x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x1))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found eq_ref00:=(eq_ref0 X0):(((eq fofType) X0) X0)
% Found (eq_ref0 X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found ((or_introl0 (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Y)
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (forall (Y:fofType), (((R X1) Y)->((R X1) Y)))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of ((subrel R) R)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found (fun (x4:((R X1) Y0))=> x4) as proof of (((fun (x6:fofType)=> (R X0)) X1) Y0)
% Found (fun (Y0:fofType) (x4:((R X1) Y0))=> x4) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found (x30 x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x1))
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found (x30 x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x1))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found (x30 x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x1))
% Found eq_ref00:=(eq_ref0 X0):(((eq fofType) X0) X0)
% Found (eq_ref0 X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found ((or_introl0 (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Y)
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (forall (Y:fofType), (((R X1) Y)->((R X1) Y)))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of ((subrel R) R)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found (fun (x4:((R X1) Y0))=> x4) as proof of (((fun (x6:fofType)=> (R X0)) X1) Y0)
% Found (fun (Y0:fofType) (x4:((R X1) Y0))=> x4) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found (x30 x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x1))
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found x4 as proof of ((R X0) Y0)
% Found x300:=(x30 x2):(((trc R) Y) x1)
% Found (x30 x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found ((conj00 x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (((conj0 (((trc R) Y) x1)) x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (fun (x3:(((eq fofType) X) Y))=> ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2))) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (fun (x3:(((eq fofType) X) Y))=> ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2))) as proof of ((((eq fofType) X) Y)->((and (((trc R) X) x1)) (((trc R) Y) x1)))
% Found x2:(((rc (tc R)) X) Y)
% Found x2 as proof of (((trc R) X) x1)
% Found x300:=(x30 x2):(((trc R) X) x1)
% Found (x30 x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found ((conj00 ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (((conj0 (((trc R) Y) x1)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2)) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2)) as proof of ((((eq fofType) Y) X)->((and (((trc R) X) x1)) (((trc R) Y) x1)))
% Found x2:(((rc (tc R)) Y) X)
% Found x2 as proof of (((trc R) Y) x1)
% Found x300:=(x30 x2):(((trc R) Y) x1)
% Found (x30 x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x1))
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x300:=(x30 x2):(((trc R) X) x1)
% Found (x30 x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x1))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found eq_ref00:=(eq_ref0 X0):(((eq fofType) X0) X0)
% Found (eq_ref0 X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Y)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found ((or_introl0 (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Y)) (((tc R) X0) Y))
% Found (((or_introl (((eq fofType) X0) Y)) (((tc R) X0) Y)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Y)
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->((R X1) Y0))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (forall (Y:fofType), (((R X1) Y)->((R X1) Y)))
% Found (fun (X1:fofType) (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of ((subrel R) R)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found (fun (x4:((R X1) Y0))=> x4) as proof of (((fun (x6:fofType)=> (R X0)) X1) Y0)
% Found (fun (Y0:fofType) (x4:((R X1) Y0))=> x4) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found (x30 x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x1))
% Found eq_ref000:=(eq_ref00 (R X1)):(((R X1) Y0)->((R X1) Y0))
% Found (eq_ref00 (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found ((eq_ref0 Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (((eq_ref fofType) Y0) (R X1)) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found (fun (Y0:fofType)=> (((eq_ref fofType) Y0) (R X1))) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found (x30 x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x1))
% Found x2:(((rc (tc R)) X) Y)
% Instantiate: x1:=Y:fofType
% Found x2 as proof of (((trc R) X) x1)
% Found (x30 x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) Y) x1)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x1))
% Found x2:(((rc (tc R)) Y) X)
% Instantiate: x1:=X:fofType
% Found x2 as proof of (((trc R) Y) x1)
% Found (x30 x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of (((trc R) X) x1)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x1))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x300:=(x30 x1):(((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x2))
% Found x300:=(x30 x1):(((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x2))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found x4 as proof of ((R X0) Y0)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x300:=(x30 x2):(((trc R) Y) x1)
% Found (x30 x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) Y) x1)
% Found ((conj00 x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (((conj0 (((trc R) Y) x1)) x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (fun (x3:(((eq fofType) X) Y))=> ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2))) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (fun (x3:(((eq fofType) X) Y))=> ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) x2) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2))) as proof of ((((eq fofType) X) Y)->((and (((trc R) X) x1)) (((trc R) Y) x1)))
% Found x2:(((rc (tc R)) X) Y)
% Found x2 as proof of (((trc R) X) x1)
% Found x300:=(x30 x2):(((trc R) X) x1)
% Found (x30 x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2) as proof of (((trc R) X) x1)
% Found ((conj00 ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (((conj0 (((trc R) Y) x1)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2)) as proof of ((and (((trc R) X) x1)) (((trc R) Y) x1))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x1)) (((trc R) Y) x1)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x1))) x2)) x2)) as proof of ((((eq fofType) Y) X)->((and (((trc R) X) x1)) (((trc R) Y) x1)))
% Found x2:(((rc (tc R)) Y) X)
% Found x2 as proof of (((trc R) Y) x1)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found x300:=(x30 x1):(((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x2))
% Found x300:=(x30 x1):(((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x2))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x2))
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x2))
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found x4 as proof of ((R X0) Y0)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x2))
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x2))
% Found x300:=(x30 x1):(((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found ((conj00 ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (((conj0 (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1)) as proof of ((((eq fofType) Y) X)->((and (((trc R) X) x2)) (((trc R) Y) x2)))
% Found x1:(((rc (tc R)) Y) X)
% Found x1 as proof of (((trc R) Y) x2)
% Found x300:=(x30 x1):(((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found ((conj00 x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (((conj0 (((trc R) Y) x2)) x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) X) Y))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1))) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) X) Y))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1))) as proof of ((((eq fofType) X) Y)->((and (((trc R) X) x2)) (((trc R) Y) x2)))
% Found x1:(((rc (tc R)) X) Y)
% Found x1 as proof of (((trc R) X) x2)
% Found x300:=(x30 x1):(((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x2))
% Found x300:=(x30 x1):(((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x2))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found (fun (x4:((R X1) Y0))=> x4) as proof of (((fun (x6:fofType)=> (R X0)) X1) Y0)
% Found (fun (Y0:fofType) (x4:((R X1) Y0))=> x4) as proof of (((R X1) Y0)->(((fun (x6:fofType)=> (R X0)) X1) Y0))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x300:=(x30 x1):(((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found ((conj00 ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (((conj0 (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1)) as proof of ((((eq fofType) Y) X)->((and (((trc R) X) x2)) (((trc R) Y) x2)))
% Found x1:(((rc (tc R)) Y) X)
% Found x1 as proof of (((trc R) Y) x2)
% Found x300:=(x30 x1):(((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found ((conj00 x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (((conj0 (((trc R) Y) x2)) x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) X) Y))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1))) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) X) Y))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1))) as proof of ((((eq fofType) X) Y)->((and (((trc R) X) x2)) (((trc R) Y) x2)))
% Found x1:(((rc (tc R)) X) Y)
% Found x1 as proof of (((trc R) X) x2)
% Found x300:=(x30 x1):(((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x2))
% Found x300:=(x30 x1):(((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x2))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x2))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x2))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x3:=Y:fofType
% Found x1 as proof of (((trc R) X) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x3:=X:fofType
% Found x1 as proof of (((trc R) Y) x3)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: X0:=X:fofType
% Found x1 as proof of (((trc R) X0) Y)
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found x4 as proof of ((R X0) Y0)
% Found x1:(((rc (tc R)) Y) X)
% Instantiate: x2:=X:fofType
% Found x1 as proof of (((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) X) x2)
% Found (fun (x3:(((eq fofType) Y) X))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) Y) X)->(((trc R) X) x2))
% Found x1:(((rc (tc R)) X) Y)
% Instantiate: x2:=Y:fofType
% Found x1 as proof of (((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of (((trc R) Y) x2)
% Found (fun (x3:(((eq fofType) X) Y))=> ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((((eq fofType) X) Y)->(((trc R) Y) x2))
% Found x4:((R X1) Y0)
% Instantiate: X0:=X1:fofType
% Found x4 as proof of ((R X0) Y0)
% Found x300:=(x30 x1):(((trc R) X) x2)
% Found (x30 x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) X) x2)
% Found ((conj00 ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (((conj0 (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y) x2))
% Found (fun (x3:(((eq fofType) Y) X))=> ((((conj (((trc R) X) x2)) (((trc R) Y) x2)) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) x1)) as proof of ((((eq fofType) Y) X)->((and (((trc R) X) x2)) (((trc R) Y) x2)))
% Found x1:(((rc (tc R)) Y) X)
% Found x1 as proof of (((trc R) Y) x2)
% Found x300:=(x30 x1):(((trc R) Y) x2)
% Found (x30 x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1) as proof of (((trc R) Y) x2)
% Found ((conj00 x1) ((x3 (fun (x5:fofType)=> (((trc R) x5) x2))) x1)) as proof of ((and (((trc R) X) x2)) (((trc R) Y
% EOF
%------------------------------------------------------------------------------