↑ Up

FindProof---0.1.UNS-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : FindProof---0.1
% Problem  : SYN191-1 : TPTP v9.3.1. Released v1.1.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_findproof /export/starexec/sandbox2/benchmark/theBenchmark.p 300

% Computer : n017.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 : Fri Sep 25 03:34:02 PM UTC 2026

% Result   : Unsatisfiable 5.88s 1.40s
% Output   : Proof 5.88s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   12
%            Number of leaves      :   23
% Syntax   : Number of formulae    :  125 (  73 unt;   0 def)
%            Number of atoms       :  225 (  38 equ)
%            Maximal formula atoms :    4 (   1 avg)
%            Number of connectives :  206 ( 106   ~; 100   |;   0   &)
%                                         (   0 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    9 (   3 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :   17 (  15 usr;   1 prp; 0-3 aty)
%            Number of functors    :    5 (   5 usr;   4 con; 0-4 aty)
%            Number of variables   :  186 (  42 sgn  72   !;   0   ?)

% Comments : 
%------------------------------------------------------------------------------
cnf(f162,axiom,
    ( ~ p0(I,I)
    | s1(I) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_125) ).

fof(f162_nnf,plain,
    ! [I] :
      ( ~ p0(I,I)
      | s1(I) ),
    inference(nnf_transformation,[status(thm)],[f162]) ).

fof(f162_sk,plain,
    ! [I] :
      ( ~ p0(I,I)
      | s1(I) ),
    inference(skolemisation,[status(esa)],[f162_nnf]) ).

cnf(c162,plain,
    ( ~ p0(X0,X0)
    | s1(X0) ),
    inference(cnf_transformation,[status(esa)],[f162_sk]) ).

cnf(hi160,axiom,
    ifeq(p0(X0,X0),true,s1(X0),true) = true,
    inference(equality_encoding,[status(esa)],[c162]) ).

cnf(f13,axiom,
    p0(b,X),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_14) ).

fof(f13_nnf,plain,
    ! [X] : p0(b,X),
    inference(nnf_transformation,[status(thm)],[f13]) ).

fof(f13_sk,plain,
    ! [X] : p0(b,X),
    inference(skolemisation,[status(esa)],[f13_nnf]) ).

cnf(c13,plain,
    p0(b,X0),
    inference(cnf_transformation,[status(esa)],[f13_sk]) ).

cnf(hi13,axiom,
    p0(b,X0) = true,
    inference(equality_encoding,[status(esa)],[c13]) ).

cnf(h34,plain,
    s1(b) = true,
    inference(hyper_resolution,[status(thm)],[hi160,hi13]) ).

cnf(f163,axiom,
    ( ~ s1(H)
    | ~ q0(F,G)
    | s1(F) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_126) ).

fof(f163_nnf,plain,
    ! [F,G,H] :
      ( ~ s1(H)
      | ~ q0(F,G)
      | s1(F) ),
    inference(nnf_transformation,[status(thm)],[f163]) ).

fof(f163_sk,plain,
    ! [F,G,H] :
      ( ~ s1(H)
      | ~ q0(F,G)
      | s1(F) ),
    inference(skolemisation,[status(esa)],[f163_nnf]) ).

cnf(c163,plain,
    ( ~ s1(X2)
    | ~ q0(X0,X1)
    | s1(X0) ),
    inference(cnf_transformation,[status(esa)],[f163_sk]) ).

cnf(hi161,axiom,
    ifeq(q0(X0,X1),true,ifeq(s1(X2),true,s1(X0),true),true) = true,
    inference(equality_encoding,[status(esa)],[c163]) ).

cnf(f16,axiom,
    q0(X,d),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_17) ).

fof(f16_nnf,plain,
    ! [X] : q0(X,d),
    inference(nnf_transformation,[status(thm)],[f16]) ).

fof(f16_sk,plain,
    ! [X] : q0(X,d),
    inference(skolemisation,[status(esa)],[f16_nnf]) ).

cnf(c16,plain,
    q0(X0,d),
    inference(cnf_transformation,[status(esa)],[f16_sk]) ).

cnf(hi16,axiom,
    q0(X0,d) = true,
    inference(equality_encoding,[status(esa)],[c16]) ).

cnf(h51,plain,
    s1(V0) = true,
    inference(hyper_resolution,[status(thm)],[hi161,hi16,h34]) ).

cnf(f170,axiom,
    ( ~ m0(C,B,J)
    | ~ s1(B)
    | ~ p0(A,A)
    | l2(J,J) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_133) ).

