↑ Up

Otter---3.3.THM-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : GEO223+1 : TPTP v8.1.0. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n012.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 12:54:55 EDT 2022

% Result   : Theorem 161.16s 161.40s
% Output   : Refutation 161.16s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   11
%            Number of leaves      :   10
% Syntax   : Number of clauses     :   22 (   9 unt;  13 nHn;   8 RR)
%            Number of literals    :   51 (   0 equ;   9 neg)
%            Maximal clause size   :    6 (   2 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    5 (   4 usr;   1 prp; 0-2 aty)
%            Number of functors    :    4 (   4 usr;   2 con; 0-2 aty)
%            Number of variables   :   50 (  11 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(3,axiom,
    ~ convergent_lines(A,A),
    file('GEO223+1.p',unknown),
    [] ).

cnf(6,axiom,
    ( ~ convergent_lines(A,B)
    | convergent_lines(A,C)
    | convergent_lines(B,C) ),
    file('GEO223+1.p',unknown),
    [] ).

cnf(15,axiom,
    ~ convergent_lines(parallel_through_point(A,B),A),
    file('GEO223+1.p',unknown),
    [] ).

cnf(16,axiom,
    ~ apart_point_and_line(A,parallel_through_point(B,A)),
    file('GEO223+1.p',unknown),
    [] ).

cnf(18,axiom,
    ( ~ convergent_lines(A,B)
    | ~ unorthogonal_lines(A,B)
    | convergent_lines(A,C)
    | unorthogonal_lines(B,C) ),
    file('GEO223+1.p',unknown),
    [] ).

cnf(21,axiom,
    ~ unorthogonal_lines(orthogonal_through_point(A,B),A),
    file('GEO223+1.p',unknown),
    [] ).

cnf(22,axiom,
    ~ apart_point_and_line(A,orthogonal_through_point(B,A)),
    file('GEO223+1.p',unknown),
    [] ).

cnf(23,axiom,
    ( ~ distinct_lines(A,B)
    | apart_point_and_line(C,A)
    | apart_point_and_line(C,B)
    | unorthogonal_lines(A,D)
    | unorthogonal_lines(B,D) ),
    file('GEO223+1.p',unknown),
    [] ).

cnf(24,axiom,
    ( convergent_lines(A,B)
    | unorthogonal_lines(A,B) ),
    file('GEO223+1.p',unknown),
    [] ).

cnf(25,axiom,
    distinct_lines(parallel_through_point(dollar_c1,dollar_c2),orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2)),
    file('GEO223+1.p',unknown),
    [] ).

cnf(26,plain,
    convergent_lines(orthogonal_through_point(A,B),A),
    inference(hyper,[status(thm)],[24,21]),
    [iquote('hyper,24,21')] ).

cnf(28,plain,
    ( convergent_lines(orthogonal_through_point(A,B),C)
    | convergent_lines(A,C) ),
    inference(hyper,[status(thm)],[26,6]),
    [iquote('hyper,26,6')] ).

cnf(32,plain,
    ( convergent_lines(A,B)
    | convergent_lines(orthogonal_through_point(A,C),D)
    | convergent_lines(B,D) ),
    inference(hyper,[status(thm)],[28,6]),
    [iquote('hyper,28,6')] ).

cnf(38,plain,
    ( apart_point_and_line(A,parallel_through_point(dollar_c1,dollar_c2))
    | apart_point_and_line(A,orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2))
    | unorthogonal_lines(parallel_through_point(dollar_c1,dollar_c2),B)
    | unorthogonal_lines(orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2),B) ),
    inference(hyper,[status(thm)],[25,23]),
    [iquote('hyper,25,23')] ).

cnf(152,plain,
    ( convergent_lines(A,B)
    | convergent_lines(B,orthogonal_through_point(A,C)) ),
    inference(hyper,[status(thm)],[32,3]),
    [iquote('hyper,32,3')] ).

cnf(188,plain,
    ( convergent_lines(A,orthogonal_through_point(B,C))
    | convergent_lines(B,D)
    | convergent_lines(A,D) ),
    inference(hyper,[status(thm)],[152,6]),
    [iquote('hyper,152,6')] ).

cnf(954,plain,
    ( convergent_lines(A,orthogonal_through_point(B,C))
    | convergent_lines(A,B) ),
    inference(hyper,[status(thm)],[188,3]),
    [iquote('hyper,188,3')] ).

