TSTP Solution File: NUM405+1 by Otter---3.3

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : NUM405+1 : TPTP v8.1.0. Released v3.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n022.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:08:15 EDT 2022

% Result   : Theorem 1.74s 1.94s
% Output   : Refutation 1.74s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    5
%            Number of leaves      :    5
% Syntax   : Number of clauses     :   10 (   3 unt;   3 nHn;   7 RR)
%            Number of literals    :   18 (   0 equ;   6 neg)
%            Maximal clause size   :    3 (   1 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    3 (   2 usr;   1 prp; 0-2 aty)
%            Number of functors    :    3 (   3 usr;   1 con; 0-1 aty)
%            Number of variables   :    9 (   1 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(15,axiom,
    ( ~ in(A,dollar_f2(B))
    | ordinal(A) ),
    file('NUM405+1.p',unknown),
    [] ).

cnf(16,axiom,
    ( in(A,dollar_f2(B))
    | ~ in(A,B)
    | ~ ordinal(A) ),
    file('NUM405+1.p',unknown),
    [] ).

cnf(19,axiom,
    ( ~ in(dollar_f3(A),A)
    | ~ ordinal(dollar_f3(A)) ),
    file('NUM405+1.p',unknown),
    [] ).

cnf(20,axiom,
    ( ~ ordinal(A)
    | in(A,dollar_c14) ),
    file('NUM405+1.p',unknown),
    [] ).

cnf(69,axiom,
    ( in(dollar_f3(A),A)
    | ordinal(dollar_f3(A)) ),
    file('NUM405+1.p',unknown),
    [] ).

cnf(96,plain,
    ( in(dollar_f3(A),A)
    | in(dollar_f3(A),dollar_c14) ),
    inference(hyper,[status(thm)],[69,20]),
    [iquote('hyper,69,20')] ).

cnf(185,plain,
    ( in(dollar_f3(A),A)
    | in(dollar_f3(A),dollar_f2(dollar_c14)) ),
    inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[96,16,69])]),
    [iquote('hyper,96,16,69,factor_simp')] ).

cnf(187,plain,
    in(dollar_f3(dollar_f2(dollar_c14)),dollar_f2(dollar_c14)),
    inference(factor,[status(thm)],[185]),
    [iquote('factor,185.1.2')] ).

cnf(352,plain,
    ordinal(dollar_f3(dollar_f2(dollar_c14))),
    inference(hyper,[status(thm)],[187,15]),
    [iquote('hyper,187,15')] ).