fof(f170_nnf,plain,
    ! [J,A,B,C] :
      ( ~ m0(C,B,J)
      | ~ s1(B)
      | ~ p0(A,A)
      | l2(J,J) ),
    inference(nnf_transformation,[status(thm)],[f170]) ).

fof(f170_sk,plain,
    ! [J,A,B,C] :
      ( ~ m0(C,B,J)
      | ~ s1(B)
      | ~ p0(A,A)
      | l2(J,J) ),
    inference(skolemisation,[status(esa)],[f170_nnf]) ).

cnf(c170,plain,
    ( ~ m0(X3,X2,X0)
    | ~ s1(X2)
    | ~ p0(X1,X1)
    | l2(X0,X0) ),
    inference(cnf_transformation,[status(esa)],[f170_sk]) ).

cnf(hi167,axiom,
    ifeq(p0(X0,X0),true,ifeq(s1(X1),true,ifeq(m0(X2,X1,X3),true,l2(X3,X3),true),true),true) = true,
    inference(equality_encoding,[status(esa)],[c170]) ).

cnf(f18,axiom,
    m0(X,d,Y),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_19) ).

fof(f18_nnf,plain,
    ! [X,Y] : m0(X,d,Y),
    inference(nnf_transformation,[status(thm)],[f18]) ).

fof(f18_sk,plain,
    ! [X,Y] : m0(X,d,Y),
    inference(skolemisation,[status(esa)],[f18_nnf]) ).

cnf(c18,plain,
    m0(X0,d,X1),
    inference(cnf_transformation,[status(esa)],[f18_sk]) ).

cnf(hi18,axiom,
    m0(X0,d,X1) = true,
    inference(equality_encoding,[status(esa)],[c18]) ).

cnf(h115,plain,
    l2(V0,V0) = true,
    inference(hyper_resolution,[status(thm)],[hi167,hi13,h51,hi18]) ).

cnf(f302,axiom,
    ( ~ l2(G,F)
    | r3(F,F,F) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_265) ).

fof(f302_nnf,plain,
    ! [F,G] :
      ( ~ l2(G,F)
      | r3(F,F,F) ),
    inference(nnf_transformation,[status(thm)],[f302]) ).

fof(f302_sk,plain,
    ! [F,G] :
      ( ~ l2(G,F)
      | r3(F,F,F) ),
    inference(skolemisation,[status(esa)],[f302_nnf]) ).

cnf(c302,plain,
    ( ~ l2(X1,X0)
    | r3(X0,X0,X0) ),
    inference(cnf_transformation,[status(esa)],[f302_sk]) ).

cnf(hi297,axiom,
    ifeq(l2(X0,X1),true,r3(X1,X1,X1),true) = true,
    inference(equality_encoding,[status(esa)],[c302]) ).

cnf(h128,plain,
    r3(V0,V0,V0) = true,
    inference(hyper_resolution,[status(thm)],[hi297,h115]) ).

cnf(f129,axiom,
    ( ~ p0(C,J)
    | ~ n0(B,A)
    | q1(J,A,J) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_092) ).

fof(f129_nnf,plain,
    ! [J,A,B,C] :
      ( ~ p0(C,J)
      | ~ n0(B,A)
      | q1(J,A,J) ),
    inference(nnf_transformation,[status(thm)],[f129]) ).

fof(f129_sk,plain,
    ! [J,A,B,C] :
      ( ~ p0(C,J)
      | ~ n0(B,A)
      | q1(J,A,J) ),
    inference(skolemisation,[status(esa)],[f129_nnf]) ).

cnf(c129,plain,
    ( ~ p0(X3,X0)
    | ~ n0(X2,X1)
    | q1(X0,X1,X0) ),
    inference(cnf_transformation,[status(esa)],[f129_sk]) ).

cnf(hi127,axiom,
    ifeq(n0(X0,X1),true,ifeq(p0(X2,X3),true,q1(X3,X1,X3),true),true) = true,
    inference(equality_encoding,[status(esa)],[c129]) ).

cnf(f33,axiom,
    n0(c,d),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_34) ).

fof(f33_nnf,plain,
    n0(c,d),
    inference(nnf_transformation,[status(thm)],[f33]) ).

cnf(c33,plain,
    n0(c,d),
    inference(cnf_transformation,[status(esa)],[f33_nnf]) ).

cnf(hi33,axiom,
    n0(c,d) = true,
    inference(equality_encoding,[status(esa)],[c33]) ).