cnf(1025,plain,
    ( convergent_lines(parallel_through_point(dollar_c1,dollar_c2),A)
    | convergent_lines(parallel_through_point(dollar_c1,dollar_c2),B)
    | unorthogonal_lines(orthogonal_through_point(A,C),B)
    | apart_point_and_line(D,parallel_through_point(dollar_c1,dollar_c2))
    | apart_point_and_line(D,orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2))
    | unorthogonal_lines(orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2),orthogonal_through_point(A,C)) ),
    inference(hyper,[status(thm)],[954,18,38]),
    [iquote('hyper,954,18,38')] ).

cnf(1052,plain,
    ( convergent_lines(parallel_through_point(dollar_c1,dollar_c2),A)
    | apart_point_and_line(B,parallel_through_point(dollar_c1,dollar_c2))
    | apart_point_and_line(B,orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2))
    | unorthogonal_lines(orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2),orthogonal_through_point(A,C)) ),
    inference(unit_del,[status(thm)],[inference(factor,[status(thm)],[1025]),21]),
    [iquote('factor,1025.1.2,unit_del,21')] ).

cnf(5437,plain,
    ( apart_point_and_line(A,parallel_through_point(dollar_c1,dollar_c2))
    | apart_point_and_line(A,orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2)) ),
    inference(unit_del,[status(thm)],[inference(hyper,[status(thm)],[1052,21]),15]),
    [iquote('hyper,1052,21,unit_del,15')] ).

cnf(5438,plain,
    apart_point_and_line(dollar_c2,orthogonal_through_point(orthogonal_through_point(dollar_c1,dollar_c2),dollar_c2)),
    inference(hyper,[status(thm)],[5437,16]),
    [iquote('hyper,5437,16')] ).

