%------------------------------------------------------------------------------
% File : LisaST---0.9
% Problem : LCL537+1 : TPTP v9.3.1. Bugfixed v9.2.0.
% Transfm : none
% Format : tptp:raw
% Command : casc-portfolio.sh -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% Computer : n002.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8046.5625MB
% OS : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Sun Sep 27 07:54:48 AM UTC 2026
% Result : Theorem 32.33s 7.95s
% Output : CNFRefutation 32.33s
% Verified :
% SZS Type : Refutation
% Derivation depth : 24
% Number of leaves : 35
% Syntax : Number of formulae : 136 ( 70 unt; 0 def)
% Number of atoms : 225 ( 29 equ)
% Maximal formula atoms : 4 ( 1 avg)
% Number of connectives : 153 ( 64 ~; 65 |; 2 &)
% ( 15 <=>; 7 =>; 0 <=; 0 <~>)
% Maximal formula depth : 6 ( 2 avg)
% Maximal term depth : 5 ( 2 avg)
% Number of predicates : 22 ( 20 usr; 20 prp; 0-2 aty)
% Number of functors : 12 ( 12 usr; 5 con; 0-2 aty)
% Number of variables : 131 ( 7 sgn 31 !; 0 ?)
% Comments :
%------------------------------------------------------------------------------
fof(modus_ponens,axiom,
( 'modus$uponens'
<=> ! [X0,X1] :
( ( 'is$ua$utheorem'(implies(X0,X1))
& 'is$ua$utheorem'(X0) )
=> 'is$ua$utheorem'(X1) ) ) ).
fof(substitution_of_equivalents,axiom,
( 'substitution$uof$uequivalents'
<=> ! [X0,X1] :
( 'is$ua$utheorem'(equiv(X0,X1))
=> X0 = X1 ) ) ).
fof(modus_tollens,axiom,
( 'modus$utollens'
<=> ! [X0,X1] : 'is$ua$utheorem'(implies(implies(not(X1),not(X0)),implies(X0,X1))) ) ).
fof(implies_2,axiom,
( 'implies$u2'
<=> ! [X0,X1] : 'is$ua$utheorem'(implies(implies(X0,implies(X0,X1)),implies(X0,X1))) ) ).
fof(and_1,axiom,
( 'and$u1'
<=> ! [X0,X1] : 'is$ua$utheorem'(implies(and(X0,X1),X0)) ) ).
fof(and_3,axiom,
( 'and$u3'
<=> ! [X0,X1] : 'is$ua$utheorem'(implies(X0,implies(X1,and(X0,X1)))) ) ).
fof(or_1,axiom,
( 'or$u1'
<=> ! [X0,X1] : 'is$ua$utheorem'(implies(X0,or(X0,X1))) ) ).
fof(or_2,axiom,
( 'or$u2'
<=> ! [X0,X1] : 'is$ua$utheorem'(implies(X1,or(X0,X1))) ) ).
fof(kn1,axiom,
( kn1
<=> ! [X0] : 'is$ua$utheorem'(implies(X0,and(X0,X0))) ) ).
fof(r1,axiom,
( r1
<=> ! [X0] : 'is$ua$utheorem'(implies(or(X0,X0),X0)) ) ).
fof(op_or,axiom,
( 'op$uor'
=> ! [X0,X1] : or(X0,X1) = not(and(not(X0),not(X1))) ) ).
fof(op_implies_and,axiom,
( 'op$uimplies$uand'
=> ! [X0,X1] : implies(X0,X1) = not(and(X0,not(X1))) ) ).
fof(op_equiv,axiom,
( 'op$uequiv'
=> ! [X0,X1] : equiv(X0,X1) = and(implies(X0,X1),implies(X1,X0)) ) ).
fof(hilbert_op_or,axiom,
'op$uor' ).
fof(hilbert_op_implies_and,axiom,
'op$uimplies$uand' ).
fof(hilbert_op_equiv,axiom,
'op$uequiv' ).
fof(hilbert_modus_ponens,axiom,
'modus$uponens' ).
fof(hilbert_modus_tollens,axiom,
'modus$utollens' ).
fof(hilbert_implies_2,axiom,
'implies$u2' ).
fof(hilbert_and_1,axiom,
'and$u1' ).
fof(hilbert_and_3,axiom,
'and$u3' ).
fof(hilbert_or_1,axiom,
'or$u1' ).
fof(hilbert_or_2,axiom,
'or$u2' ).
fof(use_substitution_of_equivalents,axiom,
'substitution$uof$uequivalents' ).
fof(adjunction,axiom,
( adjunction
<=> ! [X0,X1] :
( ( 'is$ua$utheorem'(X1)
& 'is$ua$utheorem'(X0) )
=> 'is$ua$utheorem'(and(X0,X1)) ) ) ).
fof(axiom_M,axiom,
( 'axiom$uM'
<=> ! [X0] : 'is$ua$utheorem'(implies(necessarily(X0),X0)) ) ).
fof(axiom_4,axiom,
( 'axiom$u4'
<=> ! [X0] : 'is$ua$utheorem'(implies(necessarily(X0),necessarily(necessarily(X0)))) ) ).
fof(axiom_B,axiom,
( 'axiom$uB'
<=> ! [X0] : 'is$ua$utheorem'(implies(X0,necessarily(possibly(X0)))) ) ).
fof(axiom_5,axiom,
( 'axiom$u5'
<=> ! [X0] : 'is$ua$utheorem'(implies(possibly(X0),necessarily(possibly(X0)))) ) ).
fof(op_possibly,axiom,
( 'op$upossibly'
=> ! [X0] : possibly(X0) = not(necessarily(not(X0))) ) ).
fof(km4b_op_possibly,axiom,
'op$upossibly' ).
fof(km4b_axiom_M,axiom,
'axiom$uM' ).
fof(km4b_axiom_4,axiom,
'axiom$u4' ).
fof(km4b_axiom_B,axiom,
'axiom$uB' ).
fof(km5_axiom_5,conjecture,
'axiom$u5' ).
fof(negated_conjecture,negated_conjecture,
~ 'axiom$u5',
inference(negate_conjecture,[status(cth)],[km5_axiom_5]) ).
cnf(c0,plain,
( 'is$ua$utheorem'(X1)
| ~ 'is$ua$utheorem'(implies(X0,X1))
| ~ 'is$ua$utheorem'(X0)
| ~ 'modus$uponens' ),
inference(clausification,[status(esa)],[modus_ponens]) ).
cnf(c4,plain,
( X0 = X1
| ~ 'is$ua$utheorem'(equiv(X0,X1))
| ~ 'substitution$uof$uequivalents' ),
inference(clausification,[status(esa)],[substitution_of_equivalents]) ).
cnf(c7,plain,
( 'is$ua$utheorem'(implies(implies(not(X0),not(X1)),implies(X1,X0)))
| ~ 'modus$utollens' ),
inference(clausification,[status(esa)],[modus_tollens]) ).
cnf(c11,plain,
( 'is$ua$utheorem'(implies(implies(X0,implies(X0,X1)),implies(X0,X1)))
| ~ 'implies$u2' ),
inference(clausification,[status(esa)],[implies_2]) ).
cnf(c15,plain,
( 'is$ua$utheorem'(implies(and(X0,X1),X0))
| ~ 'and$u1' ),
inference(clausification,[status(esa)],[and_1]) ).
cnf(c19,plain,
( 'is$ua$utheorem'(implies(X0,implies(X1,and(X0,X1))))
| ~ 'and$u3' ),
inference(clausification,[status(esa)],[and_3]) ).
cnf(c21,plain,
( 'is$ua$utheorem'(implies(X0,or(X0,X1)))
| ~ 'or$u1' ),
inference(clausification,[status(esa)],[or_1]) ).
cnf(c23,plain,
( 'is$ua$utheorem'(implies(X0,or(X1,X0)))
| ~ 'or$u2' ),
inference(clausification,[status(esa)],[or_2]) ).
cnf(c33,plain,
( 'is$ua$utheorem'(implies(X0,and(X0,X0)))
| ~ kn1 ),
inference(clausification,[status(esa)],[kn1]) ).
cnf(c34,plain,
( ~ 'is$ua$utheorem'(implies(sK65,and(sK65,sK65)))
| kn1 ),
inference(clausification,[status(esa)],[kn1]) ).
cnf(c45,plain,
( 'is$ua$utheorem'(implies(or(X0,X0),X0))
| ~ r1 ),
inference(clausification,[status(esa)],[r1]) ).
cnf(c46,plain,
( ~ 'is$ua$utheorem'(implies(or(sK89,sK89),sK89))
| r1 ),
inference(clausification,[status(esa)],[r1]) ).
cnf(c55,plain,
( or(X0,X1) = not(and(not(X0),not(X1)))
| ~ 'op$uor' ),
inference(clausification,[status(esa)],[op_or]) ).
cnf(c57,plain,
( implies(X0,X1) = not(and(X0,not(X1)))
| ~ 'op$uimplies$uand' ),
inference(clausification,[status(esa)],[op_implies_and]) ).
cnf(c59,plain,
( equiv(X0,X1) = and(implies(X0,X1),implies(X1,X0))
| ~ 'op$uequiv' ),
inference(clausification,[status(esa)],[op_equiv]) ).
cnf(c60,plain,
'op$uor',
inference(clausification,[status(esa)],[hilbert_op_or]) ).
cnf(c61,plain,
'op$uimplies$uand',
inference(clausification,[status(esa)],[hilbert_op_implies_and]) ).
cnf(c62,plain,
'op$uequiv',
inference(clausification,[status(esa)],[hilbert_op_equiv]) ).
cnf(c63,plain,
'modus$uponens',
inference(clausification,[status(esa)],[hilbert_modus_ponens]) ).
cnf(c64,plain,
'modus$utollens',
inference(clausification,[status(esa)],[hilbert_modus_tollens]) ).
cnf(c66,plain,
'implies$u2',
inference(clausification,[status(esa)],[hilbert_implies_2]) ).
cnf(c68,plain,
'and$u1',
inference(clausification,[status(esa)],[hilbert_and_1]) ).
cnf(c70,plain,
'and$u3',
inference(clausification,[status(esa)],[hilbert_and_3]) ).
cnf(c71,plain,
'or$u1',
inference(clausification,[status(esa)],[hilbert_or_1]) ).
cnf(c72,plain,
'or$u2',
inference(clausification,[status(esa)],[hilbert_or_2]) ).
cnf(c77,plain,
'substitution$uof$uequivalents',
inference(clausification,[status(esa)],[use_substitution_of_equivalents]) ).
cnf(c85,plain,
( 'is$ua$utheorem'(and(X0,X1))
| ~ 'is$ua$utheorem'(X1)
| ~ 'is$ua$utheorem'(X0)
| ~ adjunction ),
inference(clausification,[status(esa)],[adjunction]) ).
cnf(c86,plain,
( 'is$ua$utheorem'(sK128)
| adjunction ),
inference(clausification,[status(esa)],[adjunction]) ).
cnf(c87,plain,
( 'is$ua$utheorem'(sK129)
| adjunction ),
inference(clausification,[status(esa)],[adjunction]) ).
cnf(c88,plain,
( ~ 'is$ua$utheorem'(and(sK128,sK129))
| adjunction ),
inference(clausification,[status(esa)],[adjunction]) ).
cnf(c94,plain,
( 'is$ua$utheorem'(implies(necessarily(X0),X0))
| ~ 'axiom$uM' ),
inference(clausification,[status(esa)],[axiom_M]) ).
cnf(c96,plain,
( 'is$ua$utheorem'(implies(necessarily(X0),necessarily(necessarily(X0))))
| ~ 'axiom$u4' ),
inference(clausification,[status(esa)],[axiom_4]) ).
cnf(c98,plain,
( 'is$ua$utheorem'(implies(X0,necessarily(possibly(X0))))
| ~ 'axiom$uB' ),
inference(clausification,[status(esa)],[axiom_B]) ).
cnf(c101,plain,
( ~ 'is$ua$utheorem'(implies(possibly(sK145),necessarily(possibly(sK145))))
| 'axiom$u5' ),
inference(clausification,[status(esa)],[axiom_5]) ).
cnf(c130,plain,
( possibly(X0) = not(necessarily(not(X0)))
| ~ 'op$upossibly' ),
inference(clausification,[status(esa)],[op_possibly]) ).
cnf(c134,plain,
'op$upossibly',
inference(clausification,[status(esa)],[km4b_op_possibly]) ).
cnf(c137,plain,
'axiom$uM',
inference(clausification,[status(esa)],[km4b_axiom_M]) ).
cnf(c138,plain,
'axiom$u4',
inference(clausification,[status(esa)],[km4b_axiom_4]) ).
cnf(c139,plain,
'axiom$uB',
inference(clausification,[status(esa)],[km4b_axiom_B]) ).
cnf(c140,plain,
~ 'axiom$u5',
inference(clausification,[status(esa)],[negated_conjecture]) ).
cnf(d0,plain,
~ 'is$ua$utheorem'(implies(possibly(sK145),necessarily(possibly(sK145)))),
inference(resolution,[status(thm)],[c140,c101]) ).
cnf(d1,plain,
'is$ua$utheorem'(implies(X0,necessarily(possibly(X0)))),
inference(resolution,[status(thm)],[c139,c98]) ).
cnf(d2,plain,
implies(X0,X1) = not(and(X0,not(X1))),
inference(resolution,[status(thm)],[c61,c57]) ).
cnf(d3,plain,
or(X0,X1) = not(and(not(X0),not(X1))),
inference(resolution,[status(thm)],[c60,c55]) ).
cnf(d4,plain,
or(X0,X1) = implies(not(X0),X1),
inference(demodulation,[status(thm)],[d3,d2]) ).
cnf(d5,plain,
( ~ 'is$ua$utheorem'(equiv(X0,X1))
| X0 = X1 ),
inference(resolution,[status(thm)],[c77,c4]) ).
cnf(d6,plain,
equiv(X0,X1) = and(implies(X0,X1),implies(X1,X0)),
inference(resolution,[status(thm)],[c62,c59]) ).
cnf(d7,plain,
( ~ adjunction
| ~ 'is$ua$utheorem'(implies(X0,X1))
| ~ 'is$ua$utheorem'(implies(X1,X0))
| 'is$ua$utheorem'(equiv(X0,X1)) ),
inference(superposition,[status(thm)],[d6,c85]) ).
cnf(d8,plain,
( ~ kn1
| ~ adjunction
| 'is$ua$utheorem'(equiv(X0,and(X0,X0)))
| ~ 'is$ua$utheorem'(implies(and(X0,X0),X0)) ),
inference(resolution,[status(thm)],[d7,c33]) ).
cnf(d9,plain,
'is$ua$utheorem'(implies(and(X0,X1),X0)),
inference(resolution,[status(thm)],[c68,c15]) ).
cnf(d10,plain,
( ~ adjunction
| ~ kn1
| 'is$ua$utheorem'(equiv(X0,and(X0,X0))) ),
inference(resolution,[status(thm)],[d9,d8]) ).
cnf(d11,plain,
'is$ua$utheorem'(implies(X0,implies(X1,and(X0,X1)))),
inference(resolution,[status(thm)],[c70,c19]) ).
cnf(d12,plain,
'is$ua$utheorem'(implies(implies(X0,implies(X0,X1)),implies(X0,X1))),
inference(resolution,[status(thm)],[c66,c11]) ).
cnf(d13,plain,
( ~ 'is$ua$utheorem'(implies(X1,X0))
| ~ 'is$ua$utheorem'(X1)
| 'is$ua$utheorem'(X0) ),
inference(resolution,[status(thm)],[c63,c0]) ).
cnf(d14,plain,
( 'is$ua$utheorem'(implies(X0,X1))
| ~ 'is$ua$utheorem'(implies(X0,implies(X0,X1))) ),
inference(resolution,[status(thm)],[d13,d12]) ).
cnf(d15,plain,
'is$ua$utheorem'(implies(X0,and(X0,X0))),
inference(resolution,[status(thm)],[d14,d11]) ).
cnf(d16,plain,
kn1,
inference(resolution,[status(thm)],[d15,c34]) ).
cnf(d17,plain,
( ~ adjunction
| 'is$ua$utheorem'(equiv(X0,and(X0,X0))) ),
inference(resolution,[status(thm)],[d16,d10]) ).
cnf(d18,plain,
( 'is$ua$utheorem'(implies(X1,and(X0,X1)))
| ~ 'is$ua$utheorem'(X0) ),
inference(resolution,[status(thm)],[d13,d11]) ).
cnf(d19,plain,
( 'is$ua$utheorem'(and(X0,X1))
| ~ 'is$ua$utheorem'(X1)
| ~ 'is$ua$utheorem'(X0) ),
inference(resolution,[status(thm)],[d18,d13]) ).
cnf(d20,plain,
( adjunction
| ~ 'is$ua$utheorem'(sK128)
| ~ 'is$ua$utheorem'(sK129) ),
inference(resolution,[status(thm)],[d19,c88]) ).
cnf(d21,plain,
( adjunction
| adjunction
| ~ 'is$ua$utheorem'(sK128) ),
inference(resolution,[status(thm)],[d20,c87]) ).
cnf(d22,plain,
( adjunction
| adjunction ),
inference(resolution,[status(thm)],[d21,c86]) ).
cnf(d23,plain,
'is$ua$utheorem'(equiv(X0,and(X0,X0))),
inference(resolution,[status(thm)],[d22,d17]) ).
cnf(d24,plain,
X0 = and(X0,X0),
inference(resolution,[status(thm)],[d23,d5]) ).
cnf(d25,plain,
implies(not(X0),X0) = not(not(X0)),
inference(superposition,[status(thm)],[d24,d2]) ).
cnf(d26,plain,
or(X0,X0) = not(not(X0)),
inference(demodulation,[status(thm)],[d25,d4]) ).
cnf(d27,plain,
( ~ r1
| ~ adjunction
| 'is$ua$utheorem'(equiv(or(X0,X0),X0))
| ~ 'is$ua$utheorem'(implies(X0,or(X0,X0))) ),
inference(resolution,[status(thm)],[d7,c45]) ).
cnf(d28,plain,
'is$ua$utheorem'(implies(X0,or(X0,X1))),
inference(resolution,[status(thm)],[c71,c21]) ).
cnf(d29,plain,
( ~ adjunction
| ~ r1
| 'is$ua$utheorem'(equiv(or(X0,X0),X0)) ),
inference(resolution,[status(thm)],[d28,d27]) ).
cnf(d30,plain,
( ~ r1
| 'is$ua$utheorem'(equiv(or(X0,X0),X0)) ),
inference(resolution,[status(thm)],[d22,d29]) ).
cnf(d31,plain,
( or(X0,X0) = X0
| ~ r1 ),
inference(resolution,[status(thm)],[d30,d5]) ).
cnf(d32,plain,
( ~ r1
| not(not(X0)) = X0 ),
inference(demodulation,[status(thm)],[d31,d26]) ).
cnf(d33,plain,
( r1
| ~ 'is$ua$utheorem'(implies(not(not(sK89)),sK89)) ),
inference(demodulation,[status(thm)],[c46,d26]) ).
cnf(d34,plain,
( r1
| ~ 'is$ua$utheorem'(or(not(sK89),sK89)) ),
inference(demodulation,[status(thm)],[d33,d4]) ).
cnf(d35,plain,
'is$ua$utheorem'(implies(implies(not(X0),not(X1)),implies(X1,X0))),
inference(resolution,[status(thm)],[c64,c7]) ).
cnf(d36,plain,
( 'is$ua$utheorem'(implies(X1,X0))
| ~ 'is$ua$utheorem'(implies(not(X0),not(X1))) ),
inference(resolution,[status(thm)],[d13,d35]) ).
cnf(d37,plain,
( ~ 'is$ua$utheorem'(or(X0,not(X1)))
| 'is$ua$utheorem'(implies(X1,X0)) ),
inference(demodulation,[status(thm)],[d36,d4]) ).
cnf(d38,plain,
'is$ua$utheorem'(implies(X0,or(X1,X0))),
inference(resolution,[status(thm)],[c72,c23]) ).
cnf(d39,plain,
'is$ua$utheorem'(or(X0,or(X1,not(X0)))),
inference(superposition,[status(thm)],[d4,d38]) ).
cnf(d40,plain,
'is$ua$utheorem'(or(X0,not(not(not(X0))))),
inference(superposition,[status(thm)],[d26,d39]) ).
cnf(d41,plain,
'is$ua$utheorem'(implies(not(not(X0)),X0)),
inference(resolution,[status(thm)],[d40,d37]) ).
cnf(d42,plain,
'is$ua$utheorem'(or(not(X0),X0)),
inference(demodulation,[status(thm)],[d41,d4]) ).
cnf(d43,plain,
r1,
inference(resolution,[status(thm)],[d42,d34]) ).
cnf(d44,plain,
not(not(X0)) = X0,
inference(resolution,[status(thm)],[d43,d32]) ).
cnf(d45,plain,
possibly(X0) = not(necessarily(not(X0))),
inference(resolution,[status(thm)],[c134,c130]) ).
cnf(d46,plain,
possibly(not(X0)) = not(necessarily(X0)),
inference(superposition,[status(thm)],[d44,d45]) ).
cnf(d47,plain,
'is$ua$utheorem'(implies(necessarily(X0),necessarily(necessarily(X0)))),
inference(resolution,[status(thm)],[c138,c96]) ).
cnf(d48,plain,
( ~ adjunction
| 'is$ua$utheorem'(equiv(necessarily(X0),necessarily(necessarily(X0))))
| ~ 'is$ua$utheorem'(implies(necessarily(necessarily(X0)),necessarily(X0))) ),
inference(resolution,[status(thm)],[d7,d47]) ).
cnf(d49,plain,
'is$ua$utheorem'(implies(necessarily(X0),X0)),
inference(resolution,[status(thm)],[c137,c94]) ).
cnf(d50,plain,
( ~ adjunction
| 'is$ua$utheorem'(equiv(necessarily(X0),necessarily(necessarily(X0)))) ),
inference(resolution,[status(thm)],[d49,d48]) ).
cnf(d51,plain,
'is$ua$utheorem'(equiv(necessarily(X0),necessarily(necessarily(X0)))),
inference(resolution,[status(thm)],[d22,d50]) ).
cnf(d52,plain,
necessarily(X0) = necessarily(necessarily(X0)),
inference(resolution,[status(thm)],[d51,d5]) ).
cnf(d53,plain,
possibly(not(necessarily(X0))) = not(necessarily(X0)),
inference(superposition,[status(thm)],[d52,d46]) ).
cnf(d54,plain,
possibly(possibly(not(X0))) = not(necessarily(X0)),
inference(demodulation,[status(thm)],[d53,d46]) ).
cnf(d55,plain,
possibly(possibly(not(X0))) = possibly(not(X0)),
inference(demodulation,[status(thm)],[d54,d46]) ).
cnf(d56,plain,
possibly(possibly(X0)) = possibly(not(not(X0))),
inference(superposition,[status(thm)],[d44,d55]) ).
cnf(d57,plain,
possibly(possibly(X0)) = possibly(X0),
inference(demodulation,[status(thm)],[d56,d44]) ).
cnf(d58,plain,
'is$ua$utheorem'(implies(possibly(X0),necessarily(possibly(X0)))),
inference(superposition,[status(thm)],[d57,d1]) ).
cnf(d59,plain,
$false,
inference(resolution,[status(thm)],[d58,d0]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03 % Problem : LCL537+1 : TPTP v9.3.1. Bugfixed v9.2.0.
% 0.00/0.04 % Command : casc-portfolio.sh -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.09/0.37 % Computer : n002.cluster.edu
% 0.09/0.37 % Model : x86_64 x86_64
% 0.09/0.37 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.37 % Memory : 8046.5625MB
% 0.09/0.37 % OS : Linux 6.8.0-71-generic
% 0.09/0.37 % CPULimit : 300
% 0.09/0.37 % WCLimit : 300
% 0.09/0.37 % DateTime : Fri Sep 25 22:45:20 UTC 2026
% 0.09/0.37 % CPUTime :
% 0.09/0.37 Running casc-portfolio.sh -t 300 /export/starexec/sandbox2/benchmark/theBenchmark.p
% 32.33/7.95 % SZS status Theorem for theBenchmark.p
% 32.33/7.95 % SZS output start CNFRefutation for theBenchmark.p
% See solution above
%------------------------------------------------------------------------------