cnf(h71,plain,
    q1(V0,d,V0) = true,
    inference(hyper_resolution,[status(thm)],[hi127,hi33,hi13]) ).

cnf(f161,axiom,
    ( ~ q1(d,E,d)
    | ~ s0(d)
    | ~ q0(D,E)
    | r1(D) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_124) ).

fof(f161_nnf,plain,
    ! [D,E] :
      ( ~ q1(d,E,d)
      | ~ s0(d)
      | ~ q0(D,E)
      | r1(D) ),
    inference(nnf_transformation,[status(thm)],[f161]) ).

fof(f161_sk,plain,
    ! [D,E] :
      ( ~ q1(d,E,d)
      | ~ s0(d)
      | ~ q0(D,E)
      | r1(D) ),
    inference(skolemisation,[status(esa)],[f161_nnf]) ).

cnf(c161,plain,
    ( ~ q1(d,X1,d)
    | ~ s0(d)
    | ~ q0(X0,X1)
    | r1(X0) ),
    inference(cnf_transformation,[status(esa)],[f161_sk]) ).

cnf(hi159,axiom,
    ifeq(q0(X0,X1),true,ifeq(s0(d),true,ifeq(q1(d,X1,d),true,r1(X0),true),true),true) = true,
    inference(equality_encoding,[status(esa)],[c161]) ).

cnf(f0,axiom,
    s0(d),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_1) ).

fof(f0_nnf,plain,
    s0(d),
    inference(nnf_transformation,[status(thm)],[f0]) ).

cnf(c0,plain,
    s0(d),
    inference(cnf_transformation,[status(esa)],[f0_nnf]) ).

cnf(hi0,axiom,
    s0(d) = true,
    inference(equality_encoding,[status(esa)],[c0]) ).

cnf(h215,plain,
    r1(V0) = true,
    inference(hyper_resolution,[status(thm)],[hi159,hi16,hi0,h71]) ).

cnf(f225,axiom,
    ( ~ l0(G)
    | ~ r1(G)
    | r2(G) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_188) ).

fof(f225_nnf,plain,
    ! [G] :
      ( ~ l0(G)
      | ~ r1(G)
      | r2(G) ),
    inference(nnf_transformation,[status(thm)],[f225]) ).

fof(f225_sk,plain,
    ! [G] :
      ( ~ l0(G)
      | ~ r1(G)
      | r2(G) ),
    inference(skolemisation,[status(esa)],[f225_nnf]) ).

cnf(c225,plain,
    ( ~ l0(X0)
    | ~ r1(X0)
    | r2(X0) ),
    inference(cnf_transformation,[status(esa)],[f225_sk]) ).

cnf(hi222,axiom,
    ifeq(r1(X0),true,ifeq(l0(X0),true,r2(X0),true),true) = true,
    inference(equality_encoding,[status(esa)],[c225]) ).

cnf(f23,axiom,
    l0(c),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_24) ).

fof(f23_nnf,plain,
    l0(c),
    inference(nnf_transformation,[status(thm)],[f23]) ).

cnf(c23,plain,
    l0(c),
    inference(cnf_transformation,[status(esa)],[f23_nnf]) ).

cnf(hi23,axiom,
    l0(c) = true,
    inference(equality_encoding,[status(esa)],[c23]) ).

cnf(h216,plain,
    r2(c) = true,
    inference(hyper_resolution,[status(thm)],[hi222,h215,hi23]) ).

cnf(f132,axiom,
    ( ~ p0(G,F)
    | q1(F,G,G) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_095) ).

fof(f132_nnf,plain,
    ! [F,G] :
      ( ~ p0(G,F)
      | q1(F,G,G) ),
    inference(nnf_transformation,[status(thm)],[f132]) ).

fof(f132_sk,plain,
    ! [F,G] :
      ( ~ p0(G,F)
      | q1(F,G,G) ),
    inference(skolemisation,[status(esa)],[f132_nnf]) ).

cnf(c132,plain,
    ( ~ p0(X1,X0)
    | q1(X0,X1,X1) ),
    inference(cnf_transformation,[status(esa)],[f132_sk]) ).

cnf(hi130,axiom,
    ifeq(p0(X0,X1),true,q1(X1,X0,X0),true) = true,
    inference(equality_encoding,[status(esa)],[c132]) ).

cnf(f17,axiom,
    p0(c,b),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_18) ).

fof(f17_nnf,plain,
    p0(c,b),
    inference(nnf_transformation,[status(thm)],[f17]) ).

cnf(c17,plain,
    p0(c,b),
    inference(cnf_transformation,[status(esa)],[f17_nnf]) ).