cnf(5439,plain,
    $false,
    inference(binary,[status(thm)],[5438,22]),
    [iquote('binary,5438.1,22.1')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem  : GEO223+1 : TPTP v8.1.0. Released v3.3.0.
% 0.11/0.13  % Command  : otter-tptp-script %s
% 0.12/0.33  % Computer : n012.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 07:18:35 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 1.74/1.94  ----- Otter 3.3f, August 2004 -----
% 1.74/1.94  The process was started by sandbox2 on n012.cluster.edu,
% 1.74/1.94  Wed Jul 27 07:18:35 2022
% 1.74/1.94  The command was "./otter".  The process ID is 11818.
% 1.74/1.94  
% 1.74/1.94  set(prolog_style_variables).
% 1.74/1.94  set(auto).
% 1.74/1.94     dependent: set(auto1).
% 1.74/1.94     dependent: set(process_input).
% 1.74/1.94     dependent: clear(print_kept).
% 1.74/1.94     dependent: clear(print_new_demod).
% 1.74/1.94     dependent: clear(print_back_demod).
% 1.74/1.94     dependent: clear(print_back_sub).
% 1.74/1.94     dependent: set(control_memory).
% 1.74/1.94     dependent: assign(max_mem, 12000).
% 1.74/1.94     dependent: assign(pick_given_ratio, 4).
% 1.74/1.94     dependent: assign(stats_level, 1).
% 1.74/1.94     dependent: assign(max_seconds, 10800).
% 1.74/1.94  clear(print_given).
% 1.74/1.94  
% 1.74/1.94  formula_list(usable).
% 1.74/1.94  all X (-distinct_points(X,X)).
% 1.74/1.94  all X (-distinct_lines(X,X)).
% 1.74/1.94  all X (-convergent_lines(X,X)).
% 1.74/1.94  all X Y Z (distinct_points(X,Y)->distinct_points(X,Z)|distinct_points(Y,Z)).
% 1.74/1.94  all X Y Z (distinct_lines(X,Y)->distinct_lines(X,Z)|distinct_lines(Y,Z)).
% 1.74/1.94  all X Y Z (convergent_lines(X,Y)->convergent_lines(X,Z)|convergent_lines(Y,Z)).
% 1.74/1.94  all X Y (distinct_points(X,Y)-> -apart_point_and_line(X,line_connecting(X,Y))).
% 1.74/1.94  all X Y (distinct_points(X,Y)-> -apart_point_and_line(Y,line_connecting(X,Y))).
% 1.74/1.94  all X Y (convergent_lines(X,Y)-> -apart_point_and_line(intersection_point(X,Y),X)).
% 1.74/1.94  all X Y (convergent_lines(X,Y)-> -apart_point_and_line(intersection_point(X,Y),Y)).
% 1.74/1.94  all X Y U V (distinct_points(X,Y)&distinct_lines(U,V)->apart_point_and_line(X,U)|apart_point_and_line(X,V)|apart_point_and_line(Y,U)|apart_point_and_line(Y,V)).
% 1.74/1.94  all X Y Z (apart_point_and_line(X,Y)->distinct_points(X,Z)|apart_point_and_line(Z,Y)).
% 1.74/1.94  all X Y Z (apart_point_and_line(X,Y)->distinct_lines(Y,Z)|apart_point_and_line(X,Z)).
% 1.74/1.94  all X Y Z (convergent_lines(X,Y)->distinct_lines(Y,Z)|convergent_lines(X,Z)).
% 1.74/1.94  all X Y (-convergent_lines(parallel_through_point(Y,X),Y)).
% 1.74/1.94  all X Y (-apart_point_and_line(X,parallel_through_point(Y,X))).
% 1.74/1.94  all X Y Z (distinct_lines(Y,Z)->apart_point_and_line(X,Y)|apart_point_and_line(X,Z)|convergent_lines(Y,Z)).
% 1.74/1.94  all L M (convergent_lines(L,M)|unorthogonal_lines(L,M)).
% 1.74/1.94  all L M N (convergent_lines(L,M)&unorthogonal_lines(L,M)->convergent_lines(L,N)&unorthogonal_lines(L,N)|convergent_lines(M,N)&unorthogonal_lines(M,N)).
% 1.74/1.94  all A L (-unorthogonal_lines(orthogonal_through_point(L,A),L)).
% 1.74/1.94  all A L (-apart_point_and_line(A,orthogonal_through_point(L,A))).
% 1.74/1.94  all A L M N (distinct_lines(L,M)->apart_point_and_line(A,L)|apart_point_and_line(A,M)|unorthogonal_lines(L,N)|unorthogonal_lines(M,N)).
% 1.74/1.94  -(all A L (-distinct_lines(parallel_through_point(L,A),orthogonal_through_point(orthogonal_through_point(L,A),A)))).
% 1.74/1.94  end_of_list.
% 1.74/1.94  
% 1.74/1.94  -------> usable clausifies to:
% 1.74/1.94  
% 1.74/1.94  list(usable).
% 1.74/1.94  0 [] -distinct_points(X,X).
% 1.74/1.94  0 [] -distinct_lines(X,X).
% 1.74/1.94  0 [] -convergent_lines(X,X).
% 1.74/1.94  0 [] -distinct_points(X,Y)|distinct_points(X,Z)|distinct_points(Y,Z).
% 1.74/1.94  0 [] -distinct_lines(X,Y)|distinct_lines(X,Z)|distinct_lines(Y,Z).
% 1.74/1.94  0 [] -convergent_lines(X,Y)|convergent_lines(X,Z)|convergent_lines(Y,Z).
% 1.74/1.94  0 [] -distinct_points(X,Y)| -apart_point_and_line(X,line_connecting(X,Y)).
% 1.74/1.94  0 [] -distinct_points(X,Y)| -apart_point_and_line(Y,line_connecting(X,Y)).
% 1.74/1.94  0 [] -convergent_lines(X,Y)| -apart_point_and_line(intersection_point(X,Y),X).
% 1.74/1.94  0 [] -convergent_lines(X,Y)| -apart_point_and_line(intersection_point(X,Y),Y).
% 1.74/1.94  0 [] -distinct_points(X,Y)| -distinct_lines(U,V)|apart_point_and_line(X,U)|apart_point_and_line(X,V)|apart_point_and_line(Y,U)|apart_point_and_line(Y,V).
% 1.74/1.94  0 [] -apart_point_and_line(X,Y)|distinct_points(X,Z)|apart_point_and_line(Z,Y).
% 1.74/1.94  0 [] -apart_point_and_line(X,Y)|distinct_lines(Y,Z)|apart_point_and_line(X,Z).
% 1.74/1.94  0 [] -convergent_lines(X,Y)|distinct_lines(Y,Z)|convergent_lines(X,Z).
% 1.74/1.94  0 [] -convergent_lines(parallel_through_point(Y,X),Y).
% 1.74/1.94  0 [] -apart_point_and_line(X,parallel_through_point(Y,X)).
% 1.74/1.94  0 [] -distinct_lines(Y,Z)|apart_point_and_line(X,Y)|apart_point_and_line(X,Z)|convergent_lines(Y,Z).
% 1.74/1.94  0 [] convergent_lines(L,M)|unorthogonal_lines(L,M).
% 1.74/1.94  0 [] -convergent_lines(L,M)| -unorthogonal_lines(L,M)|convergent_lines(L,N)|convergent_lines(M,N).
% 1.74/1.94  0 [] -convergent_lines(L,M)| -unorthogonal_lines(L,M)|convergent_lines(L,N)|unorthogonal_lines(M,N).
% 1.74/1.94  0 [] -convergent_lines(L,M)| -unorthogonal_lines(L,M)|unorthogonal_lines(L,N)|convergent_lines(M,N).
% 161.16/161.40  0 [] -convergent_lines(L,M)| -unorthogonal_lines(L,M)|unorthogonal_lines(L,N)|unorthogonal_lines(M,N).
% 161.16/161.40  0 [] -unorthogonal_lines(orthogonal_through_point(L,A),L).
% 161.16/161.40  0 [] -apart_point_and_line(A,orthogonal_through_point(L,A)).
% 161.16/161.40  0 [] -distinct_lines(L,M)|apart_point_and_line(A,L)|apart_point_and_line(A,M)|unorthogonal_lines(L,N)|unorthogonal_lines(M,N).
% 161.16/161.40  0 [] distinct_lines(parallel_through_point($c1,$c2),orthogonal_through_point(orthogonal_through_point($c1,$c2),$c2)).
% 161.16/161.40  end_of_list.
% 161.16/161.40  
% 161.16/161.40  SCAN INPUT: prop=0, horn=0, equality=0, symmetry=0, max_lits=6.
% 161.16/161.40  
% 161.16/161.40  This is a non-Horn set without equality.  The strategy will
% 161.16/161.40  be ordered hyper_res, unit deletion, and factoring, with
% 161.16/161.40  satellites in sos and with nuclei in usable.
% 161.16/161.40  
% 161.16/161.40     dependent: set(hyper_res).
% 161.16/161.40     dependent: set(factor).
% 161.16/161.40     dependent: set(unit_deletion).
% 161.16/161.40  
% 161.16/161.40  ------------> process usable:
% 161.16/161.40  ** KEPT (pick-wt=3): 1 [] -distinct_points(A,A).
% 161.16/161.40  ** KEPT (pick-wt=3): 2 [] -distinct_lines(A,A).
% 161.16/161.40  ** KEPT (pick-wt=3): 3 [] -convergent_lines(A,A).
% 161.16/161.40  ** KEPT (pick-wt=9): 4 [] -distinct_points(A,B)|distinct_points(A,C)|distinct_points(B,C).
% 161.16/161.40  ** KEPT (pick-wt=9): 5 [] -distinct_lines(A,B)|distinct_lines(A,C)|distinct_lines(B,C).
% 161.16/161.40  ** KEPT (pick-wt=9): 6 [] -convergent_lines(A,B)|convergent_lines(A,C)|convergent_lines(B,C).
% 161.16/161.40  ** KEPT (pick-wt=8): 7 [] -distinct_points(A,B)| -apart_point_and_line(A,line_connecting(A,B)).
% 161.16/161.40  ** KEPT (pick-wt=8): 8 [] -distinct_points(A,B)| -apart_point_and_line(B,line_connecting(A,B)).
% 161.16/161.40  ** KEPT (pick-wt=8): 9 [] -convergent_lines(A,B)| -apart_point_and_line(intersection_point(A,B),A).
% 161.16/161.40  ** KEPT (pick-wt=8): 10 [] -convergent_lines(A,B)| -apart_point_and_line(intersection_point(A,B),B).
% 161.16/161.40  ** KEPT (pick-wt=18): 11 [] -distinct_points(A,B)| -distinct_lines(C,D)|apart_point_and_line(A,C)|apart_point_and_line(A,D)|apart_point_and_line(B,C)|apart_point_and_line(B,D).
% 161.16/161.40  ** KEPT (pick-wt=9): 12 [] -apart_point_and_line(A,B)|distinct_points(A,C)|apart_point_and_line(C,B).
% 161.16/161.40  ** KEPT (pick-wt=9): 13 [] -apart_point_and_line(A,B)|distinct_lines(B,C)|apart_point_and_line(A,C).
% 161.16/161.40  ** KEPT (pick-wt=9): 14 [] -convergent_lines(A,B)|distinct_lines(B,C)|convergent_lines(A,C).
% 161.16/161.40  ** KEPT (pick-wt=5): 15 [] -convergent_lines(parallel_through_point(A,B),A).
% 161.16/161.40  ** KEPT (pick-wt=5): 16 [] -apart_point_and_line(A,parallel_through_point(B,A)).
% 161.16/161.40  ** KEPT (pick-wt=12): 17 [] -distinct_lines(A,B)|apart_point_and_line(C,A)|apart_point_and_line(C,B)|convergent_lines(A,B).
% 161.16/161.40    Following clause subsumed by 6 during input processing: 0 [] -convergent_lines(A,B)| -unorthogonal_lines(A,B)|convergent_lines(A,C)|convergent_lines(B,C).
% 161.16/161.40  ** KEPT (pick-wt=12): 18 [] -convergent_lines(A,B)| -unorthogonal_lines(A,B)|convergent_lines(A,C)|unorthogonal_lines(B,C).
% 161.16/161.40  ** KEPT (pick-wt=12): 19 [] -convergent_lines(A,B)| -unorthogonal_lines(A,B)|unorthogonal_lines(A,C)|convergent_lines(B,C).
% 161.16/161.40  ** KEPT (pick-wt=12): 20 [] -convergent_lines(A,B)| -unorthogonal_lines(A,B)|unorthogonal_lines(A,C)|unorthogonal_lines(B,C).
% 161.16/161.40  ** KEPT (pick-wt=5): 21 [] -unorthogonal_lines(orthogonal_through_point(A,B),A).
% 161.16/161.40  ** KEPT (pick-wt=5): 22 [] -apart_point_and_line(A,orthogonal_through_point(B,A)).
% 161.16/161.40  ** KEPT (pick-wt=15): 23 [] -distinct_lines(A,B)|apart_point_and_line(C,A)|apart_point_and_line(C,B)|unorthogonal_lines(A,D)|unorthogonal_lines(B,D).
% 161.16/161.40  
% 161.16/161.40  ------------> process sos:
% 161.16/161.40  ** KEPT (pick-wt=6): 24 [] convergent_lines(A,B)|unorthogonal_lines(A,B).
% 161.16/161.40  ** KEPT (pick-wt=9): 25 [] distinct_lines(parallel_through_point($c1,$c2),orthogonal_through_point(orthogonal_through_point($c1,$c2),$c2)).
% 161.16/161.40  
% 161.16/161.40  ======= end of input processing =======
% 161.16/161.40  
% 161.16/161.40  =========== start of search ===========
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Resetting weight limit to 21.
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Resetting weight limit to 21.
% 161.16/161.40  
% 161.16/161.40  sos_size=3718
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Resetting weight limit to 20.
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Resetting weight limit to 20.
% 161.16/161.40  
% 161.16/161.40  sos_size=3734
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Resetting weight limit to 17.
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Resetting weight limit to 17.
% 161.16/161.40  
% 161.16/161.40  sos_size=3744
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Resetting weight limit to 16.
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Resetting weight limit to 16.
% 161.16/161.40  
% 161.16/161.40  sos_size=3754
% 161.16/161.40  
% 161.16/161.40  -- HEY sandbox2, WE HAVE A PROOF!! -- 
% 161.16/161.40  
% 161.16/161.40  ----> UNIT CONFLICT at 159.46 sec ----> 5439 [binary,5438.1,22.1] $F.
% 161.16/161.40  
% 161.16/161.40  Length of proof is 11.  Level of proof is 10.
% 161.16/161.40  
% 161.16/161.40  ---------------- PROOF ----------------
% 161.16/161.40  % SZS status Theorem
% 161.16/161.40  % SZS output start Refutation
% See solution above
% 161.16/161.40  ------------ end of proof -------------
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Search stopped by max_proofs option.
% 161.16/161.40  
% 161.16/161.40  
% 161.16/161.40  Search stopped by max_proofs option.
% 161.16/161.40  
% 161.16/161.40  ============ end of search ============
% 161.16/161.40  
% 161.16/161.40  -------------- statistics -------------
% 161.16/161.40  clauses given               2099
% 161.16/161.40  clauses generated        4819609
% 161.16/161.40  clauses kept                5438
% 161.16/161.40  clauses forward subsumed   20812
% 161.16/161.40  clauses back subsumed        781
% 161.16/161.40  Kbytes malloced             5859
% 161.16/161.40  
% 161.16/161.40  ----------- times (seconds) -----------
% 161.16/161.40  user CPU time        159.46          (0 hr, 2 min, 39 sec)
% 161.16/161.40  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 161.16/161.40  wall-clock time      161             (0 hr, 2 min, 41 sec)
% 161.16/161.40  
% 161.16/161.40  That finishes the proof of the theorem.
% 161.16/161.40  
% 161.16/161.40  Process 11818 finished Wed Jul 27 07:21:16 2022
% 161.16/161.40  Otter interrupted
% 161.16/161.40  PROOF FOUND
%------------------------------------------------------------------------------