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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SEU488^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 : n109.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32286.75MB
% OS       : Linux 2.6.32-431.20.3.el6.x86_64
% CPULimit : 300s
% DateTime : Thu Jul 17 13:32:17 EDT 2014

% Result   : Theorem 89.21s
% Output   : Proof 89.21s
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----ERROR: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SEU488^1 : TPTP v6.1.0. Released v3.6.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n109.star.cs.uiowa.edu
% % Model    : x86_64 x86_64
% % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% % Memory   : 32286.75MB
% % OS       : Linux 2.6.32-431.20.3.el6.x86_64
% % CPULimit : 300
% % DateTime : Thu Jul 17 10:21:41 CDT 2014
% % CPUTime  : 89.21 
% 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 0x22b14d0>, <kernel.DependentProduct object at 0x237fea8>) 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 0x22b18c0>, <kernel.DependentProduct object at 0x22b1200>) 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 0x22b18c0>, <kernel.DependentProduct object at 0x20e9440>) 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 0x20e9680>, <kernel.DependentProduct object at 0x20e9710>) 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 0x20e9440>, <kernel.DependentProduct object at 0x20e9320>) 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 0x20e9680>, <kernel.DependentProduct object at 0x20e96c8>) 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 0x20e9cf8>, <kernel.DependentProduct object at 0x20e9638>) 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 0x20e9dd0>, <kernel.DependentProduct object at 0x20e9fc8>) 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 0x20e9dd0>, <kernel.DependentProduct object at 0x20e9ef0>) 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 0x22cfe60>, <kernel.DependentProduct object at 0x22cf248>) 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 0x22cfdd0>, <kernel.DependentProduct object at 0x20e96c8>) 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 0x22cf248>, <kernel.DependentProduct object at 0x20e97a0>) 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 0x20e97e8>, <kernel.DependentProduct object at 0x20e9560>) 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 0x20e93b0>, <kernel.DependentProduct object at 0x20e9d40>) 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 0x20e9ab8>, <kernel.DependentProduct object at 0x20ce680>) 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 0x20ce6c8>, <kernel.DependentProduct object at 0x20ce9e0>) 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 0x20ce6c8>, <kernel.DependentProduct object at 0x20ce710>) 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 0x20ce878>, <kernel.DependentProduct object at 0x20ce7e8>) 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 0x20ce710>, <kernel.DependentProduct object at 0x20ce908>) 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 0x20ce908>, <kernel.DependentProduct object at 0x20ceb48>) 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 0x20cebd8>, <kernel.DependentProduct object at 0x20cecf8>) 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 0x20ce5f0>, <kernel.DependentProduct object at 0x20cebd8>) 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 0x20cecf8>, <kernel.DependentProduct object at 0x20ce6c8>) 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 0x20ce5f0>, <kernel.DependentProduct object at 0x20ced88>) 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 0x20ce5f0>, <kernel.DependentProduct object at 0x20cef80>) 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 0x20ce950>, <kernel.DependentProduct object at 0x22be3f8>) 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 0x20ce5f0>, <kernel.DependentProduct object at 0x22be050>) 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 0x22be3f8>, <kernel.DependentProduct object at 0x22be440>) 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 0x22be050>, <kernel.DependentProduct object at 0x22be320>) 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))), ((confl R)->(sconfl R))) of role conjecture named confluence_implies_semi_confluence
% Conjecture to prove = (forall (R:(fofType->(fofType->Prop))), ((confl R)->(sconfl R))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (R:(fofType->(fofType->Prop))), ((confl R)->(sconfl 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))), ((confl R)->(sconfl R)))
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x3:(((trc R) X) Y))=> x3) as proof of (((trc R) X0) Y)
% Found (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3) as proof of ((((trc R) X) Y)->(((trc R) X0) Y))
% Found (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3) as proof of (((R X) Z)->((((trc R) X) Y)->(((trc R) X0) Y)))
% Found (and_rect00 (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found ((and_rect0 (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found (((fun (P:Type) (x2:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x2) x0)) (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found (((fun (P:Type) (x2:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x2) x0)) (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found eq_ref000:=(eq_ref00 (fun (x6:(fofType->Prop))=> (((join R) Z) Z0))):((((join R) Z) Z0)->(((join R) Z) Z0))
% Found (eq_ref00 (fun (x6:(fofType->Prop))=> (((join R) Z) Z0))) as proof of ((((join R) Z) Z0)->(((join R) Z) Z0))
% Found ((eq_ref0 (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0))) as proof of ((((join R) Z) Z0)->(((join R) Z) Z0))
% Found (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0))) as proof of ((((join R) Z) Z0)->(((join R) Z) Z0))
% Found (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0)))) as proof of ((((join R) Z) Z0)->(((join R) Z) Z0))
% Found (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0)))) as proof of ((((join R) Z) Y0)->((((join R) Z) Z0)->(((join R) Z) Z0)))
% Found (and_rect10 (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0))))) as proof of (((fun (x6:fofType)=> ((join R) Z)) X0) Z0)
% Found ((and_rect1 (((join R) Z) Z0)) (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0))))) as proof of (((fun (x6:fofType)=> ((join R) Z)) X0) Z0)
% Found (((fun (P:Type) (x5:((((join R) Z) Y0)->((((join R) Z) Z0)->P)))=> (((((and_rect (((join R) Z) Y0)) (((join R) Z) Z0)) P) x5) x4)) (((join R) Z) Z0)) (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0))))) as proof of (((fun (x6:fofType)=> ((join R) Z)) X0) Z0)
% Found (fun (x4:((and (((fun (x6:fofType)=> ((join R) Z)) X0) Y0)) (((fun (x6:fofType)=> ((join R) Z)) Y0) Z0)))=> (((fun (P:Type) (x5:((((join R) Z) Y0)->((((join R) Z) Z0)->P)))=> (((((and_rect (((join R) Z) Y0)) (((join R) Z) Z0)) P) x5) x4)) (((join R) Z) Z0)) (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0)))))) as proof of (((fun (x6:fofType)=> ((join R) Z)) X0) Z0)
% Found (fun (Z0:fofType) (x4:((and (((fun (x6:fofType)=> ((join R) Z)) X0) Y0)) (((fun (x6:fofType)=> ((join R) Z)) Y0) Z0)))=> (((fun (P:Type) (x5:((((join R) Z) Y0)->((((join R) Z) Z0)->P)))=> (((((and_rect (((join R) Z) Y0)) (((join R) Z) Z0)) P) x5) x4)) (((join R) Z) Z0)) (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0)))))) as proof of (((and (((fun (x6:fofType)=> ((join R) Z)) X0) Y0)) (((fun (x6:fofType)=> ((join R) Z)) Y0) Z0))->(((fun (x6:fofType)=> ((join R) Z)) X0) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType)=> ((join R) Z)) X0) Y0)) (((fun (x6:fofType)=> ((join R) Z)) Y0) Z0)))=> (((fun (P:Type) (x5:((((join R) Z) Y0)->((((join R) Z) Z0)->P)))=> (((((and_rect (((join R) Z) Y0)) (((join R) Z) Z0)) P) x5) x4)) (((join R) Z) Z0)) (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0)))))) as proof of (forall (Z0:fofType), (((and (((fun (x6:fofType)=> ((join R) Z)) X0) Y0)) (((fun (x6:fofType)=> ((join R) Z)) Y0) Z0))->(((fun (x6:fofType)=> ((join R) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType)=> ((join R) Z)) X0) Y0)) (((fun (x6:fofType)=> ((join R) Z)) Y0) Z0)))=> (((fun (P:Type) (x5:((((join R) Z) Y0)->((((join R) Z) Z0)->P)))=> (((((and_rect (((join R) Z) Y0)) (((join R) Z) Z0)) P) x5) x4)) (((join R) Z) Z0)) (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0)))))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x6:fofType)=> ((join R) Z)) X0) Y)) (((fun (x6:fofType)=> ((join R) Z)) Y) Z0))->(((fun (x6:fofType)=> ((join R) Z)) X0) Z0)))
% Found (fun (X0:fofType) (Y0:fofType) (Z0:fofType) (x4:((and (((fun (x6:fofType)=> ((join R) Z)) X0) Y0)) (((fun (x6:fofType)=> ((join R) Z)) Y0) Z0)))=> (((fun (P:Type) (x5:((((join R) Z) Y0)->((((join R) Z) Z0)->P)))=> (((((and_rect (((join R) Z) Y0)) (((join R) Z) Z0)) P) x5) x4)) (((join R) Z) Z0)) (fun (x5:(((join R) Z) Y0))=> (((eq_ref (fofType->Prop)) (fun (Z00:fofType)=> ((and (((trc R) Z) Z00)) (((trc R) Z0) Z00)))) (fun (x6:(fofType->Prop))=> (((join R) Z) Z0)))))) as proof of (trans (fun (x6:fofType)=> ((join R) Z)))
% Found eq_ref00:=(eq_ref0 X0):(((eq fofType) X0) X0)
% Found (eq_ref0 X0) as proof of (((eq fofType) X0) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found ((or_introl0 (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Z)
% Found eq_ref00:=(eq_ref0 ((subrel R) (fun (x6:fofType)=> ((join R) Z)))):(((eq Prop) ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) ((subrel R) (fun (x6:fofType)=> ((join R) Z))))
% Found (eq_ref0 ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) as proof of (((eq Prop) ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) as proof of (((eq Prop) ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) as proof of (((eq Prop) ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) b)
% Found ((eq_ref Prop) ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) as proof of (((eq Prop) ((subrel R) (fun (x6:fofType)=> ((join R) Z)))) b)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc 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) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found ((or_introl0 (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Z)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 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) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found ((eq_ref fofType) X0) as proof of (((eq fofType) X0) Z)
% Found (or_introl00 ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found ((or_introl0 (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_introl (((eq fofType) X0) Z)) (((tc R) X0) Z)) ((eq_ref fofType) X0)) as proof of (((trc R) X0) Z)
% Found eta_expansion_dep:=(fun (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x)))=> (((((functional_extensionality_dep A) (fun (x1:A)=> (B x1))) f) (fun (x:A)=> (f x))) (fun (x:A) (P:((B x)->Prop)) (x0:(P (f x)))=> x0))):(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))), (((eq (forall (x:A), (B x))) f) (fun (x:A)=> (f x))))
% Instantiate: b:=(forall (A:Type) (B:(A->Type)) (f:(forall (x:A), (B x))), (((eq (forall (x:A), (B x))) f) (fun (x:A)=> (f x)))):Prop
% Found eta_expansion_dep as proof of b
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x3:(((trc R) X) Y))=> x3) as proof of (((trc R) X0) Y)
% Found (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3) as proof of ((((trc R) X) Y)->(((trc R) X0) Y))
% Found (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3) as proof of (((R X) Z)->((((trc R) X) Y)->(((trc R) X0) Y)))
% Found (and_rect00 (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found ((and_rect0 (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found (((fun (P:Type) (x2:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x2) x0)) (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found (((fun (P:Type) (x2:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x2) x0)) (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found (fun (x3:(((trc R) X) Y))=> x3) as proof of (((trc R) X0) Y)
% Found (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3) as proof of ((((trc R) X) Y)->(((trc R) X0) Y))
% Found (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3) as proof of (((R X) Z)->((((trc R) X) Y)->(((trc R) X0) Y)))
% Found (and_rect00 (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found ((and_rect0 (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found (((fun (P:Type) (x2:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x2) x0)) (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found (((fun (P:Type) (x2:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x2) x0)) (((trc R) X0) Y)) (fun (x2:((R X) Z)) (x3:(((trc R) X) Y))=> x3)) as proof of (((trc R) X0) Y)
% Found eq_ref000:=(eq_ref00 (and (((trc R) X0) Z))):(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (eq_ref00 (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found ((eq_ref0 (((trc R) X0) Z0)) (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0))))
% Found (and_rect10 (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found ((and_rect1 ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (forall (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))))
% Found eq_ref000:=(eq_ref00 (and (((trc R) X0) Z))):(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (eq_ref00 (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found ((eq_ref0 (((trc R) X0) Z0)) (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0))))
% Found (and_rect10 (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found ((and_rect1 ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (forall (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))))
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (((trc R) X0) Y)
% Found eq_ref000:=(eq_ref00 (and (((trc R) X0) Z))):(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (eq_ref00 (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found ((eq_ref0 (((trc R) X0) Z0)) (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0)))
% Found (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))) as proof of (((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->((and (((trc R) X0) Z)) (((trc R) X0) Z0))))
% Found (and_rect10 (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found ((and_rect1 ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (fun (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)
% Found (fun (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0))
% Found (fun (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (forall (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (forall (Y:fofType) (Z0:fofType), (((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y) Z0))->(((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Z0)))
% Found (fun (X1:fofType) (Y0:fofType) (Z0:fofType) (x5:((and (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) X1) Y0)) (((fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))) Y0) Z0)))=> (((fun (P:Type) (x6:(((and (((trc R) X0) Z)) (((trc R) X0) Y0))->(((and (((trc R) X0) Z)) (((trc R) X0) Z0))->P)))=> (((((and_rect ((and (((trc R) X0) Z)) (((trc R) X0) Y0))) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) P) x6) x5)) ((and (((trc R) X0) Z)) (((trc R) X0) Z0))) (fun (x6:((and (((trc R) X0) Z)) (((trc R) X0) Y0)))=> (((eq_ref Prop) (((trc R) X0) Z0)) (and (((trc R) X0) Z)))))) as proof of (trans (fun (x7:fofType) (x60:fofType)=> ((and (((trc R) X0) Z)) (((trc R) X0) x60))))
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x2:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x2 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (((trc R) X0) Y)
% Found x3:(((trc R) X) Y)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (((trc R) X0) Y)
% Found x6000:=(x600 x1):((S X0) Z)
% Found (x600 x1) as proof of ((S X0) Z)
% Found ((x60 Z) x1) as proof of ((S X0) Z)
% Found (((x6 X0) Z) x1) as proof of ((S X0) Z)
% Found (fun (x6:((subrel R) S))=> (((x6 X0) Z) x1)) as proof of ((S X0) Z)
% Found (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)) as proof of (((subrel R) S)->((S X0) Z))
% Found (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)) as proof of ((trans S)->(((subrel R) S)->((S X0) Z)))
% Found (and_rect10 (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1))) as proof of ((S X0) Z)
% Found ((and_rect1 ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1))) as proof of ((S X0) Z)
% Found (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1))) as proof of ((S X0) Z)
% Found (fun (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)))) as proof of ((S X0) Z)
% Found (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)))) as proof of (((and (trans S)) ((subrel R) S))->((S X0) Z))
% Found (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)))) as proof of (((tc R) X0) Z)
% Found (or_intror00 (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1))))) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found ((or_intror0 (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1))))) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_intror (((eq fofType) X0) Z)) (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1))))) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_intror (((eq fofType) X0) Z)) (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1))))) as proof of ((or (((eq fofType) X0) Z)) (((tc R) X0) Z))
% Found (((or_intror (((eq fofType) X0) Z)) (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1))))) as proof of (((trc R) X0) Z)
% Found ((conj00 (((or_intror (((eq fofType) X0) Z)) (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)))))) x2) as proof of ((and (((trc R) X0) Z)) (((trc R) X0) Y))
% Found (((conj0 (((trc R) X0) Y)) (((or_intror (((eq fofType) X0) Z)) (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)))))) x2) as proof of ((and (((trc R) X0) Z)) (((trc R) X0) Y))
% Found ((((conj (((trc R) X0) Z)) (((trc R) X0) Y)) (((or_intror (((eq fofType) X0) Z)) (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)))))) x2) as proof of ((and (((trc R) X0) Z)) (((trc R) X0) Y))
% Found ((((conj (((trc R) X0) Z)) (((trc R) X0) Y)) (((or_intror (((eq fofType) X0) Z)) (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)))))) x2) as proof of ((and (((trc R) X0) Z)) (((trc R) X0) Y))
% Found (x300 ((((conj (((trc R) X0) Z)) (((trc R) X0) Y)) (((or_intror (((eq fofType) X0) Z)) (((tc R) X0) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X0) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X0) Z) x1)))))) x2)) as proof of (((join R) Z) Y)
% Found ((x30 X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2)) as proof of (((join R) Z) Y)
% Found (((fun (X0:fofType)=> ((x3 X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2)) as proof of (((join R) Z) Y)
% Found (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2)) as proof of (((join R) Z) Y)
% Found (fun (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))) as proof of (((join R) Z) Y)
% Found (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))) as proof of ((((trc R) X) Y)->(((join R) Z) Y))
% Found (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))) as proof of (((R X) Z)->((((trc R) X) Y)->(((join R) Z) Y)))
% Found (and_rect00 (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2)))) as proof of (((join R) Z) Y)
% Found ((and_rect0 (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2)))) as proof of (((join R) Z) Y)
% Found (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2)))) as proof of (((join R) Z) Y)
% Found (fun (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))))) as proof of (((join R) Z) Y)
% Found (fun (Z:fofType) (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))))) as proof of (((and ((R X) Z)) (((trc R) X) Y))->(((join R) Z) Y))
% Found (fun (Y:fofType) (Z:fofType) (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))))) as proof of (forall (Z:fofType), (((and ((R X) Z)) (((trc R) X) Y))->(((join R) Z) Y)))
% Found (fun (X:fofType) (Y:fofType) (Z:fofType) (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))))) as proof of (forall (Y:fofType) (Z:fofType), (((and ((R X) Z)) (((trc R) X) Y))->(((join R) Z) Y)))
% Found (fun (x:(confl R)) (X:fofType) (Y:fofType) (Z:fofType) (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))))) as proof of (sconfl R)
% Found (fun (R:(fofType->(fofType->Prop))) (x:(confl R)) (X:fofType) (Y:fofType) (Z:fofType) (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))))) as proof of ((confl R)->(sconfl R))
% Found (fun (R:(fofType->(fofType->Prop))) (x:(confl R)) (X:fofType) (Y:fofType) (Z:fofType) (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2))))) as proof of (forall (R:(fofType->(fofType->Prop))), ((confl R)->(sconfl R)))
% Got proof (fun (R:(fofType->(fofType->Prop))) (x:(confl R)) (X:fofType) (Y:fofType) (Z:fofType) (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2)))))
% Time elapsed = 88.179714s
% node=7177 cost=2389.000000 depth=37
% ::::::::::::::::::::::
% % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% % SZS output start Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% (fun (R:(fofType->(fofType->Prop))) (x:(confl R)) (X:fofType) (Y:fofType) (Z:fofType) (x0:((and ((R X) Z)) (((trc R) X) Y)))=> (((fun (P:Type) (x1:(((R X) Z)->((((trc R) X) Y)->P)))=> (((((and_rect ((R X) Z)) (((trc R) X) Y)) P) x1) x0)) (((join R) Z) Y)) (fun (x1:((R X) Z)) (x2:(((trc R) X) Y))=> (((fun (X0:fofType)=> (((fun (X0:fofType)=> ((x X0) Y)) X0) Z)) X) ((((conj (((trc R) X) Z)) (((trc R) X) Y)) (((or_intror (((eq fofType) X) Z)) (((tc R) X) Z)) (fun (S:(fofType->(fofType->Prop))) (x4:((and (trans S)) ((subrel R) S)))=> (((fun (P:Type) (x5:((trans S)->(((subrel R) S)->P)))=> (((((and_rect (trans S)) ((subrel R) S)) P) x5) x4)) ((S X) Z)) (fun (x5:(trans S)) (x6:((subrel R) S))=> (((x6 X) Z) x1)))))) x2)))))
% % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% EOF
%------------------------------------------------------------------------------