cnf(hi17,axiom,
    p0(c,b) = true,
    inference(equality_encoding,[status(esa)],[c17]) ).

cnf(h57,plain,
    q1(b,c,c) = true,
    inference(hyper_resolution,[status(thm)],[hi130,hi17]) ).

cnf(f166,axiom,
    ( ~ q1(A,J,J)
    | k2(J,J) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_129) ).

fof(f166_nnf,plain,
    ! [J,A] :
      ( ~ q1(A,J,J)
      | k2(J,J) ),
    inference(nnf_transformation,[status(thm)],[f166]) ).

fof(f166_sk,plain,
    ! [J,A] :
      ( ~ q1(A,J,J)
      | k2(J,J) ),
    inference(skolemisation,[status(esa)],[f166_nnf]) ).

cnf(c166,plain,
    ( ~ q1(X1,X0,X0)
    | k2(X0,X0) ),
    inference(cnf_transformation,[status(esa)],[f166_sk]) ).

cnf(hi164,axiom,
    ifeq(q1(X0,X1,X1),true,k2(X1,X1),true) = true,
    inference(equality_encoding,[status(esa)],[c166]) ).

cnf(h207,plain,
    k2(c,c) = true,
    inference(hyper_resolution,[status(thm)],[hi164,h57]) ).

cnf(f38,axiom,
    ( ~ n0(J,I)
    | k1(I) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_001) ).

fof(f38_nnf,plain,
    ! [I,J] :
      ( ~ n0(J,I)
      | k1(I) ),
    inference(nnf_transformation,[status(thm)],[f38]) ).

fof(f38_sk,plain,
    ! [I,J] :
      ( ~ n0(J,I)
      | k1(I) ),
    inference(skolemisation,[status(esa)],[f38_nnf]) ).

cnf(c38,plain,
    ( ~ n0(X1,X0)
    | k1(X0) ),
    inference(cnf_transformation,[status(esa)],[f38_sk]) ).

cnf(hi38,axiom,
    ifeq(n0(X0,X1),true,k1(X1),true) = true,
    inference(equality_encoding,[status(esa)],[c38]) ).

cnf(f25,axiom,
    n0(d,c),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_26) ).

fof(f25_nnf,plain,
    n0(d,c),
    inference(nnf_transformation,[status(thm)],[f25]) ).

cnf(c25,plain,
    n0(d,c),
    inference(cnf_transformation,[status(esa)],[f25_nnf]) ).

cnf(hi25,axiom,
    n0(d,c) = true,
    inference(equality_encoding,[status(esa)],[c25]) ).

cnf(h65,plain,
    k1(c) = true,
    inference(hyper_resolution,[status(thm)],[hi38,hi25]) ).

cnf(f66,axiom,
    ( ~ s0(H)
    | ~ p0(H,I)
    | m1(H,I,H) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_029) ).

fof(f66_nnf,plain,
    ! [H,I] :
      ( ~ s0(H)
      | ~ p0(H,I)
      | m1(H,I,H) ),
    inference(nnf_transformation,[status(thm)],[f66]) ).

fof(f66_sk,plain,
    ! [H,I] :
      ( ~ s0(H)
      | ~ p0(H,I)
      | m1(H,I,H) ),
    inference(skolemisation,[status(esa)],[f66_nnf]) ).

cnf(c66,plain,
    ( ~ s0(X0)
    | ~ p0(X0,X1)
    | m1(X0,X1,X0) ),
    inference(cnf_transformation,[status(esa)],[f66_sk]) ).

cnf(hi66,axiom,
    ifeq(p0(X0,X1),true,ifeq(s0(X0),true,m1(X0,X1,X0),true),true) = true,
    inference(equality_encoding,[status(esa)],[c66]) ).