cnf(353,plain,
    $false,
    inference(hyper,[status(thm)],[352,19,187]),
    [iquote('hyper,352,19,187')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : NUM405+1 : TPTP v8.1.0. Released v3.2.0.
% 0.07/0.13  % Command  : otter-tptp-script %s
% 0.12/0.33  % Computer : n022.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 09:46:35 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 1.74/1.92  ----- Otter 3.3f, August 2004 -----
% 1.74/1.92  The process was started by sandbox2 on n022.cluster.edu,
% 1.74/1.92  Wed Jul 27 09:46:35 2022
% 1.74/1.92  The command was "./otter".  The process ID is 4451.
% 1.74/1.92  
% 1.74/1.92  set(prolog_style_variables).
% 1.74/1.92  set(auto).
% 1.74/1.92     dependent: set(auto1).
% 1.74/1.92     dependent: set(process_input).
% 1.74/1.92     dependent: clear(print_kept).
% 1.74/1.92     dependent: clear(print_new_demod).
% 1.74/1.92     dependent: clear(print_back_demod).
% 1.74/1.92     dependent: clear(print_back_sub).
% 1.74/1.92     dependent: set(control_memory).
% 1.74/1.92     dependent: assign(max_mem, 12000).
% 1.74/1.92     dependent: assign(pick_given_ratio, 4).
% 1.74/1.92     dependent: assign(stats_level, 1).
% 1.74/1.92     dependent: assign(max_seconds, 10800).
% 1.74/1.92  clear(print_given).
% 1.74/1.92  
% 1.74/1.92  formula_list(usable).
% 1.74/1.92  all A (A=A).
% 1.74/1.92  all A B (in(A,B)-> -in(B,A)).
% 1.74/1.92  all A (empty(A)->function(A)).
% 1.74/1.92  all A (ordinal(A)->epsilon_transitive(A)&epsilon_connected(A)).
% 1.74/1.92  all A (empty(A)->relation(A)).
% 1.74/1.92  all A (relation(A)&empty(A)&function(A)->relation(A)&function(A)&one_to_one(A)).
% 1.74/1.92  all A (epsilon_transitive(A)&epsilon_connected(A)->ordinal(A)).
% 1.74/1.92  all A (empty(A)->epsilon_transitive(A)&epsilon_connected(A)&ordinal(A)).
% 1.74/1.92  all A exists B element(B,A).
% 1.74/1.92  empty(empty_set).
% 1.74/1.92  relation(empty_set).
% 1.74/1.92  relation_empty_yielding(empty_set).
% 1.74/1.92  empty(empty_set).
% 1.74/1.92  relation(empty_set).
% 1.74/1.92  relation_empty_yielding(empty_set).
% 1.74/1.92  function(empty_set).
% 1.74/1.92  one_to_one(empty_set).
% 1.74/1.92  empty(empty_set).
% 1.74/1.92  epsilon_transitive(empty_set).
% 1.74/1.92  epsilon_connected(empty_set).
% 1.74/1.92  ordinal(empty_set).
% 1.74/1.92  empty(empty_set).
% 1.74/1.92  relation(empty_set).
% 1.74/1.92  exists A (relation(A)&function(A)).
% 1.74/1.92  exists A (epsilon_transitive(A)&epsilon_connected(A)&ordinal(A)).
% 1.74/1.92  exists A (empty(A)&relation(A)).
% 1.74/1.92  exists A empty(A).
% 1.74/1.92  exists A (relation(A)&empty(A)&function(A)).
% 1.74/1.92  exists A (relation(A)&function(A)&one_to_one(A)&empty(A)&epsilon_transitive(A)&epsilon_connected(A)&ordinal(A)).
% 1.74/1.92  exists A (-empty(A)&relation(A)).
% 1.74/1.92  exists A (-empty(A)).
% 1.74/1.92  exists A (relation(A)&function(A)&one_to_one(A)).
% 1.74/1.92  exists A (-empty(A)&epsilon_transitive(A)&epsilon_connected(A)&ordinal(A)).
% 1.74/1.92  exists A (relation(A)&relation_empty_yielding(A)).
% 1.74/1.92  exists A (relation(A)&relation_empty_yielding(A)&function(A)).
% 1.74/1.92  exists A (relation(A)&relation_non_empty(A)&function(A)).
% 1.74/1.92  all A exists B all C (in(C,B)<->in(C,A)&ordinal(C)).
% 1.74/1.92  all A B (in(A,B)->element(A,B)).
% 1.74/1.92  all A B (element(A,B)->empty(B)|in(A,B)).
% 1.74/1.92  all A (-(all B (in(B,A)<->ordinal(B)))).
% 1.74/1.92  -(all A (-(all B (ordinal(B)->in(B,A))))).
% 1.74/1.92  all A (empty(A)->A=empty_set).
% 1.74/1.92  all A B (-(in(A,B)&empty(B))).
% 1.74/1.92  all A B (-(empty(A)&A!=B&empty(B))).
% 1.74/1.92  end_of_list.
% 1.74/1.92  
% 1.74/1.92  -------> usable clausifies to:
% 1.74/1.92  
% 1.74/1.92  list(usable).
% 1.74/1.92  0 [] A=A.
% 1.74/1.92  0 [] -in(A,B)| -in(B,A).
% 1.74/1.92  0 [] -empty(A)|function(A).
% 1.74/1.92  0 [] -ordinal(A)|epsilon_transitive(A).
% 1.74/1.92  0 [] -ordinal(A)|epsilon_connected(A).
% 1.74/1.92  0 [] -empty(A)|relation(A).
% 1.74/1.92  0 [] -relation(A)| -empty(A)| -function(A)|one_to_one(A).
% 1.74/1.92  0 [] -epsilon_transitive(A)| -epsilon_connected(A)|ordinal(A).
% 1.74/1.92  0 [] -empty(A)|epsilon_transitive(A).
% 1.74/1.92  0 [] -empty(A)|epsilon_connected(A).
% 1.74/1.92  0 [] -empty(A)|ordinal(A).
% 1.74/1.92  0 [] element($f1(A),A).
% 1.74/1.92  0 [] empty(empty_set).
% 1.74/1.92  0 [] relation(empty_set).
% 1.74/1.92  0 [] relation_empty_yielding(empty_set).
% 1.74/1.92  0 [] empty(empty_set).
% 1.74/1.92  0 [] relation(empty_set).
% 1.74/1.92  0 [] relation_empty_yielding(empty_set).
% 1.74/1.92  0 [] function(empty_set).
% 1.74/1.92  0 [] one_to_one(empty_set).
% 1.74/1.92  0 [] empty(empty_set).
% 1.74/1.92  0 [] epsilon_transitive(empty_set).
% 1.74/1.92  0 [] epsilon_connected(empty_set).
% 1.74/1.92  0 [] ordinal(empty_set).
% 1.74/1.92  0 [] empty(empty_set).
% 1.74/1.92  0 [] relation(empty_set).
% 1.74/1.92  0 [] relation($c1).
% 1.74/1.92  0 [] function($c1).
% 1.74/1.92  0 [] epsilon_transitive($c2).
% 1.74/1.92  0 [] epsilon_connected($c2).
% 1.74/1.92  0 [] ordinal($c2).
% 1.74/1.92  0 [] empty($c3).
% 1.74/1.92  0 [] relation($c3).
% 1.74/1.92  0 [] empty($c4).
% 1.74/1.92  0 [] relation($c5).
% 1.74/1.92  0 [] empty($c5).
% 1.74/1.92  0 [] function($c5).
% 1.74/1.92  0 [] relation($c6).
% 1.74/1.92  0 [] function($c6).
% 1.74/1.92  0 [] one_to_one($c6).
% 1.74/1.92  0 [] empty($c6).
% 1.74/1.92  0 [] epsilon_transitive($c6).
% 1.74/1.92  0 [] epsilon_connected($c6).
% 1.74/1.92  0 [] ordinal($c6).
% 1.74/1.92  0 [] -empty($c7).
% 1.74/1.92  0 [] relation($c7).
% 1.74/1.92  0 [] -empty($c8).
% 1.74/1.92  0 [] relation($c9).
% 1.74/1.92  0 [] function($c9).
% 1.74/1.92  0 [] one_to_one($c9).
% 1.74/1.92  0 [] -empty($c10).
% 1.74/1.92  0 [] epsilon_transitive($c10).
% 1.74/1.92  0 [] epsilon_connected($c10).
% 1.74/1.92  0 [] ordinal($c10).
% 1.74/1.92  0 [] relation($c11).
% 1.74/1.92  0 [] relation_empty_yielding($c11).
% 1.74/1.92  0 [] relation($c12).
% 1.74/1.92  0 [] relation_empty_yielding($c12).
% 1.74/1.92  0 [] function($c12).
% 1.74/1.92  0 [] relation($c13).
% 1.74/1.92  0 [] relation_non_empty($c13).
% 1.74/1.92  0 [] function($c13).
% 1.74/1.92  0 [] -in(C,$f2(A))|in(C,A).
% 1.74/1.92  0 [] -in(C,$f2(A))|ordinal(C).
% 1.74/1.92  0 [] in(C,$f2(A))| -in(C,A)| -ordinal(C).
% 1.74/1.92  0 [] -in(A,B)|element(A,B).
% 1.74/1.92  0 [] -element(A,B)|empty(B)|in(A,B).
% 1.74/1.92  0 [] in($f3(A),A)|ordinal($f3(A)).
% 1.74/1.92  0 [] -in($f3(A),A)| -ordinal($f3(A)).
% 1.74/1.92  0 [] -ordinal(B)|in(B,$c14).
% 1.74/1.92  0 [] -empty(A)|A=empty_set.
% 1.74/1.92  0 [] -in(A,B)| -empty(B).
% 1.74/1.92  0 [] -empty(A)|A=B| -empty(B).
% 1.74/1.92  end_of_list.
% 1.74/1.92  
% 1.74/1.92  SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=4.
% 1.74/1.92  
% 1.74/1.92  This ia a non-Horn set with equality.  The strategy will be
% 1.74/1.92  Knuth-Bendix, ordered hyper_res, factoring, and unit
% 1.74/1.92  deletion, with positive clauses in sos and nonpositive
% 1.74/1.92  clauses in usable.
% 1.74/1.92  
% 1.74/1.92     dependent: set(knuth_bendix).
% 1.74/1.92     dependent: set(anl_eq).
% 1.74/1.92     dependent: set(para_from).
% 1.74/1.92     dependent: set(para_into).
% 1.74/1.92     dependent: clear(para_from_right).
% 1.74/1.92     dependent: clear(para_into_right).
% 1.74/1.92     dependent: set(para_from_vars).
% 1.74/1.92     dependent: set(eq_units_both_ways).
% 1.74/1.92     dependent: set(dynamic_demod_all).
% 1.74/1.92     dependent: set(dynamic_demod).
% 1.74/1.92     dependent: set(order_eq).
% 1.74/1.92     dependent: set(back_demod).
% 1.74/1.92     dependent: set(lrpo).
% 1.74/1.92     dependent: set(hyper_res).
% 1.74/1.92     dependent: set(unit_deletion).
% 1.74/1.92     dependent: set(factor).
% 1.74/1.92  
% 1.74/1.92  ------------> process usable:
% 1.74/1.92  ** KEPT (pick-wt=6): 1 [] -in(A,B)| -in(B,A).
% 1.74/1.92  ** KEPT (pick-wt=4): 2 [] -empty(A)|function(A).
% 1.74/1.92  ** KEPT (pick-wt=4): 3 [] -ordinal(A)|epsilon_transitive(A).
% 1.74/1.92  ** KEPT (pick-wt=4): 4 [] -ordinal(A)|epsilon_connected(A).
% 1.74/1.92  ** KEPT (pick-wt=4): 5 [] -empty(A)|relation(A).
% 1.74/1.92  ** KEPT (pick-wt=8): 6 [] -relation(A)| -empty(A)| -function(A)|one_to_one(A).
% 1.74/1.92  ** KEPT (pick-wt=6): 7 [] -epsilon_transitive(A)| -epsilon_connected(A)|ordinal(A).
% 1.74/1.92  ** KEPT (pick-wt=4): 8 [] -empty(A)|epsilon_transitive(A).
% 1.74/1.92  ** KEPT (pick-wt=4): 9 [] -empty(A)|epsilon_connected(A).
% 1.74/1.92  ** KEPT (pick-wt=4): 10 [] -empty(A)|ordinal(A).
% 1.74/1.92  ** KEPT (pick-wt=2): 11 [] -empty($c7).
% 1.74/1.92  ** KEPT (pick-wt=2): 12 [] -empty($c8).
% 1.74/1.92  ** KEPT (pick-wt=2): 13 [] -empty($c10).
% 1.74/1.92  ** KEPT (pick-wt=7): 14 [] -in(A,$f2(B))|in(A,B).
% 1.74/1.92  ** KEPT (pick-wt=6): 15 [] -in(A,$f2(B))|ordinal(A).
% 1.74/1.92  ** KEPT (pick-wt=9): 16 [] in(A,$f2(B))| -in(A,B)| -ordinal(A).
% 1.74/1.92  ** KEPT (pick-wt=6): 17 [] -in(A,B)|element(A,B).
% 1.74/1.92  ** KEPT (pick-wt=8): 18 [] -element(A,B)|empty(B)|in(A,B).
% 1.74/1.92  ** KEPT (pick-wt=7): 19 [] -in($f3(A),A)| -ordinal($f3(A)).
% 1.74/1.92  ** KEPT (pick-wt=5): 20 [] -ordinal(A)|in(A,$c14).
% 1.74/1.92  ** KEPT (pick-wt=5): 21 [] -empty(A)|A=empty_set.
% 1.74/1.92  ** KEPT (pick-wt=5): 22 [] -in(A,B)| -empty(B).
% 1.74/1.92  ** KEPT (pick-wt=7): 23 [] -empty(A)|A=B| -empty(B).
% 1.74/1.92  
% 1.74/1.92  ------------> process sos:
% 1.74/1.92  ** KEPT (pick-wt=3): 26 [] A=A.
% 1.74/1.92  ** KEPT (pick-wt=4): 27 [] element($f1(A),A).
% 1.74/1.92  ** KEPT (pick-wt=2): 28 [] empty(empty_set).
% 1.74/1.92  ** KEPT (pick-wt=2): 29 [] relation(empty_set).
% 1.74/1.92  ** KEPT (pick-wt=2): 30 [] relation_empty_yielding(empty_set).
% 1.74/1.92    Following clause subsumed by 28 during input processing: 0 [] empty(empty_set).
% 1.74/1.92    Following clause subsumed by 29 during input processing: 0 [] relation(empty_set).
% 1.74/1.92    Following clause subsumed by 30 during input processing: 0 [] relation_empty_yielding(empty_set).
% 1.74/1.92  ** KEPT (pick-wt=2): 31 [] function(empty_set).
% 1.74/1.92  ** KEPT (pick-wt=2): 32 [] one_to_one(empty_set).
% 1.74/1.92    Following clause subsumed by 28 during input processing: 0 [] empty(empty_set).
% 1.74/1.92  ** KEPT (pick-wt=2): 33 [] epsilon_transitive(empty_set).
% 1.74/1.92  ** KEPT (pick-wt=2): 34 [] epsilon_connected(empty_set).
% 1.74/1.92  ** KEPT (pick-wt=2): 35 [] ordinal(empty_set).
% 1.74/1.92    Following clause subsumed by 28 during input processing: 0 [] empty(empty_set).
% 1.74/1.92    Following clause subsumed by 29 during input processing: 0 [] relation(empty_set).
% 1.74/1.92  ** KEPT (pick-wt=2): 36 [] relation($c1).
% 1.74/1.92  ** KEPT (pick-wt=2): 37 [] function($c1).
% 1.74/1.92  ** KEPT (pick-wt=2): 38 [] epsilon_transitive($c2).
% 1.74/1.92  ** KEPT (pick-wt=2): 39 [] epsilon_connected($c2).
% 1.74/1.92  ** KEPT (pick-wt=2): 40 [] ordinal($c2).
% 1.74/1.92  ** KEPT (pick-wt=2): 41 [] empty($c3).
% 1.74/1.92  ** KEPT (pick-wt=2): 42 [] relation($c3).
% 1.74/1.92  ** KEPT (pick-wt=2): 43 [] empty($c4).
% 1.74/1.92  ** KEPT (pick-wt=2): 44 [] relation($c5).
% 1.74/1.92  ** KEPT (pick-wt=2): 45 [] empty($c5).
% 1.74/1.92  ** KEPT (pick-wt=2): 46 [] function($c5).
% 1.74/1.92  ** KEPT (pick-wt=2): 47 [] relation($c6).
% 1.74/1.92  ** KEPT (pick-wt=2): 48 [] function($c6).
% 1.74/1.92  ** KEPT (pick-wt=2): 49 [] one_to_one($c6).
% 1.74/1.92  ** KEPT (pick-wt=2): 50 [] empty($c6).
% 1.74/1.92  ** KEPT (pick-wt=2): 51 [] epsilon_transitive($c6).
% 1.74/1.94  ** KEPT (pick-wt=2): 52 [] epsilon_connected($c6).
% 1.74/1.94  ** KEPT (pick-wt=2): 53 [] ordinal($c6).
% 1.74/1.94  ** KEPT (pick-wt=2): 54 [] relation($c7).
% 1.74/1.94  ** KEPT (pick-wt=2): 55 [] relation($c9).
% 1.74/1.94  ** KEPT (pick-wt=2): 56 [] function($c9).
% 1.74/1.94  ** KEPT (pick-wt=2): 57 [] one_to_one($c9).
% 1.74/1.94  ** KEPT (pick-wt=2): 58 [] epsilon_transitive($c10).
% 1.74/1.94  ** KEPT (pick-wt=2): 59 [] epsilon_connected($c10).
% 1.74/1.94  ** KEPT (pick-wt=2): 60 [] ordinal($c10).
% 1.74/1.94  ** KEPT (pick-wt=2): 61 [] relation($c11).
% 1.74/1.94  ** KEPT (pick-wt=2): 62 [] relation_empty_yielding($c11).
% 1.74/1.94  ** KEPT (pick-wt=2): 63 [] relation($c12).
% 1.74/1.94  ** KEPT (pick-wt=2): 64 [] relation_empty_yielding($c12).
% 1.74/1.94  ** KEPT (pick-wt=2): 65 [] function($c12).
% 1.74/1.94  ** KEPT (pick-wt=2): 66 [] relation($c13).
% 1.74/1.94  ** KEPT (pick-wt=2): 67 [] relation_non_empty($c13).
% 1.74/1.94  ** KEPT (pick-wt=2): 68 [] function($c13).
% 1.74/1.94  ** KEPT (pick-wt=7): 69 [] in($f3(A),A)|ordinal($f3(A)).
% 1.74/1.94    Following clause subsumed by 26 during input processing: 0 [copy,26,flip.1] A=A.
% 1.74/1.94  26 back subsumes 25.
% 1.74/1.94  
% 1.74/1.94  ======= end of input processing =======
% 1.74/1.94  
% 1.74/1.94  =========== start of search ===========
% 1.74/1.94  
% 1.74/1.94  -------- PROOF -------- 
% 1.74/1.94  
% 1.74/1.94  -----> EMPTY CLAUSE at   0.02 sec ----> 353 [hyper,352,19,187] $F.
% 1.74/1.94  
% 1.74/1.94  Length of proof is 4.  Level of proof is 4.
% 1.74/1.94  
% 1.74/1.94  ---------------- PROOF ----------------
% 1.74/1.94  % SZS status Theorem
% 1.74/1.94  % SZS output start Refutation
% See solution above
% 1.74/1.94  ------------ end of proof -------------
% 1.74/1.94  
% 1.74/1.94  
% 1.74/1.94  Search stopped by max_proofs option.
% 1.74/1.94  
% 1.74/1.94  
% 1.74/1.94  Search stopped by max_proofs option.
% 1.74/1.94  
% 1.74/1.94  ============ end of search ============
% 1.74/1.94  
% 1.74/1.94  -------------- statistics -------------
% 1.74/1.94  clauses given                119
% 1.74/1.94  clauses generated           1313
% 1.74/1.94  clauses kept                 348
% 1.74/1.94  clauses forward subsumed    1057
% 1.74/1.94  clauses back subsumed         50
% 1.74/1.94  Kbytes malloced             1953
% 1.74/1.94  
% 1.74/1.94  ----------- times (seconds) -----------
% 1.74/1.94  user CPU time          0.02          (0 hr, 0 min, 0 sec)
% 1.74/1.94  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 1.74/1.94  wall-clock time        2             (0 hr, 0 min, 2 sec)
% 1.74/1.94  
% 1.74/1.94  That finishes the proof of the theorem.
% 1.74/1.94  
% 1.74/1.94  Process 4451 finished Wed Jul 27 09:46:37 2022
% 1.74/1.94  Otter interrupted
% 1.74/1.94  PROOF FOUND
%------------------------------------------------------------------------------