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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : LCL626^1 : TPTP v7.3.0. Bugfixed v7.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox2/benchmark/theBenchmark.p

% Computer : n188.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32218.5MB
% OS       : Linux 3.10.0-862.11.6.el7.x86_64
% CPULimit : 300s
% DateTime : Wed Feb 27 13:13:02 EST 2019

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

% Comments : 
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.04  % Problem  : LCL626^1 : TPTP v7.3.0. Bugfixed v7.3.0.
% 0.00/0.04  % Command  : python CASC.py /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.02/0.24  % Computer : n188.star.cs.uiowa.edu
% 0.02/0.24  % Model    : x86_64 x86_64
% 0.02/0.24  % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% 0.02/0.24  % Memory   : 32218.5MB
% 0.02/0.24  % OS       : Linux 3.10.0-862.11.6.el7.x86_64
% 0.02/0.24  % CPULimit : 300
% 0.02/0.24  % DateTime : Thu Feb 21 20:54:12 CST 2019
% 0.02/0.24  % CPUTime  : 
% 0.10/0.44  Python 2.7.13
% 0.32/0.87  Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox2/benchmark/', '/export/starexec/sandbox2/benchmark/']
% 0.32/0.87  Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/LCL008^0.ax, trying next directory
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d61b290>, <kernel.Constant object at 0x2b4d4d61b5f0>) of role type named current_world
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring current_world:fofType
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d61b290>, <kernel.DependentProduct object at 0x2b4d4d61bd88>) of role type named prop_a
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring prop_a:(fofType->Prop)
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d61b4d0>, <kernel.DependentProduct object at 0x2b4d4d61b050>) of role type named prop_b
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring prop_b:(fofType->Prop)
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d61b2d8>, <kernel.DependentProduct object at 0x2b4d4d61b1b8>) of role type named prop_c
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring prop_c:(fofType->Prop)
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d61b4d0>, <kernel.DependentProduct object at 0x2b4d4d61f5a8>) of role type named mfalse_decl
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring mfalse:(fofType->Prop)
% 0.32/0.87  FOF formula (((eq (fofType->Prop)) mfalse) (fun (X:fofType)=> False)) of role definition named mfalse
% 0.32/0.87  A new definition: (((eq (fofType->Prop)) mfalse) (fun (X:fofType)=> False))
% 0.32/0.87  Defined: mfalse:=(fun (X:fofType)=> False)
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d98d488>, <kernel.DependentProduct object at 0x2b4d4d61b518>) of role type named mtrue_decl
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring mtrue:(fofType->Prop)
% 0.32/0.87  FOF formula (((eq (fofType->Prop)) mtrue) (fun (X:fofType)=> True)) of role definition named mtrue
% 0.32/0.87  A new definition: (((eq (fofType->Prop)) mtrue) (fun (X:fofType)=> True))
% 0.32/0.87  Defined: mtrue:=(fun (X:fofType)=> True)
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d61fcf8>, <kernel.DependentProduct object at 0x2b4d4d61b908>) of role type named mnot_decl
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring mnot:((fofType->Prop)->(fofType->Prop))
% 0.32/0.87  FOF formula (((eq ((fofType->Prop)->(fofType->Prop))) mnot) (fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False))) of role definition named mnot
% 0.32/0.87  A new definition: (((eq ((fofType->Prop)->(fofType->Prop))) mnot) (fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False)))
% 0.32/0.87  Defined: mnot:=(fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False))
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d61b4d0>, <kernel.DependentProduct object at 0x2b4d4d535950>) of role type named mor_decl
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring mor:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% 0.32/0.87  FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) mor) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U)))) of role definition named mor
% 0.32/0.87  A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) mor) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U))))
% 0.32/0.87  Defined: mor:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U)))
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d61b908>, <kernel.DependentProduct object at 0x2b4d4d535e60>) of role type named mand_decl
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring mand:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% 0.32/0.87  FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) mand) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U)))) of role definition named mand
% 0.32/0.87  A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) mand) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U))))
% 0.32/0.87  Defined: mand:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U)))
% 0.32/0.87  FOF formula (<kernel.Constant object at 0x2b4d4d535368>, <kernel.DependentProduct object at 0x2b4d4d535c20>) of role type named mimpl_decl
% 0.32/0.87  Using role type
% 0.32/0.87  Declaring mimpl:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% 0.32/0.87  FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) mimpl) (fun (U:(fofType->Prop)) (V:(fofType->Prop))=> ((mor (mnot U)) V))) of role definition named mimpl
% 0.32/0.87  A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) mimpl) (fun (U:(fofType->Prop)) (V:(fofType->Prop))=> ((mor (mnot U)) V)))
% 0.32/0.88  Defined: mimpl:=(fun (U:(fofType->Prop)) (V:(fofType->Prop))=> ((mor (mnot U)) V))
% 0.32/0.88  FOF formula (<kernel.Constant object at 0x2b4d4d535e60>, <kernel.DependentProduct object at 0x2b4d4d535878>) of role type named miff_decl
% 0.32/0.88  Using role type
% 0.32/0.88  Declaring miff:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% 0.32/0.88  FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) miff) (fun (U:(fofType->Prop)) (V:(fofType->Prop))=> ((mand ((mimpl U) V)) ((mimpl V) U)))) of role definition named miff
% 0.32/0.88  A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) miff) (fun (U:(fofType->Prop)) (V:(fofType->Prop))=> ((mand ((mimpl U) V)) ((mimpl V) U))))
% 0.32/0.88  Defined: miff:=(fun (U:(fofType->Prop)) (V:(fofType->Prop))=> ((mand ((mimpl U) V)) ((mimpl V) U)))
% 0.32/0.88  FOF formula (<kernel.Constant object at 0x2b4d4d535368>, <kernel.DependentProduct object at 0x2b4d4d5352d8>) of role type named mbox_decl
% 0.32/0.88  Using role type
% 0.32/0.88  Declaring mbox:((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->Prop)))
% 0.32/0.88  FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->Prop)))) mbox) (fun (R:(fofType->(fofType->Prop))) (P:(fofType->Prop)) (X:fofType)=> (forall (Y:fofType), (((R X) Y)->(P Y))))) of role definition named mbox
% 0.32/0.88  A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->Prop)))) mbox) (fun (R:(fofType->(fofType->Prop))) (P:(fofType->Prop)) (X:fofType)=> (forall (Y:fofType), (((R X) Y)->(P Y)))))
% 0.32/0.88  Defined: mbox:=(fun (R:(fofType->(fofType->Prop))) (P:(fofType->Prop)) (X:fofType)=> (forall (Y:fofType), (((R X) Y)->(P Y))))
% 0.32/0.88  FOF formula (<kernel.Constant object at 0x2b4d4d535e60>, <kernel.DependentProduct object at 0x2b4d4d535248>) of role type named mdia_decl
% 0.32/0.88  Using role type
% 0.32/0.88  Declaring mdia:((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->Prop)))
% 0.32/0.88  FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->Prop)))) mdia) (fun (R:(fofType->(fofType->Prop))) (P:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and ((R X) Y)) (P Y)))))) of role definition named mdia
% 0.32/0.88  A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->Prop)))) mdia) (fun (R:(fofType->(fofType->Prop))) (P:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and ((R X) Y)) (P Y))))))
% 0.32/0.88  Defined: mdia:=(fun (R:(fofType->(fofType->Prop))) (P:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and ((R X) Y)) (P Y)))))
% 0.32/0.88  FOF formula (<kernel.Constant object at 0x2b4d4d512a70>, <kernel.Type object at 0x2b4d4d5350e0>) of role type named individuals_decl
% 0.32/0.88  Using role type
% 0.32/0.88  Declaring individuals:Type
% 0.32/0.88  FOF formula (<kernel.Constant object at 0x2b4d4d512a70>, <kernel.DependentProduct object at 0x2b4d4d5353b0>) of role type named mall_decl
% 0.32/0.88  Using role type
% 0.32/0.88  Declaring mall:((individuals->(fofType->Prop))->(fofType->Prop))
% 0.32/0.88  FOF formula (((eq ((individuals->(fofType->Prop))->(fofType->Prop))) mall) (fun (P:(individuals->(fofType->Prop))) (W:fofType)=> (forall (X:individuals), ((P X) W)))) of role definition named mall
% 0.32/0.88  A new definition: (((eq ((individuals->(fofType->Prop))->(fofType->Prop))) mall) (fun (P:(individuals->(fofType->Prop))) (W:fofType)=> (forall (X:individuals), ((P X) W))))
% 0.32/0.88  Defined: mall:=(fun (P:(individuals->(fofType->Prop))) (W:fofType)=> (forall (X:individuals), ((P X) W)))
% 0.32/0.88  FOF formula (<kernel.Constant object at 0x2b4d4d535cb0>, <kernel.DependentProduct object at 0x2b4d4d535638>) of role type named mexists_decl
% 0.32/0.88  Using role type
% 0.32/0.88  Declaring mexists:((individuals->(fofType->Prop))->(fofType->Prop))
% 0.32/0.88  FOF formula (((eq ((individuals->(fofType->Prop))->(fofType->Prop))) mexists) (fun (P:(individuals->(fofType->Prop))) (W:fofType)=> ((ex individuals) (fun (X:individuals)=> ((P X) W))))) of role definition named mexists
% 0.32/0.88  A new definition: (((eq ((individuals->(fofType->Prop))->(fofType->Prop))) mexists) (fun (P:(individuals->(fofType->Prop))) (W:fofType)=> ((ex individuals) (fun (X:individuals)=> ((P X) W)))))
% 0.32/0.88  Defined: mexists:=(fun (P:(individuals->(fofType->Prop))) (W:fofType)=> ((ex individuals) (fun (X:individuals)=> ((P X) W))))
% 0.32/0.89  FOF formula (<kernel.Constant object at 0x2b4d4d535dd0>, <kernel.DependentProduct object at 0x2b4d45cae488>) of role type named mvalid_decl
% 0.32/0.89  Using role type
% 0.32/0.89  Declaring mvalid:((fofType->Prop)->Prop)
% 0.32/0.89  FOF formula (((eq ((fofType->Prop)->Prop)) mvalid) (fun (P:(fofType->Prop))=> (forall (W:fofType), (P W)))) of role definition named mvalid
% 0.32/0.89  A new definition: (((eq ((fofType->Prop)->Prop)) mvalid) (fun (P:(fofType->Prop))=> (forall (W:fofType), (P W))))
% 0.32/0.89  Defined: mvalid:=(fun (P:(fofType->Prop))=> (forall (W:fofType), (P W)))
% 0.32/0.89  FOF formula (<kernel.Constant object at 0x2b4d4d535cb0>, <kernel.DependentProduct object at 0x2b4d45cae488>) of role type named msatisfiable_decl
% 0.32/0.89  Using role type
% 0.32/0.89  Declaring msatisfiable:((fofType->Prop)->Prop)
% 0.32/0.89  FOF formula (((eq ((fofType->Prop)->Prop)) msatisfiable) (fun (P:(fofType->Prop))=> ((ex fofType) (fun (W:fofType)=> (P W))))) of role definition named msatisfiable
% 0.32/0.89  A new definition: (((eq ((fofType->Prop)->Prop)) msatisfiable) (fun (P:(fofType->Prop))=> ((ex fofType) (fun (W:fofType)=> (P W)))))
% 0.32/0.89  Defined: msatisfiable:=(fun (P:(fofType->Prop))=> ((ex fofType) (fun (W:fofType)=> (P W))))
% 0.32/0.89  FOF formula (<kernel.Constant object at 0x2b4d45cae4d0>, <kernel.DependentProduct object at 0x2b4d45cae290>) of role type named mcountersatisfiable_decl
% 0.32/0.89  Using role type
% 0.32/0.89  Declaring mcountersatisfiable:((fofType->Prop)->Prop)
% 0.32/0.89  FOF formula (((eq ((fofType->Prop)->Prop)) mcountersatisfiable) (fun (P:(fofType->Prop))=> ((ex fofType) (fun (W:fofType)=> ((P W)->False))))) of role definition named mcountersatisfiable
% 0.32/0.89  A new definition: (((eq ((fofType->Prop)->Prop)) mcountersatisfiable) (fun (P:(fofType->Prop))=> ((ex fofType) (fun (W:fofType)=> ((P W)->False)))))
% 0.32/0.89  Defined: mcountersatisfiable:=(fun (P:(fofType->Prop))=> ((ex fofType) (fun (W:fofType)=> ((P W)->False))))
% 0.32/0.89  FOF formula (<kernel.Constant object at 0x2b4d45cae488>, <kernel.DependentProduct object at 0x2b4d45cae758>) of role type named minvalid_decl
% 0.32/0.89  Using role type
% 0.32/0.89  Declaring minvalid:((fofType->Prop)->Prop)
% 0.32/0.89  FOF formula (((eq ((fofType->Prop)->Prop)) minvalid) (fun (P:(fofType->Prop))=> (forall (W:fofType), ((P W)->False)))) of role definition named minvalid
% 0.32/0.89  A new definition: (((eq ((fofType->Prop)->Prop)) minvalid) (fun (P:(fofType->Prop))=> (forall (W:fofType), ((P W)->False))))
% 0.32/0.89  Defined: minvalid:=(fun (P:(fofType->Prop))=> (forall (W:fofType), ((P W)->False)))
% 0.32/0.89  Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/SET008^2.ax, trying next directory
% 0.32/0.89  FOF formula (<kernel.Constant object at 0x2b4d4d99bab8>, <kernel.DependentProduct object at 0x2b4d4d61b5a8>) of role type named cartesian_product_decl
% 0.32/0.89  Using role type
% 0.32/0.89  Declaring cartesian_product:((fofType->Prop)->((fofType->Prop)->(fofType->(fofType->Prop))))
% 0.32/0.89  FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->(fofType->Prop))))) cartesian_product) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType) (V:fofType)=> ((and (X U)) (Y V)))) of role definition named cartesian_product
% 0.32/0.89  A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->(fofType->Prop))))) cartesian_product) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType) (V:fofType)=> ((and (X U)) (Y V))))
% 0.32/0.89  Defined: cartesian_product:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType) (V:fofType)=> ((and (X U)) (Y V)))
% 0.32/0.89  FOF formula (<kernel.Constant object at 0x2b4d4d52a320>, <kernel.DependentProduct object at 0x2b4d4d61b6c8>) of role type named pair_rel_decl
% 0.32/0.89  Using role type
% 0.32/0.89  Declaring pair_rel:(fofType->(fofType->(fofType->(fofType->Prop))))
% 0.32/0.89  FOF formula (((eq (fofType->(fofType->(fofType->(fofType->Prop))))) pair_rel) (fun (X:fofType) (Y:fofType) (U:fofType) (V:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) V) Y)))) of role definition named pair_rel
% 0.32/0.89  A new definition: (((eq (fofType->(fofType->(fofType->(fofType->Prop))))) pair_rel) (fun (X:fofType) (Y:fofType) (U:fofType) (V:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) V) Y))))
% 0.32/0.89  Defined: pair_rel:=(fun (X:fofType) (Y:fofType) (U:fofType) (V:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) V) Y)))
% 0.32/0.91  FOF formula (<kernel.Constant object at 0x2b4d4d98d488>, <kernel.DependentProduct object at 0x2b4d4d61b1b8>) of role type named id_rel_decl
% 0.32/0.91  Using role type
% 0.32/0.91  Declaring id_rel:((fofType->Prop)->(fofType->(fofType->Prop)))
% 0.32/0.91  FOF formula (((eq ((fofType->Prop)->(fofType->(fofType->Prop)))) id_rel) (fun (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S X)) (((eq fofType) X) Y)))) of role definition named id_rel
% 0.32/0.91  A new definition: (((eq ((fofType->Prop)->(fofType->(fofType->Prop)))) id_rel) (fun (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S X)) (((eq fofType) X) Y))))
% 0.32/0.91  Defined: id_rel:=(fun (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S X)) (((eq fofType) X) Y)))
% 0.32/0.91  FOF formula (<kernel.Constant object at 0x2b4d4d61f9e0>, <kernel.DependentProduct object at 0x2b4d4d61bd40>) of role type named sub_rel_decl
% 0.32/0.91  Using role type
% 0.32/0.91  Declaring sub_rel:((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->Prop))
% 0.32/0.91  FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->Prop))) sub_rel) (fun (R1:(fofType->(fofType->Prop))) (R2:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R1 X) Y)->((R2 X) Y))))) of role definition named sub_rel
% 0.32/0.91  A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->Prop))) sub_rel) (fun (R1:(fofType->(fofType->Prop))) (R2:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R1 X) Y)->((R2 X) Y)))))
% 0.32/0.91  Defined: sub_rel:=(fun (R1:(fofType->(fofType->Prop))) (R2:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R1 X) Y)->((R2 X) Y))))
% 0.32/0.91  FOF formula (<kernel.Constant object at 0x2b4d4d61f9e0>, <kernel.DependentProduct object at 0x2b4d4d61b2d8>) of role type named is_rel_on_decl
% 0.32/0.91  Using role type
% 0.32/0.91  Declaring is_rel_on:((fofType->(fofType->Prop))->((fofType->Prop)->((fofType->Prop)->Prop)))
% 0.32/0.91  FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->((fofType->Prop)->Prop)))) is_rel_on) (fun (R:(fofType->(fofType->Prop))) (A:(fofType->Prop)) (B:(fofType->Prop))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((and (A X)) (B Y)))))) of role definition named is_rel_on
% 0.32/0.91  A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->((fofType->Prop)->Prop)))) is_rel_on) (fun (R:(fofType->(fofType->Prop))) (A:(fofType->Prop)) (B:(fofType->Prop))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((and (A X)) (B Y))))))
% 0.32/0.91  Defined: is_rel_on:=(fun (R:(fofType->(fofType->Prop))) (A:(fofType->Prop)) (B:(fofType->Prop))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((and (A X)) (B Y)))))
% 0.32/0.91  FOF formula (<kernel.Constant object at 0x2b4d4d61b2d8>, <kernel.DependentProduct object at 0x2b4d4d61b4d0>) of role type named restrict_rel_domain_decl
% 0.32/0.91  Using role type
% 0.32/0.91  Declaring restrict_rel_domain:((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->(fofType->Prop))))
% 0.32/0.91  FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->(fofType->Prop))))) restrict_rel_domain) (fun (R:(fofType->(fofType->Prop))) (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S X)) ((R X) Y)))) of role definition named restrict_rel_domain
% 0.32/0.91  A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->(fofType->Prop))))) restrict_rel_domain) (fun (R:(fofType->(fofType->Prop))) (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S X)) ((R X) Y))))
% 0.32/0.91  Defined: restrict_rel_domain:=(fun (R:(fofType->(fofType->Prop))) (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S X)) ((R X) Y)))
% 0.32/0.91  FOF formula (<kernel.Constant object at 0x2b4d4d512f38>, <kernel.DependentProduct object at 0x2b4d4d61b5a8>) of role type named rel_diagonal_decl
% 0.32/0.91  Using role type
% 0.32/0.91  Declaring rel_diagonal:(fofType->(fofType->Prop))
% 0.32/0.91  FOF formula (((eq (fofType->(fofType->Prop))) rel_diagonal) (fun (X:fofType) (Y:fofType)=> (((eq fofType) X) Y))) of role definition named rel_diagonal
% 0.32/0.91  A new definition: (((eq (fofType->(fofType->Prop))) rel_diagonal) (fun (X:fofType) (Y:fofType)=> (((eq fofType) X) Y)))
% 0.32/0.91  Defined: rel_diagonal:=(fun (X:fofType) (Y:fofType)=> (((eq fofType) X) Y))
% 0.32/0.91  FOF formula (<kernel.Constant object at 0x2b4d4d512f38>, <kernel.DependentProduct object at 0x2b4d4d61bd88>) of role type named rel_composition_decl
% 0.41/0.92  Using role type
% 0.41/0.92  Declaring rel_composition:((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))
% 0.41/0.92  FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))) rel_composition) (fun (R1:(fofType->(fofType->Prop))) (R2:(fofType->(fofType->Prop))) (X:fofType) (Z:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and ((R1 X) Y)) ((R2 Y) Z)))))) of role definition named rel_composition
% 0.41/0.92  A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->(fofType->(fofType->Prop))))) rel_composition) (fun (R1:(fofType->(fofType->Prop))) (R2:(fofType->(fofType->Prop))) (X:fofType) (Z:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and ((R1 X) Y)) ((R2 Y) Z))))))
% 0.41/0.92  Defined: rel_composition:=(fun (R1:(fofType->(fofType->Prop))) (R2:(fofType->(fofType->Prop))) (X:fofType) (Z:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and ((R1 X) Y)) ((R2 Y) Z)))))
% 0.41/0.92  FOF formula (<kernel.Constant object at 0x2b4d4d512f38>, <kernel.DependentProduct object at 0x2b4d4d61b5f0>) of role type named reflexive_decl
% 0.41/0.92  Using role type
% 0.41/0.92  Declaring reflexive:((fofType->(fofType->Prop))->Prop)
% 0.41/0.92  FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) reflexive) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((R X) X)))) of role definition named reflexive
% 0.41/0.92  A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) reflexive) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((R X) X))))
% 0.41/0.92  Defined: reflexive:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((R X) X)))
% 0.41/0.92  FOF formula (<kernel.Constant object at 0x2b4d4d61b5f0>, <kernel.DependentProduct object at 0x2b4d4d61bd88>) of role type named irreflexive_decl
% 0.41/0.92  Using role type
% 0.41/0.92  Declaring irreflexive:((fofType->(fofType->Prop))->Prop)
% 0.41/0.92  FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) irreflexive) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), (((R X) X)->False)))) of role definition named irreflexive
% 0.41/0.92  A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) irreflexive) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), (((R X) X)->False))))
% 0.41/0.92  Defined: irreflexive:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), (((R X) X)->False)))
% 0.41/0.92  FOF formula (<kernel.Constant object at 0x2b4d4d61bd88>, <kernel.DependentProduct object at 0x2b4d4d61bd40>) of role type named symmetric_decl
% 0.41/0.92  Using role type
% 0.41/0.92  Declaring symmetric:((fofType->(fofType->Prop))->Prop)
% 0.41/0.92  FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) symmetric) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((R Y) X))))) of role definition named symmetric
% 0.41/0.92  A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) symmetric) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((R Y) X)))))
% 0.41/0.92  Defined: symmetric:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((R Y) X))))
% 0.41/0.92  FOF formula (<kernel.Constant object at 0x2b4d4d61bd40>, <kernel.DependentProduct object at 0x2b4d4d61b5f0>) of role type named transitive_decl
% 0.41/0.92  Using role type
% 0.41/0.92  Declaring transitive:((fofType->(fofType->Prop))->Prop)
% 0.41/0.92  FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) transitive) (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
% 0.41/0.92  A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) transitive) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Y)) ((R Y) Z))->((R X) Z)))))
% 0.41/0.92  Defined: transitive:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType) (Z:fofType), (((and ((R X) Y)) ((R Y) Z))->((R X) Z))))
% 0.41/0.92  FOF formula (<kernel.Constant object at 0x2b4d4d61b050>, <kernel.DependentProduct object at 0x2b4d4d61b5f0>) of role type named equiv_rel__decl
% 0.41/0.92  Using role type
% 0.41/0.92  Declaring equiv_rel:((fofType->(fofType->Prop))->Prop)
% 0.41/0.92  FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) equiv_rel) (fun (R:(fofType->(fofType->Prop)))=> ((and ((and (reflexive R)) (symmetric R))) (transitive R)))) of role definition named equiv_rel
% 0.41/0.93  A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) equiv_rel) (fun (R:(fofType->(fofType->Prop)))=> ((and ((and (reflexive R)) (symmetric R))) (transitive R))))
% 0.41/0.93  Defined: equiv_rel:=(fun (R:(fofType->(fofType->Prop)))=> ((and ((and (reflexive R)) (symmetric R))) (transitive R)))
% 0.41/0.93  FOF formula (<kernel.Constant object at 0x2b4d4d61b998>, <kernel.DependentProduct object at 0x2b4d4d535dd0>) of role type named rel_codomain_decl
% 0.41/0.93  Using role type
% 0.41/0.93  Declaring rel_codomain:((fofType->(fofType->Prop))->(fofType->Prop))
% 0.41/0.93  FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->Prop))) rel_codomain) (fun (R:(fofType->(fofType->Prop))) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((R X) Y))))) of role definition named rel_codomain
% 0.41/0.93  A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->Prop))) rel_codomain) (fun (R:(fofType->(fofType->Prop))) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((R X) Y)))))
% 0.41/0.93  Defined: rel_codomain:=(fun (R:(fofType->(fofType->Prop))) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((R X) Y))))
% 0.41/0.93  FOF formula (<kernel.Constant object at 0x2b4d4d61b050>, <kernel.DependentProduct object at 0x2b4d4d535e18>) of role type named rel_domain_decl
% 0.41/0.93  Using role type
% 0.41/0.93  Declaring rel_domain:((fofType->(fofType->Prop))->(fofType->Prop))
% 0.41/0.93  FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->Prop))) rel_domain) (fun (R:(fofType->(fofType->Prop))) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((R X) Y))))) of role definition named rel_domain
% 0.41/0.93  A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->Prop))) rel_domain) (fun (R:(fofType->(fofType->Prop))) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((R X) Y)))))
% 0.41/0.93  Defined: rel_domain:=(fun (R:(fofType->(fofType->Prop))) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((R X) Y))))
% 0.41/0.93  FOF formula (<kernel.Constant object at 0x2b4d4d61b050>, <kernel.DependentProduct object at 0x2b4d4d535950>) of role type named rel_inverse_decl
% 0.41/0.93  Using role type
% 0.41/0.93  Declaring rel_inverse:((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))
% 0.41/0.93  FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) rel_inverse) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((R Y) X))) of role definition named rel_inverse
% 0.41/0.93  A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))) rel_inverse) (fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((R Y) X)))
% 0.41/0.93  Defined: rel_inverse:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((R Y) X))
% 0.41/0.93  FOF formula (<kernel.Constant object at 0x2b4d4d61b050>, <kernel.DependentProduct object at 0x2b4d4d5353b0>) of role type named equiv_classes_decl
% 0.41/0.93  Using role type
% 0.41/0.93  Declaring equiv_classes:((fofType->(fofType->Prop))->((fofType->Prop)->Prop))
% 0.41/0.93  FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->Prop))) equiv_classes) (fun (R:(fofType->(fofType->Prop))) (S1:(fofType->Prop))=> ((ex fofType) (fun (X:fofType)=> ((and (S1 X)) (forall (Y:fofType), ((iff (S1 Y)) ((R X) Y)))))))) of role definition named equiv_classes
% 0.41/0.93  A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->Prop))) equiv_classes) (fun (R:(fofType->(fofType->Prop))) (S1:(fofType->Prop))=> ((ex fofType) (fun (X:fofType)=> ((and (S1 X)) (forall (Y:fofType), ((iff (S1 Y)) ((R X) Y))))))))
% 0.41/0.93  Defined: equiv_classes:=(fun (R:(fofType->(fofType->Prop))) (S1:(fofType->Prop))=> ((ex fofType) (fun (X:fofType)=> ((and (S1 X)) (forall (Y:fofType), ((iff (S1 Y)) ((R X) Y)))))))
% 0.41/0.93  FOF formula (<kernel.Constant object at 0x2b4d4d5353b0>, <kernel.DependentProduct object at 0x2b4d4d535dd0>) of role type named restrict_rel_codomain_decl
% 0.41/0.93  Using role type
% 0.41/0.93  Declaring restrict_rel_codomain:((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->(fofType->Prop))))
% 0.41/0.93  FOF formula (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->(fofType->Prop))))) restrict_rel_codomain) (fun (R:(fofType->(fofType->Prop))) (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S Y)) ((R X) Y)))) of role definition named restrict_rel_codomain
% 0.41/0.93  A new definition: (((eq ((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->(fofType->Prop))))) restrict_rel_codomain) (fun (R:(fofType->(fofType->Prop))) (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S Y)) ((R X) Y))))
% 0.41/0.95  Defined: restrict_rel_codomain:=(fun (R:(fofType->(fofType->Prop))) (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S Y)) ((R X) Y)))
% 0.41/0.95  FOF formula (<kernel.Constant object at 0x2b4d4d535dd0>, <kernel.DependentProduct object at 0x2b4d4d535e18>) of role type named rel_field_decl
% 0.41/0.95  Using role type
% 0.41/0.95  Declaring rel_field:((fofType->(fofType->Prop))->(fofType->Prop))
% 0.41/0.95  FOF formula (((eq ((fofType->(fofType->Prop))->(fofType->Prop))) rel_field) (fun (R:(fofType->(fofType->Prop))) (X:fofType)=> ((or ((rel_domain R) X)) ((rel_codomain R) X)))) of role definition named rel_field
% 0.41/0.95  A new definition: (((eq ((fofType->(fofType->Prop))->(fofType->Prop))) rel_field) (fun (R:(fofType->(fofType->Prop))) (X:fofType)=> ((or ((rel_domain R) X)) ((rel_codomain R) X))))
% 0.41/0.95  Defined: rel_field:=(fun (R:(fofType->(fofType->Prop))) (X:fofType)=> ((or ((rel_domain R) X)) ((rel_codomain R) X)))
% 0.41/0.95  FOF formula (<kernel.Constant object at 0x2b4d4d535e18>, <kernel.DependentProduct object at 0x2b4d4d535d40>) of role type named well_founded_decl
% 0.41/0.95  Using role type
% 0.41/0.95  Declaring well_founded:((fofType->(fofType->Prop))->Prop)
% 0.41/0.95  FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) well_founded) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:(fofType->Prop)) (Z:fofType), ((X Z)->((ex fofType) (fun (Y:fofType)=> ((and (X Y)) (forall (W:fofType), (((R Y) W)->((X W)->False)))))))))) of role definition named well_founded
% 0.41/0.95  A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) well_founded) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:(fofType->Prop)) (Z:fofType), ((X Z)->((ex fofType) (fun (Y:fofType)=> ((and (X Y)) (forall (W:fofType), (((R Y) W)->((X W)->False))))))))))
% 0.41/0.95  Defined: well_founded:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:(fofType->Prop)) (Z:fofType), ((X Z)->((ex fofType) (fun (Y:fofType)=> ((and (X Y)) (forall (W:fofType), (((R Y) W)->((X W)->False)))))))))
% 0.41/0.95  FOF formula (<kernel.Constant object at 0x2b4d4d535d40>, <kernel.DependentProduct object at 0x2b4d4d535b90>) of role type named upwards_well_founded_decl
% 0.41/0.95  Using role type
% 0.41/0.95  Declaring upwards_well_founded:((fofType->(fofType->Prop))->Prop)
% 0.41/0.95  FOF formula (((eq ((fofType->(fofType->Prop))->Prop)) upwards_well_founded) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:(fofType->Prop)) (Z:fofType), ((X Z)->((ex fofType) (fun (Y:fofType)=> ((and (X Y)) (forall (W:fofType), (((R Y) Y)->((X W)->False)))))))))) of role definition named upwards_well_founded
% 0.41/0.95  A new definition: (((eq ((fofType->(fofType->Prop))->Prop)) upwards_well_founded) (fun (R:(fofType->(fofType->Prop)))=> (forall (X:(fofType->Prop)) (Z:fofType), ((X Z)->((ex fofType) (fun (Y:fofType)=> ((and (X Y)) (forall (W:fofType), (((R Y) Y)->((X W)->False))))))))))
% 0.41/0.95  Defined: upwards_well_founded:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:(fofType->Prop)) (Z:fofType), ((X Z)->((ex fofType) (fun (Y:fofType)=> ((and (X Y)) (forall (W:fofType), (((R Y) Y)->((X W)->False)))))))))
% 0.41/0.95  FOF formula (<kernel.Constant object at 0x2b4d4d52c050>, <kernel.DependentProduct object at 0x2b4d4d52c4d0>) of role type named r_type
% 0.41/0.95  Using role type
% 0.41/0.95  Declaring r:(fofType->(fofType->Prop))
% 0.41/0.95  FOF formula ((and (transitive r)) (upwards_well_founded r)) of role axiom named upwf_trans
% 0.41/0.95  A new axiom: ((and (transitive r)) (upwards_well_founded r))
% 0.41/0.95  FOF formula (forall (X:(fofType->Prop)), (mvalid ((mimpl ((mbox r) X)) ((mbox r) ((mbox r) ((mbox r) X)))))) of role conjecture named k4
% 0.41/0.95  Conjecture to prove = (forall (X:(fofType->Prop)), (mvalid ((mimpl ((mbox r) X)) ((mbox r) ((mbox r) ((mbox r) X)))))):Prop
% 0.41/0.95  Parameter individuals_DUMMY:individuals.
% 0.41/0.95  We need to prove ['(forall (X:(fofType->Prop)), (mvalid ((mimpl ((mbox r) X)) ((mbox r) ((mbox r) ((mbox r) X))))))']
% 0.41/0.95  Parameter fofType:Type.
% 0.41/0.95  Parameter current_world:fofType.
% 0.41/0.95  Parameter prop_a:(fofType->Prop).
% 0.41/0.95  Parameter prop_b:(fofType->Prop).
% 0.41/0.95  Parameter prop_c:(fofType->Prop).
% 0.41/0.95  Definition mfalse:=(fun (X:fofType)=> False):(fofType->Prop).
% 0.41/0.95  Definition mtrue:=(fun (X:fofType)=> True):(fofType->Prop).
% 0.41/0.95  Definition mnot:=(fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False)):((fofType->Prop)->(fofType->Prop)).
% 0.41/0.95  Definition mor:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% 0.41/0.95  Definition mand:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% 0.41/0.95  Definition mimpl:=(fun (U:(fofType->Prop)) (V:(fofType->Prop))=> ((mor (mnot U)) V)):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% 0.41/0.95  Definition miff:=(fun (U:(fofType->Prop)) (V:(fofType->Prop))=> ((mand ((mimpl U) V)) ((mimpl V) U))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% 0.41/0.95  Definition mbox:=(fun (R:(fofType->(fofType->Prop))) (P:(fofType->Prop)) (X:fofType)=> (forall (Y:fofType), (((R X) Y)->(P Y)))):((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->Prop))).
% 0.41/0.95  Definition mdia:=(fun (R:(fofType->(fofType->Prop))) (P:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and ((R X) Y)) (P Y))))):((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->Prop))).
% 0.41/0.95  Parameter individuals:Type.
% 0.41/0.95  Definition mall:=(fun (P:(individuals->(fofType->Prop))) (W:fofType)=> (forall (X:individuals), ((P X) W))):((individuals->(fofType->Prop))->(fofType->Prop)).
% 0.41/0.95  Definition mexists:=(fun (P:(individuals->(fofType->Prop))) (W:fofType)=> ((ex individuals) (fun (X:individuals)=> ((P X) W)))):((individuals->(fofType->Prop))->(fofType->Prop)).
% 0.41/0.95  Definition mvalid:=(fun (P:(fofType->Prop))=> (forall (W:fofType), (P W))):((fofType->Prop)->Prop).
% 0.41/0.95  Definition msatisfiable:=(fun (P:(fofType->Prop))=> ((ex fofType) (fun (W:fofType)=> (P W)))):((fofType->Prop)->Prop).
% 0.41/0.95  Definition mcountersatisfiable:=(fun (P:(fofType->Prop))=> ((ex fofType) (fun (W:fofType)=> ((P W)->False)))):((fofType->Prop)->Prop).
% 0.41/0.95  Definition minvalid:=(fun (P:(fofType->Prop))=> (forall (W:fofType), ((P W)->False))):((fofType->Prop)->Prop).
% 0.41/0.95  Definition cartesian_product:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType) (V:fofType)=> ((and (X U)) (Y V))):((fofType->Prop)->((fofType->Prop)->(fofType->(fofType->Prop)))).
% 0.41/0.95  Definition pair_rel:=(fun (X:fofType) (Y:fofType) (U:fofType) (V:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) V) Y))):(fofType->(fofType->(fofType->(fofType->Prop)))).
% 0.41/0.95  Definition id_rel:=(fun (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S X)) (((eq fofType) X) Y))):((fofType->Prop)->(fofType->(fofType->Prop))).
% 0.41/0.95  Definition sub_rel:=(fun (R1:(fofType->(fofType->Prop))) (R2:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R1 X) Y)->((R2 X) Y)))):((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->Prop)).
% 0.41/0.95  Definition is_rel_on:=(fun (R:(fofType->(fofType->Prop))) (A:(fofType->Prop)) (B:(fofType->Prop))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((and (A X)) (B Y))))):((fofType->(fofType->Prop))->((fofType->Prop)->((fofType->Prop)->Prop))).
% 0.41/0.95  Definition restrict_rel_domain:=(fun (R:(fofType->(fofType->Prop))) (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S X)) ((R X) Y))):((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->(fofType->Prop)))).
% 0.41/0.95  Definition rel_diagonal:=(fun (X:fofType) (Y:fofType)=> (((eq fofType) X) Y)):(fofType->(fofType->Prop)).
% 0.41/0.95  Definition rel_composition:=(fun (R1:(fofType->(fofType->Prop))) (R2:(fofType->(fofType->Prop))) (X:fofType) (Z:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and ((R1 X) Y)) ((R2 Y) Z))))):((fofType->(fofType->Prop))->((fofType->(fofType->Prop))->(fofType->(fofType->Prop)))).
% 0.41/0.95  Definition reflexive:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), ((R X) X))):((fofType->(fofType->Prop))->Prop).
% 0.41/0.95  Definition irreflexive:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType), (((R X) X)->False))):((fofType->(fofType->Prop))->Prop).
% 0.41/0.95  Definition symmetric:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((R X) Y)->((R Y) X)))):((fofType->(fofType->Prop))->Prop).
% 0.41/0.95  Definition transitive:=(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).
% 96.38/96.98  Definition equiv_rel:=(fun (R:(fofType->(fofType->Prop)))=> ((and ((and (reflexive R)) (symmetric R))) (transitive R))):((fofType->(fofType->Prop))->Prop).
% 96.38/96.98  Definition rel_codomain:=(fun (R:(fofType->(fofType->Prop))) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((R X) Y)))):((fofType->(fofType->Prop))->(fofType->Prop)).
% 96.38/96.98  Definition rel_domain:=(fun (R:(fofType->(fofType->Prop))) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((R X) Y)))):((fofType->(fofType->Prop))->(fofType->Prop)).
% 96.38/96.98  Definition rel_inverse:=(fun (R:(fofType->(fofType->Prop))) (X:fofType) (Y:fofType)=> ((R Y) X)):((fofType->(fofType->Prop))->(fofType->(fofType->Prop))).
% 96.38/96.98  Definition equiv_classes:=(fun (R:(fofType->(fofType->Prop))) (S1:(fofType->Prop))=> ((ex fofType) (fun (X:fofType)=> ((and (S1 X)) (forall (Y:fofType), ((iff (S1 Y)) ((R X) Y))))))):((fofType->(fofType->Prop))->((fofType->Prop)->Prop)).
% 96.38/96.98  Definition restrict_rel_codomain:=(fun (R:(fofType->(fofType->Prop))) (S:(fofType->Prop)) (X:fofType) (Y:fofType)=> ((and (S Y)) ((R X) Y))):((fofType->(fofType->Prop))->((fofType->Prop)->(fofType->(fofType->Prop)))).
% 96.38/96.98  Definition rel_field:=(fun (R:(fofType->(fofType->Prop))) (X:fofType)=> ((or ((rel_domain R) X)) ((rel_codomain R) X))):((fofType->(fofType->Prop))->(fofType->Prop)).
% 96.38/96.98  Definition well_founded:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:(fofType->Prop)) (Z:fofType), ((X Z)->((ex fofType) (fun (Y:fofType)=> ((and (X Y)) (forall (W:fofType), (((R Y) W)->((X W)->False))))))))):((fofType->(fofType->Prop))->Prop).
% 96.38/96.98  Definition upwards_well_founded:=(fun (R:(fofType->(fofType->Prop)))=> (forall (X:(fofType->Prop)) (Z:fofType), ((X Z)->((ex fofType) (fun (Y:fofType)=> ((and (X Y)) (forall (W:fofType), (((R Y) Y)->((X W)->False))))))))):((fofType->(fofType->Prop))->Prop).
% 96.38/96.98  Parameter r:(fofType->(fofType->Prop)).
% 96.38/96.98  Axiom upwf_trans:((and (transitive r)) (upwards_well_founded r)).
% 96.38/96.98  Trying to prove (forall (X:(fofType->Prop)), (mvalid ((mimpl ((mbox r) X)) ((mbox r) ((mbox r) ((mbox r) X))))))
% 96.38/96.98  % SZS status GaveUp for /export/starexec/sandbox2/benchmark/theBenchmark.p
%------------------------------------------------------------------------------