cnf(f4,axiom,
    s0(b),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',axiom_5) ).

fof(f4_nnf,plain,
    s0(b),
    inference(nnf_transformation,[status(thm)],[f4]) ).

cnf(c4,plain,
    s0(b),
    inference(cnf_transformation,[status(esa)],[f4_nnf]) ).

cnf(hi4,axiom,
    s0(b) = true,
    inference(equality_encoding,[status(esa)],[c4]) ).

cnf(h49,plain,
    m1(b,V0,b) = true,
    inference(hyper_resolution,[status(thm)],[hi66,hi13,hi4]) ).

cnf(f164,axiom,
    ( ~ k2(F,D)
    | ~ k1(F)
    | ~ m1(E,D,C)
    | k2(C,D) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_127) ).

fof(f164_nnf,plain,
    ! [C,D,E,F] :
      ( ~ k2(F,D)
      | ~ k1(F)
      | ~ m1(E,D,C)
      | k2(C,D) ),
    inference(nnf_transformation,[status(thm)],[f164]) ).

fof(f164_sk,plain,
    ! [C,D,E,F] :
      ( ~ k2(F,D)
      | ~ k1(F)
      | ~ m1(E,D,C)
      | k2(C,D) ),
    inference(skolemisation,[status(esa)],[f164_nnf]) ).

cnf(c164,plain,
    ( ~ k2(X3,X1)
    | ~ k1(X3)
    | ~ m1(X2,X1,X0)
    | k2(X0,X1) ),
    inference(cnf_transformation,[status(esa)],[f164_sk]) ).

cnf(hi162,axiom,
    ifeq(m1(X0,X1,X2),true,ifeq(k1(X3),true,ifeq(k2(X3,X1),true,k2(X2,X1),true),true),true) = true,
    inference(equality_encoding,[status(esa)],[c164]) ).

cnf(h209,plain,
    k2(b,c) = true,
    inference(hyper_resolution,[status(thm)],[hi162,h49,h65,h207]) ).

cnf(f309,axiom,
    ( ~ r3(B,J,J)
    | ~ r2(B)
    | ~ k2(A,B)
    | r3(J,A,B) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',rule_272) ).

fof(f309_nnf,plain,
    ! [J,A,B] :
      ( ~ r3(B,J,J)
      | ~ r2(B)
      | ~ k2(A,B)
      | r3(J,A,B) ),
    inference(nnf_transformation,[status(thm)],[f309]) ).

fof(f309_sk,plain,
    ! [J,A,B] :
      ( ~ r3(B,J,J)
      | ~ r2(B)
      | ~ k2(A,B)
      | r3(J,A,B) ),
    inference(skolemisation,[status(esa)],[f309_nnf]) ).

cnf(c309,plain,
    ( ~ r3(X2,X0,X0)
    | ~ r2(X2)
    | ~ k2(X1,X2)
    | r3(X0,X1,X2) ),
    inference(cnf_transformation,[status(esa)],[f309_sk]) ).

cnf(hi304,axiom,
    ifeq(k2(X0,X1),true,ifeq(r2(X1),true,ifeq(r3(X1,X2,X2),true,r3(X2,X0,X1),true),true),true) = true,
    inference(equality_encoding,[status(esa)],[c309]) ).

cnf(t32,plain,
    r3(c,b,c) = true,
    inference(hyper_resolution,[status(thm)],[hi304,h209,h216,h128]) ).

cnf(t59,plain,
    r3(c,b,c) = true,
    inference(orient,[status(thm)],[t32]) ).

cnf(f368,negated_conjecture,
    ~ r3(c,b,c),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',prove_this) ).

fof(f368_nnf,plain,
    ~ r3(c,b,c),
    inference(nnf_transformation,[status(thm)],[f368]) ).

fof(f368_sk,plain,
    ~ r3(c,b,c),
    inference(skolemisation,[status(esa)],[f368_nnf]) ).

cnf(c368,plain,
    ~ r3(c,b,c),
    inference(cnf_transformation,[status(esa)],[f368_sk]) ).

cnf(goal_0,negated_conjecture,
    r3(c,b,c) != true,
    inference(equality_encoding,[status(esa)],[c368]) ).

cnf(g0_0,plain,
    true != true,
    inference(rw,[status(thm)],[goal_0,t59]) ).

cnf(contradiction_0,plain,
    $false,
    inference(trivial_inequality_removal,[status(thm)],[g0_0]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : SYN191-1 : TPTP v9.3.1. Released v1.1.0.
% 0.00/0.04  % Command  : run_findproof /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.10/0.35  % Computer : n017.cluster.edu
% 0.10/0.35  % Model    : x86_64 x86_64
% 0.10/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.10/0.35  % Memory   : 8046.5625MB
% 0.10/0.35  % OS       : Linux 6.8.0-71-generic
% 0.10/0.35  % CPULimit : 300
% 0.10/0.35  % WCLimit  : 300
% 0.10/0.35  % DateTime : Fri Sep 25 00:22:16 UTC 2026
% 0.10/0.36  % CPUTime  : 
% 0.10/0.36  Running run_findproof /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 5.88/1.40  % SZS status Unsatisfiable for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 5.88/1.40  % SZS output start Proof for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
%------------------------------------------------------------------------------