TSTP Solution File: NLP117-1 by Otter---3.3
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Otter---3.3
% Problem : NLP117-1 : TPTP v8.1.0. Released v2.4.0.
% Transfm : none
% Format : tptp:raw
% Command : otter-tptp-script %s
% Computer : n006.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 : Wed Jul 27 13:06:50 EDT 2022
% Result : Unsatisfiable 1.90s 2.13s
% Output : Refutation 1.90s
% Verified :
% SZS Type : Refutation
% Derivation depth : 3
% Number of leaves : 36
% Syntax : Number of clauses : 54 ( 20 unt; 16 nHn; 54 RR)
% Number of literals : 120 ( 0 equ; 51 neg)
% Maximal clause size : 18 ( 2 avg)
% Maximal term depth : 1 ( 1 avg)
% Number of predicates : 19 ( 18 usr; 2 prp; 0-3 aty)
% Number of functors : 12 ( 12 usr; 12 con; 0-0 aty)
% Number of variables : 12 ( 0 sgn)
% Comments :
%------------------------------------------------------------------------------
cnf(1,axiom,
( ~ ssSkC0
| lonely(skc12,skc17) ),
file('NLP117-1.p',unknown),
[] ).
cnf(2,axiom,
( ~ ssSkC0
| street(skc12,skc17) ),
file('NLP117-1.p',unknown),
[] ).
cnf(3,axiom,
( ~ ssSkC0
| barrel(skc12,skc13) ),
file('NLP117-1.p',unknown),
[] ).
cnf(4,axiom,
( ~ ssSkC0
| present(skc12,skc13) ),
file('NLP117-1.p',unknown),
[] ).
cnf(5,axiom,
( ~ ssSkC0
| event(skc12,skc13) ),
file('NLP117-1.p',unknown),
[] ).
cnf(6,axiom,
( ~ ssSkC0
| hollywood_placename(skc12,skc15) ),
file('NLP117-1.p',unknown),
[] ).
cnf(7,axiom,
( ~ ssSkC0
| placename(skc12,skc15) ),
file('NLP117-1.p',unknown),
[] ).
cnf(8,axiom,
( ~ ssSkC0
| city(skc12,skc16) ),
file('NLP117-1.p',unknown),
[] ).
cnf(9,axiom,
( ~ ssSkC0
| chevy(skc12,skc14) ),
file('NLP117-1.p',unknown),
[] ).
cnf(10,axiom,
( ~ ssSkC0
| white(skc12,skc14) ),
file('NLP117-1.p',unknown),
[] ).
cnf(11,axiom,
( ~ ssSkC0
| dirty(skc12,skc14) ),
file('NLP117-1.p',unknown),
[] ).
cnf(12,axiom,
( ~ ssSkC0
| old(skc12,skc14) ),
file('NLP117-1.p',unknown),
[] ).
cnf(13,axiom,
( ~ ssSkC0
| down(skc12,skc13,skc17) ),
file('NLP117-1.p',unknown),
[] ).
cnf(14,axiom,
( ~ ssSkC0
| in(skc12,skc13,skc16) ),
file('NLP117-1.p',unknown),
[] ).
cnf(15,axiom,
( ~ ssSkC0
| of(skc12,skc15,skc16) ),
file('NLP117-1.p',unknown),
[] ).
cnf(16,axiom,
( ~ ssSkC0
| agent(skc12,skc13,skc14) ),
file('NLP117-1.p',unknown),
[] ).
cnf(17,axiom,
( ~ down(A,B,C)
| ~ lonely(A,C)
| ~ street(A,C)
| ~ barrel(A,B)
| ~ present(A,B)
| ~ event(A,B)
| ~ hollywood_placename(A,D)
| ~ placename(A,D)
| ~ in(A,B,E)
| ~ city(A,E)
| ~ of(A,D,E)
| ~ chevy(A,F)
| ~ white(A,F)
| ~ dirty(A,F)
| ~ old(A,F)
| ~ agent(A,B,F)
| ~ actual_world(A)
| ssSkC0 ),
file('NLP117-1.p',unknown),
[] ).
cnf(18,axiom,
( ~ agent(A,B,C)
| ~ old(A,C)
| ~ dirty(A,C)
| ~ white(A,C)
| ~ chevy(A,C)
| ~ barrel(A,B)
| ~ present(A,B)
| ~ event(A,B)
| ~ hollywood_placename(A,D)
| ~ placename(A,D)
| ~ in(A,B,E)
| ~ city(A,E)
| ~ of(A,D,E)
| ~ street(A,F)
| ~ lonely(A,F)
| ~ down(A,B,F)
| ~ actual_world(A)
| ~ ssSkC0 ),
file('NLP117-1.p',unknown),
[] ).
cnf(19,axiom,
actual_world(skc18),
file('NLP117-1.p',unknown),
[] ).
cnf(20,axiom,
actual_world(skc12),
file('NLP117-1.p',unknown),
[] ).
cnf(21,axiom,
( ssSkC0
| old(skc18,skc23) ),
file('NLP117-1.p',unknown),
[] ).
cnf(22,axiom,
( ssSkC0
| dirty(skc18,skc23) ),
file('NLP117-1.p',unknown),
[] ).
cnf(23,axiom,
( ssSkC0
| white(skc18,skc23) ),
file('NLP117-1.p',unknown),
[] ).
cnf(24,axiom,
( ssSkC0
| chevy(skc18,skc23) ),
file('NLP117-1.p',unknown),
[] ).
cnf(25,axiom,
( ssSkC0
| barrel(skc18,skc19) ),
file('NLP117-1.p',unknown),
[] ).
cnf(26,axiom,
( ssSkC0
| present(skc18,skc19) ),
file('NLP117-1.p',unknown),
[] ).
cnf(27,axiom,
( ssSkC0
| event(skc18,skc19) ),
file('NLP117-1.p',unknown),
[] ).
cnf(28,axiom,
( ssSkC0
| hollywood_placename(skc18,skc21) ),
file('NLP117-1.p',unknown),
[] ).
cnf(29,axiom,
( ssSkC0
| placename(skc18,skc21) ),
file('NLP117-1.p',unknown),
[] ).
cnf(30,axiom,
( ssSkC0
| city(skc18,skc22) ),
file('NLP117-1.p',unknown),
[] ).
cnf(31,axiom,
( ssSkC0
| street(skc18,skc20) ),
file('NLP117-1.p',unknown),
[] ).
cnf(32,axiom,
( ssSkC0
| lonely(skc18,skc20) ),
file('NLP117-1.p',unknown),
[] ).
cnf(33,axiom,
( ssSkC0
| agent(skc18,skc19,skc23) ),
file('NLP117-1.p',unknown),
[] ).
cnf(34,axiom,
( ssSkC0
| in(skc18,skc19,skc22) ),
file('NLP117-1.p',unknown),
[] ).
cnf(35,axiom,
( ssSkC0
| of(skc18,skc21,skc22) ),
file('NLP117-1.p',unknown),
[] ).
cnf(36,axiom,
( ssSkC0
| down(skc18,skc19,skc20) ),
file('NLP117-1.p',unknown),
[] ).
cnf(37,plain,
ssSkC0,
inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[36,17,32,31,25,26,27,28,29,34,30,35,24,23,22,21,33,19])])])])])])])])])])])])])])])])]),
[iquote('hyper,36,17,32,31,25,26,27,28,29,34,30,35,24,23,22,21,33,19,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp,factor_simp')] ).
cnf(38,plain,
agent(skc12,skc13,skc14),
inference(hyper,[status(thm)],[37,16]),
[iquote('hyper,37,16')] ).
cnf(39,plain,
of(skc12,skc15,skc16),
inference(hyper,[status(thm)],[37,15]),
[iquote('hyper,37,15')] ).
cnf(40,plain,
in(skc12,skc13,skc16),
inference(hyper,[status(thm)],[37,14]),
[iquote('hyper,37,14')] ).
cnf(41,plain,
down(skc12,skc13,skc17),
inference(hyper,[status(thm)],[37,13]),
[iquote('hyper,37,13')] ).
cnf(42,plain,
old(skc12,skc14),
inference(hyper,[status(thm)],[37,12]),
[iquote('hyper,37,12')] ).
cnf(43,plain,
dirty(skc12,skc14),
inference(hyper,[status(thm)],[37,11]),
[iquote('hyper,37,11')] ).
cnf(44,plain,
white(skc12,skc14),
inference(hyper,[status(thm)],[37,10]),
[iquote('hyper,37,10')] ).
cnf(45,plain,
chevy(skc12,skc14),
inference(hyper,[status(thm)],[37,9]),
[iquote('hyper,37,9')] ).
cnf(46,plain,
city(skc12,skc16),
inference(hyper,[status(thm)],[37,8]),
[iquote('hyper,37,8')] ).
cnf(47,plain,
placename(skc12,skc15),
inference(hyper,[status(thm)],[37,7]),
[iquote('hyper,37,7')] ).
cnf(48,plain,
hollywood_placename(skc12,skc15),
inference(hyper,[status(thm)],[37,6]),
[iquote('hyper,37,6')] ).
cnf(49,plain,
event(skc12,skc13),
inference(hyper,[status(thm)],[37,5]),
[iquote('hyper,37,5')] ).
cnf(50,plain,
present(skc12,skc13),
inference(hyper,[status(thm)],[37,4]),
[iquote('hyper,37,4')] ).
cnf(51,plain,
barrel(skc12,skc13),
inference(hyper,[status(thm)],[37,3]),
[iquote('hyper,37,3')] ).
cnf(52,plain,
street(skc12,skc17),
inference(hyper,[status(thm)],[37,2]),
[iquote('hyper,37,2')] ).
cnf(53,plain,
lonely(skc12,skc17),
inference(hyper,[status(thm)],[37,1]),
[iquote('hyper,37,1')] ).
cnf(54,plain,
$false,
inference(hyper,[status(thm)],[41,18,38,42,43,44,45,51,50,49,48,47,40,46,39,52,53,20,37]),
[iquote('hyper,41,18,38,42,43,44,45,51,50,49,48,47,40,46,39,52,53,20,37')] ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.11 % Problem : NLP117-1 : TPTP v8.1.0. Released v2.4.0.
% 0.10/0.12 % Command : otter-tptp-script %s
% 0.12/0.33 % Computer : n006.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 : Wed Jul 27 08:56:01 EDT 2022
% 0.12/0.33 % CPUTime :
% 1.90/2.13 ----- Otter 3.3f, August 2004 -----
% 1.90/2.13 The process was started by sandbox2 on n006.cluster.edu,
% 1.90/2.13 Wed Jul 27 08:56:02 2022
% 1.90/2.13 The command was "./otter". The process ID is 27404.
% 1.90/2.13
% 1.90/2.13 set(prolog_style_variables).
% 1.90/2.13 set(auto).
% 1.90/2.13 dependent: set(auto1).
% 1.90/2.13 dependent: set(process_input).
% 1.90/2.13 dependent: clear(print_kept).
% 1.90/2.13 dependent: clear(print_new_demod).
% 1.90/2.13 dependent: clear(print_back_demod).
% 1.90/2.13 dependent: clear(print_back_sub).
% 1.90/2.13 dependent: set(control_memory).
% 1.90/2.13 dependent: assign(max_mem, 12000).
% 1.90/2.13 dependent: assign(pick_given_ratio, 4).
% 1.90/2.13 dependent: assign(stats_level, 1).
% 1.90/2.13 dependent: assign(max_seconds, 10800).
% 1.90/2.13 clear(print_given).
% 1.90/2.13
% 1.90/2.13 list(usable).
% 1.90/2.13 0 [] actual_world(skc18).
% 1.90/2.13 0 [] actual_world(skc12).
% 1.90/2.13 0 [] ssSkC0|old(skc18,skc23).
% 1.90/2.13 0 [] ssSkC0|dirty(skc18,skc23).
% 1.90/2.13 0 [] ssSkC0|white(skc18,skc23).
% 1.90/2.13 0 [] ssSkC0|chevy(skc18,skc23).
% 1.90/2.13 0 [] ssSkC0|barrel(skc18,skc19).
% 1.90/2.13 0 [] ssSkC0|present(skc18,skc19).
% 1.90/2.13 0 [] ssSkC0|event(skc18,skc19).
% 1.90/2.13 0 [] ssSkC0|hollywood_placename(skc18,skc21).
% 1.90/2.13 0 [] ssSkC0|placename(skc18,skc21).
% 1.90/2.13 0 [] ssSkC0|city(skc18,skc22).
% 1.90/2.13 0 [] ssSkC0|street(skc18,skc20).
% 1.90/2.13 0 [] ssSkC0|lonely(skc18,skc20).
% 1.90/2.13 0 [] -ssSkC0|lonely(skc12,skc17).
% 1.90/2.13 0 [] -ssSkC0|street(skc12,skc17).
% 1.90/2.13 0 [] -ssSkC0|barrel(skc12,skc13).
% 1.90/2.13 0 [] -ssSkC0|present(skc12,skc13).
% 1.90/2.13 0 [] -ssSkC0|event(skc12,skc13).
% 1.90/2.13 0 [] -ssSkC0|hollywood_placename(skc12,skc15).
% 1.90/2.13 0 [] -ssSkC0|placename(skc12,skc15).
% 1.90/2.13 0 [] -ssSkC0|city(skc12,skc16).
% 1.90/2.13 0 [] -ssSkC0|chevy(skc12,skc14).
% 1.90/2.13 0 [] -ssSkC0|white(skc12,skc14).
% 1.90/2.13 0 [] -ssSkC0|dirty(skc12,skc14).
% 1.90/2.13 0 [] -ssSkC0|old(skc12,skc14).
% 1.90/2.13 0 [] ssSkC0|agent(skc18,skc19,skc23).
% 1.90/2.13 0 [] ssSkC0|in(skc18,skc19,skc22).
% 1.90/2.13 0 [] ssSkC0|of(skc18,skc21,skc22).
% 1.90/2.13 0 [] ssSkC0|down(skc18,skc19,skc20).
% 1.90/2.13 0 [] -ssSkC0|down(skc12,skc13,skc17).
% 1.90/2.13 0 [] -ssSkC0|in(skc12,skc13,skc16).
% 1.90/2.13 0 [] -ssSkC0|of(skc12,skc15,skc16).
% 1.90/2.13 0 [] -ssSkC0|agent(skc12,skc13,skc14).
% 1.90/2.13 0 [] -down(U,V,W)| -lonely(U,W)| -street(U,W)| -barrel(U,V)| -present(U,V)| -event(U,V)| -hollywood_placename(U,X)| -placename(U,X)| -in(U,V,Y)| -city(U,Y)| -of(U,X,Y)| -chevy(U,Z)| -white(U,Z)| -dirty(U,Z)| -old(U,Z)| -agent(U,V,Z)| -actual_world(U)|ssSkC0.
% 1.90/2.13 0 [] -agent(U,V,W)| -old(U,W)| -dirty(U,W)| -white(U,W)| -chevy(U,W)| -barrel(U,V)| -present(U,V)| -event(U,V)| -hollywood_placename(U,X)| -placename(U,X)| -in(U,V,Y)| -city(U,Y)| -of(U,X,Y)| -street(U,Z)| -lonely(U,Z)| -down(U,V,Z)| -actual_world(U)| -ssSkC0.
% 1.90/2.13 end_of_list.
% 1.90/2.13
% 1.90/2.13 SCAN INPUT: prop=0, horn=0, equality=0, symmetry=0, max_lits=18.
% 1.90/2.13
% 1.90/2.13 This is a non-Horn set without equality. The strategy will
% 1.90/2.13 be ordered hyper_res, unit deletion, and factoring, with
% 1.90/2.13 satellites in sos and with nuclei in usable.
% 1.90/2.13
% 1.90/2.13 dependent: set(hyper_res).
% 1.90/2.13 dependent: set(factor).
% 1.90/2.13 dependent: set(unit_deletion).
% 1.90/2.13
% 1.90/2.13 ------------> process usable:
% 1.90/2.13 ** KEPT (pick-wt=4): 1 [] -ssSkC0|lonely(skc12,skc17).
% 1.90/2.13 ** KEPT (pick-wt=4): 2 [] -ssSkC0|street(skc12,skc17).
% 1.90/2.13 ** KEPT (pick-wt=4): 3 [] -ssSkC0|barrel(skc12,skc13).
% 1.90/2.13 ** KEPT (pick-wt=4): 4 [] -ssSkC0|present(skc12,skc13).
% 1.90/2.13 ** KEPT (pick-wt=4): 5 [] -ssSkC0|event(skc12,skc13).
% 1.90/2.13 ** KEPT (pick-wt=4): 6 [] -ssSkC0|hollywood_placename(skc12,skc15).
% 1.90/2.13 ** KEPT (pick-wt=4): 7 [] -ssSkC0|placename(skc12,skc15).
% 1.90/2.13 ** KEPT (pick-wt=4): 8 [] -ssSkC0|city(skc12,skc16).
% 1.90/2.13 ** KEPT (pick-wt=4): 9 [] -ssSkC0|chevy(skc12,skc14).
% 1.90/2.13 ** KEPT (pick-wt=4): 10 [] -ssSkC0|white(skc12,skc14).
% 1.90/2.13 ** KEPT (pick-wt=4): 11 [] -ssSkC0|dirty(skc12,skc14).
% 1.90/2.13 ** KEPT (pick-wt=4): 12 [] -ssSkC0|old(skc12,skc14).
% 1.90/2.13 ** KEPT (pick-wt=5): 13 [] -ssSkC0|down(skc12,skc13,skc17).
% 1.90/2.13 ** KEPT (pick-wt=5): 14 [] -ssSkC0|in(skc12,skc13,skc16).
% 1.90/2.13 ** KEPT (pick-wt=5): 15 [] -ssSkC0|of(skc12,skc15,skc16).
% 1.90/2.13 ** KEPT (pick-wt=5): 16 [] -ssSkC0|agent(skc12,skc13,skc14).
% 1.90/2.13 ** KEPT (pick-wt=55): 17 [] -down(A,B,C)| -lonely(A,C)| -street(A,C)| -barrel(A,B)| -present(A,B)| -event(A,B)| -hollywood_placename(A,D)| -placename(A,D)| -in(A,B,E)| -city(A,E)| -of(A,D,E)| -chevy(A,F)| -white(A,F)| -dirty(A,F)| -old(A,F)| -agent(A,B,F)| -actual_world(A)|ssSkC0.
% 1.90/2.13 ** KEPT (pick-wt=55): 18 [] -agent(A,B,C)| -old(A,C)| -dirty(A,C)| -white(A,C)| -chevy(A,C)| -barrel(A,B)| -present(A,B)| -event(A,B)| -hollywood_placename(A,D)| -placename(A,D)| -in(A,B,E)| -city(A,E)| -of(A,D,E)| -street(A,F)| -lonely(A,F)| -down(A,B,F)| -actual_world(A)| -ssSkC0.
% 1.90/2.13
% 1.90/2.13 ------------> process sos:
% 1.90/2.13 ** KEPT (pick-wt=2): 19 [] actual_world(skc18).
% 1.90/2.13 ** KEPT (pick-wt=2): 20 [] actual_world(skc12).
% 1.90/2.13 ** KEPT (pick-wt=4): 21 [] ssSkC0|old(skc18,skc23).
% 1.90/2.13 ** KEPT (pick-wt=4): 22 [] ssSkC0|dirty(skc18,skc23).
% 1.90/2.13 ** KEPT (pick-wt=4): 23 [] ssSkC0|white(skc18,skc23).
% 1.90/2.13 ** KEPT (pick-wt=4): 24 [] ssSkC0|chevy(skc18,skc23).
% 1.90/2.13 ** KEPT (pick-wt=4): 25 [] ssSkC0|barrel(skc18,skc19).
% 1.90/2.13 ** KEPT (pick-wt=4): 26 [] ssSkC0|present(skc18,skc19).
% 1.90/2.13 ** KEPT (pick-wt=4): 27 [] ssSkC0|event(skc18,skc19).
% 1.90/2.13 ** KEPT (pick-wt=4): 28 [] ssSkC0|hollywood_placename(skc18,skc21).
% 1.90/2.13 ** KEPT (pick-wt=4): 29 [] ssSkC0|placename(skc18,skc21).
% 1.90/2.13 ** KEPT (pick-wt=4): 30 [] ssSkC0|city(skc18,skc22).
% 1.90/2.13 ** KEPT (pick-wt=4): 31 [] ssSkC0|street(skc18,skc20).
% 1.90/2.13 ** KEPT (pick-wt=4): 32 [] ssSkC0|lonely(skc18,skc20).
% 1.90/2.13 ** KEPT (pick-wt=5): 33 [] ssSkC0|agent(skc18,skc19,skc23).
% 1.90/2.13 ** KEPT (pick-wt=5): 34 [] ssSkC0|in(skc18,skc19,skc22).
% 1.90/2.13 ** KEPT (pick-wt=5): 35 [] ssSkC0|of(skc18,skc21,skc22).
% 1.90/2.13 ** KEPT (pick-wt=5): 36 [] ssSkC0|down(skc18,skc19,skc20).
% 1.90/2.13
% 1.90/2.13 ======= end of input processing =======
% 1.90/2.13
% 1.90/2.13 =========== start of search ===========
% 1.90/2.13
% 1.90/2.13 -------- PROOF --------
% 1.90/2.13
% 1.90/2.13 -----> EMPTY CLAUSE at 0.00 sec ----> 54 [hyper,41,18,38,42,43,44,45,51,50,49,48,47,40,46,39,52,53,20,37] $F.
% 1.90/2.13
% 1.90/2.13 Length of proof is 17. Level of proof is 2.
% 1.90/2.13
% 1.90/2.13 ---------------- PROOF ----------------
% 1.90/2.13 % SZS status Unsatisfiable
% 1.90/2.13 % SZS output start Refutation
% See solution above
% 1.90/2.14 ------------ end of proof -------------
% 1.90/2.14
% 1.90/2.14
% 1.90/2.14 Search stopped by max_proofs option.
% 1.90/2.14
% 1.90/2.14
% 1.90/2.14 Search stopped by max_proofs option.
% 1.90/2.14
% 1.90/2.14 ============ end of search ============
% 1.90/2.14
% 1.90/2.14 -------------- statistics -------------
% 1.90/2.14 clauses given 35
% 1.90/2.14 clauses generated 18
% 1.90/2.14 clauses kept 53
% 1.90/2.14 clauses forward subsumed 0
% 1.90/2.14 clauses back subsumed 33
% 1.90/2.14 Kbytes malloced 976
% 1.90/2.14
% 1.90/2.14 ----------- times (seconds) -----------
% 1.90/2.14 user CPU time 0.00 (0 hr, 0 min, 0 sec)
% 1.90/2.14 system CPU time 0.00 (0 hr, 0 min, 0 sec)
% 1.90/2.14 wall-clock time 1 (0 hr, 0 min, 1 sec)
% 1.90/2.14
% 1.90/2.14 That finishes the proof of the theorem.
% 1.90/2.14
% 1.90/2.14 Process 27404 finished Wed Jul 27 08:56:03 2022
% 1.90/2.14 Otter interrupted
% 1.90/2.14 PROOF FOUND
%------------------------------------------------------------------------------