TSTP Solution File: KLE027+1 by iProver---3.9
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : iProver---3.9
% Problem : KLE027+1 : TPTP v8.1.2. Released v4.0.0.
% Transfm : none
% Format : tptp:raw
% Command : run_iprover %s %d THM
% Computer : n031.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Fri May 3 02:32:41 EDT 2024
% Result : Theorem 0.46s 1.15s
% Output : CNFRefutation 0.46s
% Verified :
% SZS Type : ERROR: Analysing output (Could not find formula named definition)
% Comments :
%------------------------------------------------------------------------------
fof(f1,axiom,
! [X0,X1] : addition(X0,X1) = addition(X1,X0),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',additive_commutativity) ).
fof(f2,axiom,
! [X2,X1,X0] : addition(X0,addition(X1,X2)) = addition(addition(X0,X1),X2),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',additive_associativity) ).
fof(f3,axiom,
! [X0] : addition(X0,zero) = X0,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',additive_identity) ).
fof(f5,axiom,
! [X0,X1,X2] : multiplication(X0,multiplication(X1,X2)) = multiplication(multiplication(X0,X1),X2),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',multiplicative_associativity) ).
fof(f6,axiom,
! [X0] : multiplication(X0,one) = X0,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',multiplicative_right_identity) ).
fof(f7,axiom,
! [X0] : multiplication(one,X0) = X0,
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',multiplicative_left_identity) ).
fof(f8,axiom,
! [X0,X1,X2] : multiplication(X0,addition(X1,X2)) = addition(multiplication(X0,X1),multiplication(X0,X2)),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',right_distributivity) ).
fof(f9,axiom,
! [X0,X1,X2] : multiplication(addition(X0,X1),X2) = addition(multiplication(X0,X2),multiplication(X1,X2)),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',left_distributivity) ).
fof(f11,axiom,
! [X0] : zero = multiplication(zero,X0),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',left_annihilation) ).
fof(f14,axiom,
! [X3,X4] :
( complement(X4,X3)
<=> ( one = addition(X3,X4)
& zero = multiplication(X4,X3)
& zero = multiplication(X3,X4) ) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',test_2) ).
fof(f15,axiom,
! [X3,X4] :
( test(X3)
=> ( c(X3) = X4
<=> complement(X3,X4) ) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',test_3) ).
fof(f17,conjecture,
! [X3,X4,X5,X6,X7] :
( ( test(X7)
& test(X6) )
=> addition(multiplication(X6,addition(multiplication(X6,X3),multiplication(c(X6),X4))),multiplication(c(X6),X5)) = addition(multiplication(X6,X3),multiplication(c(X6),X5)) ),
file('/export/starexec/sandbox2/benchmark/theBenchmark.p',goals) ).
fof(f18,negated_conjecture,
~ ! [X3,X4,X5,X6,X7] :
( ( test(X7)
& test(X6) )
=> addition(multiplication(X6,addition(multiplication(X6,X3),multiplication(c(X6),X4))),multiplication(c(X6),X5)) = addition(multiplication(X6,X3),multiplication(c(X6),X5)) ),
inference(negated_conjecture,[],[f17]) ).
fof(f19,plain,
! [X0,X1,X2] : addition(X2,addition(X1,X0)) = addition(addition(X2,X1),X0),
inference(rectify,[],[f2]) ).
fof(f21,plain,
! [X0,X1] :
( complement(X1,X0)
<=> ( addition(X0,X1) = one
& zero = multiplication(X1,X0)
& zero = multiplication(X0,X1) ) ),
inference(rectify,[],[f14]) ).
fof(f22,plain,
! [X0,X1] :
( test(X0)
=> ( c(X0) = X1
<=> complement(X0,X1) ) ),
inference(rectify,[],[f15]) ).
fof(f24,plain,
~ ! [X0,X1,X2,X3,X4] :
( ( test(X4)
& test(X3) )
=> addition(multiplication(X3,addition(multiplication(X3,X0),multiplication(c(X3),X1))),multiplication(c(X3),X2)) = addition(multiplication(X3,X0),multiplication(c(X3),X2)) ),
inference(rectify,[],[f18]) ).
fof(f25,plain,
! [X0,X1] :
( ( c(X0) = X1
<=> complement(X0,X1) )
| ~ test(X0) ),
inference(ennf_transformation,[],[f22]) ).
fof(f27,plain,
? [X0,X1,X2,X3,X4] :
( addition(multiplication(X3,addition(multiplication(X3,X0),multiplication(c(X3),X1))),multiplication(c(X3),X2)) != addition(multiplication(X3,X0),multiplication(c(X3),X2))
& test(X4)
& test(X3) ),
inference(ennf_transformation,[],[f24]) ).
fof(f28,plain,
? [X0,X1,X2,X3,X4] :
( addition(multiplication(X3,addition(multiplication(X3,X0),multiplication(c(X3),X1))),multiplication(c(X3),X2)) != addition(multiplication(X3,X0),multiplication(c(X3),X2))
& test(X4)
& test(X3) ),
inference(flattening,[],[f27]) ).
fof(f33,plain,
! [X0,X1] :
( ( complement(X1,X0)
| addition(X0,X1) != one
| zero != multiplication(X1,X0)
| zero != multiplication(X0,X1) )
& ( ( addition(X0,X1) = one
& zero = multiplication(X1,X0)
& zero = multiplication(X0,X1) )
| ~ complement(X1,X0) ) ),
inference(nnf_transformation,[],[f21]) ).
fof(f34,plain,
! [X0,X1] :
( ( complement(X1,X0)
| addition(X0,X1) != one
| zero != multiplication(X1,X0)
| zero != multiplication(X0,X1) )
& ( ( addition(X0,X1) = one
& zero = multiplication(X1,X0)
& zero = multiplication(X0,X1) )
| ~ complement(X1,X0) ) ),
inference(flattening,[],[f33]) ).
fof(f35,plain,
! [X0,X1] :
( ( ( c(X0) = X1
| ~ complement(X0,X1) )
& ( complement(X0,X1)
| c(X0) != X1 ) )
| ~ test(X0) ),
inference(nnf_transformation,[],[f25]) ).
fof(f36,plain,
( ? [X0,X1,X2,X3,X4] :
( addition(multiplication(X3,addition(multiplication(X3,X0),multiplication(c(X3),X1))),multiplication(c(X3),X2)) != addition(multiplication(X3,X0),multiplication(c(X3),X2))
& test(X4)
& test(X3) )
=> ( addition(multiplication(sK4,addition(multiplication(sK4,sK1),multiplication(c(sK4),sK2))),multiplication(c(sK4),sK3)) != addition(multiplication(sK4,sK1),multiplication(c(sK4),sK3))
& test(sK5)
& test(sK4) ) ),
introduced(choice_axiom,[]) ).
fof(f37,plain,
( addition(multiplication(sK4,addition(multiplication(sK4,sK1),multiplication(c(sK4),sK2))),multiplication(c(sK4),sK3)) != addition(multiplication(sK4,sK1),multiplication(c(sK4),sK3))
& test(sK5)
& test(sK4) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK1,sK2,sK3,sK4,sK5])],[f28,f36]) ).
fof(f38,plain,
! [X0,X1] : addition(X0,X1) = addition(X1,X0),
inference(cnf_transformation,[],[f1]) ).
fof(f39,plain,
! [X2,X0,X1] : addition(X2,addition(X1,X0)) = addition(addition(X2,X1),X0),
inference(cnf_transformation,[],[f19]) ).
fof(f40,plain,
! [X0] : addition(X0,zero) = X0,
inference(cnf_transformation,[],[f3]) ).
fof(f42,plain,
! [X2,X0,X1] : multiplication(X0,multiplication(X1,X2)) = multiplication(multiplication(X0,X1),X2),
inference(cnf_transformation,[],[f5]) ).
fof(f43,plain,
! [X0] : multiplication(X0,one) = X0,
inference(cnf_transformation,[],[f6]) ).
fof(f44,plain,
! [X0] : multiplication(one,X0) = X0,
inference(cnf_transformation,[],[f7]) ).
fof(f45,plain,
! [X2,X0,X1] : multiplication(X0,addition(X1,X2)) = addition(multiplication(X0,X1),multiplication(X0,X2)),
inference(cnf_transformation,[],[f8]) ).
fof(f46,plain,
! [X2,X0,X1] : multiplication(addition(X0,X1),X2) = addition(multiplication(X0,X2),multiplication(X1,X2)),
inference(cnf_transformation,[],[f9]) ).
fof(f48,plain,
! [X0] : zero = multiplication(zero,X0),
inference(cnf_transformation,[],[f11]) ).
fof(f51,plain,
! [X0,X1] :
( zero = multiplication(X0,X1)
| ~ complement(X1,X0) ),
inference(cnf_transformation,[],[f34]) ).
fof(f52,plain,
! [X0,X1] :
( zero = multiplication(X1,X0)
| ~ complement(X1,X0) ),
inference(cnf_transformation,[],[f34]) ).
fof(f53,plain,
! [X0,X1] :
( addition(X0,X1) = one
| ~ complement(X1,X0) ),
inference(cnf_transformation,[],[f34]) ).
fof(f55,plain,
! [X0,X1] :
( complement(X0,X1)
| c(X0) != X1
| ~ test(X0) ),
inference(cnf_transformation,[],[f35]) ).
fof(f58,plain,
test(sK4),
inference(cnf_transformation,[],[f37]) ).
fof(f60,plain,
addition(multiplication(sK4,addition(multiplication(sK4,sK1),multiplication(c(sK4),sK2))),multiplication(c(sK4),sK3)) != addition(multiplication(sK4,sK1),multiplication(c(sK4),sK3)),
inference(cnf_transformation,[],[f37]) ).
fof(f61,plain,
! [X0] :
( complement(X0,c(X0))
| ~ test(X0) ),
inference(equality_resolution,[],[f55]) ).
cnf(c_49,plain,
addition(X0,X1) = addition(X1,X0),
inference(cnf_transformation,[],[f38]) ).
cnf(c_50,plain,
addition(addition(X0,X1),X2) = addition(X0,addition(X1,X2)),
inference(cnf_transformation,[],[f39]) ).
cnf(c_51,plain,
addition(X0,zero) = X0,
inference(cnf_transformation,[],[f40]) ).
cnf(c_53,plain,
multiplication(multiplication(X0,X1),X2) = multiplication(X0,multiplication(X1,X2)),
inference(cnf_transformation,[],[f42]) ).
cnf(c_54,plain,
multiplication(X0,one) = X0,
inference(cnf_transformation,[],[f43]) ).
cnf(c_55,plain,
multiplication(one,X0) = X0,
inference(cnf_transformation,[],[f44]) ).
cnf(c_56,plain,
addition(multiplication(X0,X1),multiplication(X0,X2)) = multiplication(X0,addition(X1,X2)),
inference(cnf_transformation,[],[f45]) ).
cnf(c_57,plain,
addition(multiplication(X0,X1),multiplication(X2,X1)) = multiplication(addition(X0,X2),X1),
inference(cnf_transformation,[],[f46]) ).
cnf(c_59,plain,
multiplication(zero,X0) = zero,
inference(cnf_transformation,[],[f48]) ).
cnf(c_63,plain,
( ~ complement(X0,X1)
| addition(X1,X0) = one ),
inference(cnf_transformation,[],[f53]) ).
cnf(c_64,plain,
( ~ complement(X0,X1)
| multiplication(X0,X1) = zero ),
inference(cnf_transformation,[],[f52]) ).
cnf(c_65,plain,
( ~ complement(X0,X1)
| multiplication(X1,X0) = zero ),
inference(cnf_transformation,[],[f51]) ).
cnf(c_67,plain,
( ~ test(X0)
| complement(X0,c(X0)) ),
inference(cnf_transformation,[],[f61]) ).
cnf(c_69,negated_conjecture,
addition(multiplication(sK4,addition(multiplication(sK4,sK1),multiplication(c(sK4),sK2))),multiplication(c(sK4),sK3)) != addition(multiplication(sK4,sK1),multiplication(c(sK4),sK3)),
inference(cnf_transformation,[],[f60]) ).
cnf(c_71,negated_conjecture,
test(sK4),
inference(cnf_transformation,[],[f58]) ).
cnf(c_88,negated_conjecture,
addition(multiplication(c(sK4),sK3),multiplication(sK4,addition(multiplication(sK4,sK1),multiplication(c(sK4),sK2)))) != addition(multiplication(sK4,sK1),multiplication(c(sK4),sK3)),
inference(theory_normalisation,[status(thm)],[c_69,c_50,c_49]) ).
cnf(c_470,plain,
c(sK4) = sP0_iProver_def,
definition ).
cnf(c_471,plain,
multiplication(sP0_iProver_def,sK3) = sP1_iProver_def,
definition ).
cnf(c_472,plain,
multiplication(sK4,sK1) = sP2_iProver_def,
definition ).
cnf(c_473,plain,
multiplication(sP0_iProver_def,sK2) = sP3_iProver_def,
definition ).
cnf(c_474,plain,
addition(sP2_iProver_def,sP3_iProver_def) = sP4_iProver_def,
definition ).
cnf(c_475,plain,
multiplication(sK4,sP4_iProver_def) = sP5_iProver_def,
definition ).
cnf(c_476,plain,
addition(sP1_iProver_def,sP5_iProver_def) = sP6_iProver_def,
definition ).
cnf(c_477,plain,
addition(sP2_iProver_def,sP1_iProver_def) = sP7_iProver_def,
definition ).
cnf(c_478,negated_conjecture,
sP6_iProver_def != sP7_iProver_def,
inference(demodulation,[status(thm)],[c_88,c_477,c_473,c_472,c_474,c_475,c_470,c_471,c_476]) ).
cnf(c_479,negated_conjecture,
test(sK4),
inference(demodulation,[status(thm)],[c_71]) ).
cnf(c_748,plain,
addition(sP1_iProver_def,sP2_iProver_def) = sP7_iProver_def,
inference(theory_normalisation,[status(thm)],[c_477,c_50,c_49]) ).
cnf(c_758,plain,
( ~ test(sK4)
| complement(sK4,sP0_iProver_def) ),
inference(superposition,[status(thm)],[c_470,c_67]) ).
cnf(c_762,plain,
complement(sK4,sP0_iProver_def),
inference(forward_subsumption_resolution,[status(thm)],[c_758,c_479]) ).
cnf(c_773,plain,
addition(zero,X0) = X0,
inference(superposition,[status(thm)],[c_51,c_49]) ).
cnf(c_805,plain,
addition(sP0_iProver_def,sK4) = one,
inference(superposition,[status(thm)],[c_762,c_63]) ).
cnf(c_818,plain,
multiplication(sK4,sP0_iProver_def) = zero,
inference(superposition,[status(thm)],[c_762,c_64]) ).
cnf(c_829,plain,
multiplication(sP0_iProver_def,sK4) = zero,
inference(superposition,[status(thm)],[c_762,c_65]) ).
cnf(c_1057,plain,
multiplication(sK4,multiplication(sP4_iProver_def,X0)) = multiplication(sP5_iProver_def,X0),
inference(superposition,[status(thm)],[c_475,c_53]) ).
cnf(c_1058,plain,
multiplication(sK4,multiplication(sP0_iProver_def,X0)) = multiplication(zero,X0),
inference(superposition,[status(thm)],[c_818,c_53]) ).
cnf(c_1059,plain,
multiplication(sP0_iProver_def,multiplication(sK4,X0)) = multiplication(zero,X0),
inference(superposition,[status(thm)],[c_829,c_53]) ).
cnf(c_1062,plain,
multiplication(sP0_iProver_def,multiplication(sK4,X0)) = zero,
inference(light_normalisation,[status(thm)],[c_1059,c_59]) ).
cnf(c_1063,plain,
multiplication(sK4,multiplication(sP0_iProver_def,X0)) = zero,
inference(light_normalisation,[status(thm)],[c_1058,c_59]) ).
cnf(c_1206,plain,
addition(multiplication(sP2_iProver_def,X0),multiplication(sP3_iProver_def,X0)) = multiplication(sP4_iProver_def,X0),
inference(superposition,[status(thm)],[c_474,c_57]) ).
cnf(c_1210,plain,
addition(multiplication(sP0_iProver_def,X0),multiplication(sK4,X0)) = multiplication(one,X0),
inference(superposition,[status(thm)],[c_805,c_57]) ).
cnf(c_1233,plain,
addition(multiplication(sP0_iProver_def,X0),multiplication(sK4,X0)) = X0,
inference(light_normalisation,[status(thm)],[c_1210,c_55]) ).
cnf(c_1284,plain,
multiplication(sP0_iProver_def,sP2_iProver_def) = zero,
inference(superposition,[status(thm)],[c_472,c_1062]) ).
cnf(c_1290,plain,
addition(multiplication(sP0_iProver_def,sP2_iProver_def),X0) = X0,
inference(demodulation,[status(thm)],[c_773,c_1284]) ).
cnf(c_1294,plain,
multiplication(multiplication(sP0_iProver_def,sP2_iProver_def),X0) = multiplication(sP0_iProver_def,sP2_iProver_def),
inference(demodulation,[status(thm)],[c_59,c_1284]) ).
cnf(c_1296,plain,
addition(X0,multiplication(sP0_iProver_def,sP2_iProver_def)) = X0,
inference(demodulation,[status(thm)],[c_51,c_1284]) ).
cnf(c_1317,plain,
multiplication(sK4,multiplication(sP0_iProver_def,X0)) = multiplication(sP0_iProver_def,sP2_iProver_def),
inference(light_normalisation,[status(thm)],[c_1063,c_1284]) ).
cnf(c_1321,plain,
multiplication(sK4,sP3_iProver_def) = multiplication(sP0_iProver_def,sP2_iProver_def),
inference(superposition,[status(thm)],[c_473,c_1317]) ).
cnf(c_2230,plain,
multiplication(sK4,sP2_iProver_def) = sP2_iProver_def,
inference(superposition,[status(thm)],[c_1290,c_1233]) ).
cnf(c_2361,plain,
multiplication(sK4,multiplication(sP2_iProver_def,X0)) = multiplication(sP2_iProver_def,X0),
inference(superposition,[status(thm)],[c_2230,c_53]) ).
cnf(c_2387,plain,
multiplication(multiplication(sP0_iProver_def,sP2_iProver_def),X0) = multiplication(sK4,multiplication(sP3_iProver_def,X0)),
inference(superposition,[status(thm)],[c_1321,c_53]) ).
cnf(c_2391,plain,
multiplication(sK4,multiplication(sP3_iProver_def,X0)) = multiplication(sP0_iProver_def,sP2_iProver_def),
inference(light_normalisation,[status(thm)],[c_2387,c_1294]) ).
cnf(c_5882,plain,
multiplication(sK4,addition(multiplication(sP2_iProver_def,X0),multiplication(sP3_iProver_def,X0))) = multiplication(sP5_iProver_def,X0),
inference(light_normalisation,[status(thm)],[c_1057,c_1206]) ).
cnf(c_5883,plain,
multiplication(sP2_iProver_def,X0) = multiplication(sP5_iProver_def,X0),
inference(demodulation,[status(thm)],[c_5882,c_56,c_1296,c_2361,c_2391]) ).
cnf(c_5888,plain,
multiplication(sP2_iProver_def,one) = sP5_iProver_def,
inference(superposition,[status(thm)],[c_5883,c_54]) ).
cnf(c_6327,plain,
sP2_iProver_def = sP5_iProver_def,
inference(demodulation,[status(thm)],[c_5888,c_54]) ).
cnf(c_6331,plain,
addition(sP1_iProver_def,sP2_iProver_def) = sP6_iProver_def,
inference(demodulation,[status(thm)],[c_476,c_6327]) ).
cnf(c_6332,plain,
sP6_iProver_def = sP7_iProver_def,
inference(light_normalisation,[status(thm)],[c_6331,c_748]) ).
cnf(c_6333,plain,
$false,
inference(forward_subsumption_resolution,[status(thm)],[c_6332,c_478]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.12 % Problem : KLE027+1 : TPTP v8.1.2. Released v4.0.0.
% 0.10/0.12 % Command : run_iprover %s %d THM
% 0.12/0.33 % Computer : n031.cluster.edu
% 0.12/0.33 % Model : x86_64 x86_64
% 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33 % Memory : 8042.1875MB
% 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33 % CPULimit : 300
% 0.12/0.33 % WCLimit : 300
% 0.12/0.33 % DateTime : Fri May 3 01:10:31 EDT 2024
% 0.12/0.33 % CPUTime :
% 0.18/0.45 Running first-order theorem proving
% 0.18/0.45 Running: /export/starexec/sandbox2/solver/bin/run_problem --schedule fof_schedule --heuristic_context casc_unsat --no_cores 8 /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.46/1.15 % SZS status Started for theBenchmark.p
% 0.46/1.15 % SZS status Theorem for theBenchmark.p
% 0.46/1.15
% 0.46/1.15 %---------------- iProver v3.9 (pre CASC 2024/SMT-COMP 2024) ----------------%
% 0.46/1.15
% 0.46/1.15 ------ iProver source info
% 0.46/1.15
% 0.46/1.15 git: date: 2024-05-02 19:28:25 +0000
% 0.46/1.15 git: sha1: a33b5eb135c74074ba803943bb12f2ebd971352f
% 0.46/1.15 git: non_committed_changes: false
% 0.46/1.15
% 0.46/1.15 ------ Parsing...
% 0.46/1.15 ------ Clausification by vclausify_rel & Parsing by iProver...
% 0.46/1.15
% 0.46/1.15 ------ Preprocessing... sup_sim: 0 sf_s rm: 1 0s sf_e pe_s pe_e
% 0.46/1.15
% 0.46/1.15 ------ Preprocessing... gs_s sp: 0 0s gs_e snvd_s sp: 0 0s snvd_e
% 0.46/1.15
% 0.46/1.15 ------ Preprocessing... sf_s rm: 1 0s sf_e sf_s rm: 0 0s sf_e
% 0.46/1.15 ------ Proving...
% 0.46/1.15 ------ Problem Properties
% 0.46/1.15
% 0.46/1.15
% 0.46/1.15 clauses 31
% 0.46/1.15 conjectures 3
% 0.46/1.15 EPR 4
% 0.46/1.15 Horn 30
% 0.46/1.15 unary 22
% 0.46/1.15 binary 7
% 0.46/1.15 lits 43
% 0.46/1.15 lits eq 28
% 0.46/1.15 fd_pure 0
% 0.46/1.15 fd_pseudo 0
% 0.46/1.15 fd_cond 0
% 0.46/1.15 fd_pseudo_cond 1
% 0.46/1.15 AC symbols 1
% 0.46/1.15
% 0.46/1.15 ------ Schedule dynamic 5 is on
% 0.46/1.15
% 0.46/1.15 ------ Input Options "--resolution_flag false --inst_lit_sel_side none" Time Limit: 10.
% 0.46/1.15
% 0.46/1.15
% 0.46/1.15 ------
% 0.46/1.15 Current options:
% 0.46/1.15 ------
% 0.46/1.15
% 0.46/1.15
% 0.46/1.15
% 0.46/1.15
% 0.46/1.15 ------ Proving...
% 0.46/1.15
% 0.46/1.15
% 0.46/1.15 % SZS status Theorem for theBenchmark.p
% 0.46/1.15
% 0.46/1.15 % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 0.46/1.15
% 0.46/1.15
%------------------------------------------------------------------------------