%------------------------------------------------------------------------------ % File : cocATP---0.2.0 % Problem : SEU456^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 : n092.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:14 EDT 2014 % Result : Theorem 3.81s % Output : Proof 3.81s % Verified : % SZS Type : None (Parsing solution fails) % Syntax : Number of formulae : 0 % Comments : %------------------------------------------------------------------------------ %----ERROR: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % % Problem : SEU456^1 : TPTP v6.1.0. Released v3.6.0. % % Command : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p % % Computer : n092.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:15:46 CDT 2014 % % CPUTime : 3.81 % 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 0x23f1680>, <kernel.DependentProduct object at 0x23f15f0>) 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 0x23f1200>, <kernel.DependentProduct object at 0x23f15f0>) 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 0x23f1200>, <kernel.DependentProduct object at 0x23f1a70>) 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 0x23f1a28>, <kernel.DependentProduct object at 0x23f1cb0>) 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 0x23f12d8>, <kernel.DependentProduct object at 0x23f1560>) 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 0x23f12d8>, <kernel.DependentProduct object at 0x23f1998>) 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 0x23f1050>, <kernel.DependentProduct object at 0x23f1b90>) 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 0x23f12d8>, <kernel.DependentProduct object at 0x23f13b0>) 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 0x23f12d8>, <kernel.DependentProduct object at 0x26381b8>) 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 0x23f19e0>, <kernel.DependentProduct object at 0x23f2638>) 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 0x23f1878>, <kernel.DependentProduct object at 0x23f2908>) 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 0x23f24d0>, <kernel.DependentProduct object at 0x23f2a28>) 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 0x23f2a28>, <kernel.DependentProduct object at 0x2638b00>) 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 0x2638a28>, <kernel.DependentProduct object at 0x26385a8>) 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 0x2638bd8>, <kernel.DependentProduct object at 0x21e3680>) 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 0x21e36c8>, <kernel.DependentProduct object at 0x21e39e0>) 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 0x21e36c8>, <kernel.DependentProduct object at 0x21e3710>) 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 0x21e3878>, <kernel.DependentProduct object at 0x21e37e8>) 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 0x21e3710>, <kernel.DependentProduct object at 0x21e3908>) 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 0x21e3908>, <kernel.DependentProduct object at 0x21e3b48>) 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 0x21e3bd8>, <kernel.DependentProduct object at 0x21e3cf8>) 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 0x21e35f0>, <kernel.DependentProduct object at 0x21e3bd8>) 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 0x21e3cf8>, <kernel.DependentProduct object at 0x21e36c8>) 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 0x21e35f0>, <kernel.DependentProduct object at 0x21e3d88>) 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 0x21e35f0>, <kernel.DependentProduct object at 0x21e3f80>) 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 0x21e3950>, <kernel.DependentProduct object at 0x23e03f8>) 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 0x21e35f0>, <kernel.DependentProduct object at 0x23e0050>) 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 0x23e03f8>, <kernel.DependentProduct object at 0x23e0440>) 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 0x23e0050>, <kernel.DependentProduct object at 0x23e0320>) 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 (mono rc) of role conjecture named reflexive_closure_op_is_monotonic % Conjecture to prove = (mono rc):Prop % Parameter fofType_DUMMY:fofType. % We need to prove ['(mono rc)'] % 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 (mono rc) % Found or_introl00:=(or_introl0 ((S X) Y)):((((eq fofType) X) Y)->((or (((eq fofType) X) Y)) ((S X) Y))) % Found (or_introl0 ((S X) Y)) as proof of ((((eq fofType) X) Y)->((or (((eq fofType) X) Y)) ((S X) Y))) % Found ((or_introl (((eq fofType) X) Y)) ((S X) Y)) as proof of ((((eq fofType) X) Y)->((or (((eq fofType) X) Y)) ((S X) Y))) % Found ((or_introl (((eq fofType) X) Y)) ((S X) Y)) as proof of ((((eq fofType) X) Y)->((or (((eq fofType) X) Y)) ((S X) Y))) % Found x10:=(x1 Y):(((R X) Y)->((S X) Y)) % Found (x1 Y) as proof of (((R X) Y)->((S X) Y)) % Found ((x X) Y) as proof of (((R X) Y)->((S X) Y)) % Found ((x X) Y) as proof of (((R X) Y)->((S X) Y)) % Found or_intror00:=(or_intror0 (((eq fofType) X) Y)):((((eq fofType) X) Y)->((or ((S X) Y)) (((eq fofType) X) Y))) % Found (or_intror0 (((eq fofType) X) Y)) as proof of ((((eq fofType) X) Y)->((or ((S X) Y)) (((eq fofType) X) Y))) % Found ((or_intror ((S X) Y)) (((eq fofType) X) Y)) as proof of ((((eq fofType) X) Y)->((or ((S X) Y)) (((eq fofType) X) Y))) % Found ((or_intror ((S X) Y)) (((eq fofType) X) Y)) as proof of ((((eq fofType) X) Y)->((or ((S X) Y)) (((eq fofType) X) Y))) % Found eq_substitution00000:=(eq_substitution0000 (fun (x3:fofType)=> x3)):((((eq fofType) X) Y)->(((eq fofType) X) Y)) % Found (eq_substitution0000 (fun (x3:fofType)=> x3)) as proof of ((((eq fofType) X) Y)->(((eq fofType) X) Y)) % Found ((eq_substitution000 Y) (fun (x3:fofType)=> x3)) as proof of ((((eq fofType) X) Y)->(((eq fofType) X) Y)) % Found (((eq_substitution00 X) Y) (fun (x3:fofType)=> x3)) as proof of ((((eq fofType) X) Y)->(((eq fofType) X) Y)) % Found ((((eq_substitution0 fofType) X) Y) (fun (x3:fofType)=> x3)) as proof of ((((eq fofType) X) Y)->(((eq fofType) X) Y)) % Found (((((eq_substitution fofType) fofType) X) Y) (fun (x3:fofType)=> x3)) as proof of ((((eq fofType) X) Y)->(((eq fofType) X) Y)) % Found (((((eq_substitution fofType) fofType) X) Y) (fun (x3:fofType)=> x3)) as proof of ((((eq fofType) X) Y)->(((eq fofType) X) Y)) % Found x200:=(x20 x1):((S X) Y) % Found (x20 x1) as proof of ((S X) Y) % Found ((x2 Y) x1) as proof of ((S X) Y) % Found (((x X) Y) x1) as proof of ((S X) Y) % Found (((x X) Y) x1) as proof of ((S X) Y) % Found (or_intror00 (((x X) Y) x1)) as proof of ((or (((eq fofType) X) Y)) ((S X) Y)) % Found ((or_intror0 ((S X) Y)) (((x X) Y) x1)) as proof of ((or (((eq fofType) X) Y)) ((S X) Y)) % Found (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1)) as proof of ((or (((eq fofType) X) Y)) ((S X) Y)) % Found (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))) as proof of ((or (((eq fofType) X) Y)) ((S X) Y)) % Found (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))) as proof of (((R X) Y)->((or (((eq fofType) X) Y)) ((S X) Y))) % Found ((or_ind00 ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1)))) as proof of ((or (((eq fofType) X) Y)) ((S X) Y)) % Found (((or_ind0 ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1)))) as proof of ((or (((eq fofType) X) Y)) ((S X) Y)) % Found ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1)))) as proof of ((or (((eq fofType) X) Y)) ((S X) Y)) % Found ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1)))) as proof of ((or (((eq fofType) X) Y)) ((S X) Y)) % Found (fun (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) as proof of (((rc S) X) Y) % Found (fun (Y:fofType) (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) as proof of ((((rc R) X) Y)->(((rc S) X) Y)) % Found (fun (X:fofType) (Y:fofType) (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) as proof of (forall (Y:fofType), ((((rc R) X) Y)->(((rc S) X) Y))) % Found (fun (x:((subrel R) S)) (X:fofType) (Y:fofType) (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) as proof of ((subrel (rc R)) (rc S)) % Found (fun (S:(fofType->(fofType->Prop))) (x:((subrel R) S)) (X:fofType) (Y:fofType) (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) as proof of (((subrel R) S)->((subrel (rc R)) (rc S))) % Found (fun (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop))) (x:((subrel R) S)) (X:fofType) (Y:fofType) (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) as proof of (forall (S:(fofType->(fofType->Prop))), (((subrel R) S)->((subrel (rc R)) (rc S)))) % Found (fun (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop))) (x:((subrel R) S)) (X:fofType) (Y:fofType) (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) as proof of (mono rc) % Got proof (fun (R:(fofType->(fofType->Prop))) (S:(fofType->(fofType->Prop))) (x:((subrel R) S)) (X:fofType) (Y:fofType) (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) % Time elapsed = 3.392276s % node=344 cost=1433.000000 depth=19 % :::::::::::::::::::::: % % 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))) (S:(fofType->(fofType->Prop))) (x:((subrel R) S)) (X:fofType) (Y:fofType) (x0:(((rc R) X) Y))=> ((((fun (P:Prop) (x1:((((eq fofType) X) Y)->P)) (x2:(((R X) Y)->P))=> ((((((or_ind (((eq fofType) X) Y)) ((R X) Y)) P) x1) x2) x0)) ((or (((eq fofType) X) Y)) ((S X) Y))) ((or_introl (((eq fofType) X) Y)) ((S X) Y))) (fun (x1:((R X) Y))=> (((or_intror (((eq fofType) X) Y)) ((S X) Y)) (((x X) Y) x1))))) % % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p % EOF %------------------------------------------------------------------------------