↑ Up

Otter---3.3.UNS-Ref.s

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

% Computer : n015.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:56:44 EDT 2022

% Result   : Unsatisfiable 100.35s 100.51s
% Output   : Refutation 100.35s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   15
%            Number of leaves      :   11
% Syntax   : Number of clauses     :   42 (  15 unt;  21 nHn;  32 RR)
%            Number of literals    :   95 (  94 equ;  35 neg)
%            Maximal clause size   :    7 (   2 avg)
%            Maximal term depth    :    4 (   1 avg)
%            Number of predicates  :    2 (   0 usr;   1 prp; 0-2 aty)
%            Number of functors    :   10 (  10 usr;   8 con; 0-2 aty)
%            Number of variables   :   38 (   2 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(1,axiom,
    ( multiply(A,sk_c7) != sk_c6
    | inverse(A) != sk_c7
    | multiply(sk_c7,B) != sk_c6
    | multiply(C,sk_c7) != D
    | inverse(C) != sk_c7
    | multiply(E,D) != sk_c6
    | inverse(E) != D ),
    file('GRP214-1.p',unknown),
    [] ).

cnf(14,axiom,
    A = A,
    file('GRP214-1.p',unknown),
    [] ).

cnf(16,axiom,
    multiply(identity,A) = A,
    file('GRP214-1.p',unknown),
    [] ).

cnf(17,axiom,
    multiply(inverse(A),A) = identity,
    file('GRP214-1.p',unknown),
    [] ).

cnf(19,axiom,
    multiply(multiply(A,B),C) = multiply(A,multiply(B,C)),
    file('GRP214-1.p',unknown),
    [] ).

cnf(23,axiom,
    ( multiply(sk_c1,sk_c7) = sk_c6
    | multiply(sk_c4,sk_c5) = sk_c6 ),
    file('GRP214-1.p',unknown),
    [] ).

cnf(24,axiom,
    ( multiply(sk_c1,sk_c7) = sk_c6
    | inverse(sk_c4) = sk_c5 ),
    file('GRP214-1.p',unknown),
    [] ).

cnf(26,axiom,
    ( inverse(sk_c1) = sk_c7
    | inverse(sk_c3) = sk_c7 ),
    file('GRP214-1.p',unknown),
    [] ).

cnf(27,axiom,
    ( inverse(sk_c1) = sk_c7
    | multiply(sk_c4,sk_c5) = sk_c6 ),
    file('GRP214-1.p',unknown),
    [] ).

cnf(28,axiom,
    ( inverse(sk_c1) = sk_c7
    | inverse(sk_c4) = sk_c5 ),
    file('GRP214-1.p',unknown),
    [] ).

cnf(30,axiom,
    ( multiply(sk_c7,sk_c2) = sk_c6
    | inverse(sk_c3) = sk_c7 ),
    file('GRP214-1.p',unknown),
    [] ).

cnf(76,plain,
    ( multiply(sk_c7,sk_c1) = identity
    | inverse(sk_c3) = sk_c7 ),
    inference(para_from,[status(thm),theory(equality)],[26,17]),
    [iquote('para_from,26.1.1,17.1.1.1')] ).

cnf(87,plain,
    ( multiply(sk_c1,sk_c7) != sk_c6
    | multiply(sk_c7,A) != sk_c6
    | multiply(B,sk_c7) != C
    | inverse(B) != sk_c7
    | multiply(D,C) != sk_c6
    | inverse(D) != C
    | inverse(sk_c3) = sk_c7 ),
    inference(unit_del,[status(thm)],[inference(para_from,[status(thm),theory(equality)],[26,1]),14]),
    [iquote('para_from,26.1.1,1.2.1,unit_del,14')] ).

cnf(116,plain,
    ( multiply(sk_c7,sk_c1) = identity
    | inverse(sk_c4) = sk_c5 ),
    inference(para_from,[status(thm),theory(equality)],[28,17]),
    [iquote('para_from,28.1.1,17.1.1.1')] ).

cnf(148,plain,
    multiply(inverse(A),multiply(A,B)) = B,
    inference(flip,[status(thm),theory(equality)],[inference(demod,[status(thm),theory(equality)],[inference(para_into,[status(thm),theory(equality)],[19,17]),16])]),
    [iquote('para_into,19.1.1.1,17.1.1,demod,16,flip.1')] ).

cnf(186,plain,
    multiply(inverse(inverse(A)),B) = multiply(A,B),
    inference(para_into,[status(thm),theory(equality)],[148,148]),
    [iquote('para_into,148.1.1.2,148.1.1')] ).

cnf(190,plain,
    multiply(A,identity) = A,
    inference(demod,[status(thm),theory(equality)],[inference(para_into,[status(thm),theory(equality)],[148,17]),186]),
    [iquote('para_into,148.1.1.2,17.1.1,demod,186')] ).

cnf(203,plain,
    inverse(identity) = identity,
    inference(flip,[status(thm),theory(equality)],[inference(para_into,[status(thm),theory(equality)],[190,17])]),
    [iquote('para_into,189.1.1,17.1.1,flip.1')] ).

cnf(410,plain,
    ( multiply(inverse(sk_c7),sk_c6) = sk_c2
    | inverse(sk_c3) = sk_c7 ),
    inference(para_from,[status(thm),theory(equality)],[30,148]),
    [iquote('para_from,30.1.1,148.1.1.2')] ).

cnf(502,plain,
    ( inverse(sk_c7) = sk_c1
    | inverse(sk_c3) = sk_c7 ),
    inference(demod,[status(thm),theory(equality)],[inference(para_from,[status(thm),theory(equality)],[76,148]),190]),
    [iquote('para_from,76.1.1,148.1.1.2,demod,190')] ).

cnf(539,plain,
    ( multiply(sk_c1,sk_c7) = identity
    | inverse(sk_c3) = sk_c7 ),
    inference(para_from,[status(thm),theory(equality)],[502,17]),
    [iquote('para_from,502.1.1,17.1.1.1')] ).

cnf(655,plain,
    ( inverse(sk_c7) = sk_c1
    | inverse(sk_c4) = sk_c5 ),
    inference(demod,[status(thm),theory(equality)],[inference(para_from,[status(thm),theory(equality)],[116,148]),190]),
    [iquote('para_from,116.1.1,148.1.1.2,demod,190')] ).

cnf(692,plain,
    ( multiply(sk_c1,sk_c7) = identity
    | inverse(sk_c4) = sk_c5 ),
    inference(para_from,[status(thm),theory(equality)],[655,17]),
    [iquote('para_from,655.1.1,17.1.1.1')] ).

cnf(818,plain,
    inverse(inverse(A)) = A,
    inference(demod,[status(thm),theory(equality)],[inference(para_into,[status(thm),theory(equality)],[186,190]),190]),
    [iquote('para_into,185.1.1,189.1.1,demod,190')] ).

cnf(820,plain,
    multiply(A,multiply(inverse(A),B)) = B,
    inference(flip,[status(thm),theory(equality)],[inference(para_into,[status(thm),theory(equality)],[186,148])]),
    [iquote('para_into,185.1.1,148.1.1,flip.1')] ).

cnf(822,plain,
    multiply(A,inverse(A)) = identity,
    inference(flip,[status(thm),theory(equality)],[inference(para_into,[status(thm),theory(equality)],[186,17])]),
    [iquote('para_into,185.1.1,17.1.1,flip.1')] ).

cnf(955,plain,
    ( multiply(A,sk_c7) != sk_c6
    | inverse(A) != sk_c7
    | multiply(B,sk_c7) != C
    | inverse(B) != sk_c7
    | multiply(D,C) != sk_c6
    | inverse(D) != C ),
    inference(factor_simp,[status(thm)],[inference(para_from,[status(thm),theory(equality)],[820,1])]),
    [iquote('para_from,820.1.1,1.3.1,factor_simp')] ).

cnf(1331,plain,
    ( sk_c6 = identity
    | inverse(sk_c4) = sk_c5 ),
    inference(factor_simp,[status(thm)],[inference(para_into,[status(thm),theory(equality)],[692,24])]),
    [iquote('para_into,692.1.1,24.1.1,factor_simp')] ).

cnf(1335,plain,
    ( multiply(sk_c4,sk_c5) = identity
    | sk_c6 = identity ),
    inference(para_from,[status(thm),theory(equality)],[1331,822]),
    [iquote('para_from,1331.2.1,822.1.1.2')] ).

cnf(1389,plain,
    ( sk_c6 = identity
    | inverse(sk_c1) = sk_c7 ),
    inference(factor_simp,[status(thm)],[inference(para_into,[status(thm),theory(equality)],[1335,27])]),
    [iquote('para_into,1335.1.1,27.2.1,factor_simp')] ).

cnf(1390,plain,
    ( sk_c6 = identity
    | multiply(sk_c1,sk_c7) = sk_c6 ),
    inference(factor_simp,[status(thm)],[inference(para_into,[status(thm),theory(equality)],[1335,23])]),
    [iquote('para_into,1335.1.1,23.2.1,factor_simp')] ).

cnf(1391,plain,
    ( multiply(sk_c1,sk_c7) = identity
    | sk_c6 = identity ),
    inference(para_from,[status(thm),theory(equality)],[1389,822]),
    [iquote('para_from,1389.2.1,822.1.1.2')] ).

cnf(1440,plain,
    ( multiply(sk_c1,sk_c7) != sk_c6
    | multiply(A,sk_c7) != B
    | inverse(A) != sk_c7
    | multiply(C,B) != sk_c6
    | inverse(C) != B
    | inverse(sk_c3) = sk_c7 ),
    inference(factor_simp,[status(thm)],[inference(para_into,[status(thm),theory(equality)],[87,820])]),
    [iquote('para_into,87.2.1,820.1.1,factor_simp')] ).

cnf(1484,plain,
    sk_c6 = identity,
    inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(para_into,[status(thm),theory(equality)],[1391,1390])])]),
    [iquote('para_into,1391.1.1,1390.2.1,factor_simp,factor_simp')] ).

cnf(1511,plain,
    ( multiply(sk_c1,sk_c7) != identity
    | multiply(A,sk_c7) != B
    | inverse(A) != sk_c7
    | multiply(C,B) != identity
    | inverse(C) != B
    | inverse(sk_c3) = sk_c7 ),
    inference(demod,[status(thm),theory(equality)],[inference(back_demod,[status(thm)],[1440]),1484,1484]),
    [iquote('back_demod,1440,demod,1484,1484')] ).

cnf(1624,plain,
    ( multiply(A,sk_c7) != identity
    | inverse(A) != sk_c7
    | multiply(B,sk_c7) != C
    | inverse(B) != sk_c7
    | multiply(D,C) != identity
    | inverse(D) != C ),
    inference(demod,[status(thm),theory(equality)],[inference(back_demod,[status(thm)],[955]),1484,1484]),
    [iquote('back_demod,955,demod,1484,1484')] ).

cnf(1919,plain,
    ( inverse(sk_c7) = sk_c2
    | inverse(sk_c3) = sk_c7 ),
    inference(demod,[status(thm),theory(equality)],[inference(back_demod,[status(thm)],[410]),1484,190]),
    [iquote('back_demod,410,demod,1484,190')] ).

cnf(2070,plain,
    ( inverse(sk_c2) = sk_c7
    | inverse(sk_c3) = sk_c7 ),
    inference(para_from,[status(thm),theory(equality)],[1919,818]),
    [iquote('para_from,1919.1.1,818.1.1.1')] ).

cnf(2072,plain,
    ( multiply(sk_c2,sk_c7) = identity
    | inverse(sk_c3) = sk_c7 ),
    inference(para_from,[status(thm),theory(equality)],[1919,17]),
    [iquote('para_from,1919.1.1,17.1.1.1')] ).

cnf(3807,plain,
    inverse(sk_c3) = sk_c7,
    inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[1511,539,2072,2070,190,203])])])]),
    [iquote('hyper,1511,539,2072,2070,189,203,factor_simp,factor_simp,factor_simp')] ).

cnf(3823,plain,
    multiply(sk_c3,sk_c7) = identity,
    inference(para_from,[status(thm),theory(equality)],[3807,822]),
    [iquote('para_from,3807.1.1,822.1.1.2')] ).

cnf(4077,plain,
    $false,
    inference(hyper,[status(thm)],[1624,3823,3807,3823,3807,190,203]),
    [iquote('hyper,1624,3823,3807,3823,3807,189,203')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.11  % Problem  : GRP214-1 : TPTP v8.1.0. Released v2.5.0.
% 0.03/0.12  % Command  : otter-tptp-script %s
% 0.12/0.33  % Computer : n015.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 05:10:41 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 1.55/2.11  ----- Otter 3.3f, August 2004 -----
% 1.55/2.11  The process was started by sandbox2 on n015.cluster.edu,
% 1.55/2.11  Wed Jul 27 05:10:41 2022
% 1.55/2.11  The command was "./otter".  The process ID is 13128.
% 1.55/2.11  
% 1.55/2.11  set(prolog_style_variables).
% 1.55/2.11  set(auto).
% 1.55/2.11     dependent: set(auto1).
% 1.55/2.11     dependent: set(process_input).
% 1.55/2.11     dependent: clear(print_kept).
% 1.55/2.11     dependent: clear(print_new_demod).
% 1.55/2.11     dependent: clear(print_back_demod).
% 1.55/2.11     dependent: clear(print_back_sub).
% 1.55/2.11     dependent: set(control_memory).
% 1.55/2.11     dependent: assign(max_mem, 12000).
% 1.55/2.11     dependent: assign(pick_given_ratio, 4).
% 1.55/2.11     dependent: assign(stats_level, 1).
% 1.55/2.11     dependent: assign(max_seconds, 10800).
% 1.55/2.11  clear(print_given).
% 1.55/2.11  
% 1.55/2.11  list(usable).
% 1.55/2.11  0 [] A=A.
% 1.55/2.11  0 [] multiply(identity,X)=X.
% 1.55/2.11  0 [] multiply(inverse(X),X)=identity.
% 1.55/2.11  0 [] multiply(multiply(X,Y),Z)=multiply(X,multiply(Y,Z)).
% 1.55/2.11  0 [] multiply(sk_c1,sk_c7)=sk_c6|multiply(sk_c3,sk_c7)=sk_c5.
% 1.55/2.11  0 [] multiply(sk_c1,sk_c7)=sk_c6|inverse(sk_c3)=sk_c7.
% 1.55/2.11  0 [] multiply(sk_c1,sk_c7)=sk_c6|multiply(sk_c4,sk_c5)=sk_c6.
% 1.55/2.11  0 [] multiply(sk_c1,sk_c7)=sk_c6|inverse(sk_c4)=sk_c5.
% 1.55/2.11  0 [] inverse(sk_c1)=sk_c7|multiply(sk_c3,sk_c7)=sk_c5.
% 1.55/2.11  0 [] inverse(sk_c1)=sk_c7|inverse(sk_c3)=sk_c7.
% 1.55/2.11  0 [] inverse(sk_c1)=sk_c7|multiply(sk_c4,sk_c5)=sk_c6.
% 1.55/2.11  0 [] inverse(sk_c1)=sk_c7|inverse(sk_c4)=sk_c5.
% 1.55/2.11  0 [] multiply(sk_c7,sk_c2)=sk_c6|multiply(sk_c3,sk_c7)=sk_c5.
% 1.55/2.11  0 [] multiply(sk_c7,sk_c2)=sk_c6|inverse(sk_c3)=sk_c7.
% 1.55/2.11  0 [] multiply(sk_c7,sk_c2)=sk_c6|multiply(sk_c4,sk_c5)=sk_c6.
% 1.55/2.11  0 [] multiply(sk_c7,sk_c2)=sk_c6|inverse(sk_c4)=sk_c5.
% 1.55/2.11  0 [] multiply(X3,sk_c7)!=sk_c6|inverse(X3)!=sk_c7|multiply(sk_c7,X4)!=sk_c6|multiply(X2,sk_c7)!=X1|inverse(X2)!=sk_c7|multiply(X5,X1)!=sk_c6|inverse(X5)!=X1.
% 1.55/2.11  end_of_list.
% 1.55/2.11  
% 1.55/2.11  SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=7.
% 1.55/2.11  
% 1.55/2.11  This ia a non-Horn set with equality.  The strategy will be
% 1.55/2.11  Knuth-Bendix, ordered hyper_res, factoring, and unit
% 1.55/2.11  deletion, with positive clauses in sos and nonpositive
% 1.55/2.11  clauses in usable.
% 1.55/2.11  
% 1.55/2.11     dependent: set(knuth_bendix).
% 1.55/2.11     dependent: set(anl_eq).
% 1.55/2.11     dependent: set(para_from).
% 1.55/2.11     dependent: set(para_into).
% 1.55/2.11     dependent: clear(para_from_right).
% 1.55/2.11     dependent: clear(para_into_right).
% 1.55/2.11     dependent: set(para_from_vars).
% 1.55/2.11     dependent: set(eq_units_both_ways).
% 1.55/2.11     dependent: set(dynamic_demod_all).
% 1.55/2.11     dependent: set(dynamic_demod).
% 1.55/2.11     dependent: set(order_eq).
% 1.55/2.11     dependent: set(back_demod).
% 1.55/2.11     dependent: set(lrpo).
% 1.55/2.11     dependent: set(hyper_res).
% 1.55/2.11     dependent: set(unit_deletion).
% 1.55/2.11     dependent: set(factor).
% 1.55/2.11  
% 1.55/2.11  ------------> process usable:
% 1.55/2.11  ** KEPT (pick-wt=32): 1 [] multiply(A,sk_c7)!=sk_c6|inverse(A)!=sk_c7|multiply(sk_c7,B)!=sk_c6|multiply(C,sk_c7)!=D|inverse(C)!=sk_c7|multiply(E,D)!=sk_c6|inverse(E)!=D.
% 1.55/2.11  
% 1.55/2.11  ------------> process sos:
% 1.55/2.11  ** KEPT (pick-wt=3): 14 [] A=A.
% 1.55/2.11  ** KEPT (pick-wt=5): 15 [] multiply(identity,A)=A.
% 1.55/2.11  ---> New Demodulator: 16 [new_demod,15] multiply(identity,A)=A.
% 1.55/2.11  ** KEPT (pick-wt=6): 17 [] multiply(inverse(A),A)=identity.
% 1.55/2.11  ---> New Demodulator: 18 [new_demod,17] multiply(inverse(A),A)=identity.
% 1.55/2.11  ** KEPT (pick-wt=11): 19 [] multiply(multiply(A,B),C)=multiply(A,multiply(B,C)).
% 1.55/2.11  ---> New Demodulator: 20 [new_demod,19] multiply(multiply(A,B),C)=multiply(A,multiply(B,C)).
% 1.55/2.11  ** KEPT (pick-wt=10): 21 [] multiply(sk_c1,sk_c7)=sk_c6|multiply(sk_c3,sk_c7)=sk_c5.
% 1.55/2.11  ** KEPT (pick-wt=9): 22 [] multiply(sk_c1,sk_c7)=sk_c6|inverse(sk_c3)=sk_c7.
% 1.55/2.11  ** KEPT (pick-wt=10): 23 [] multiply(sk_c1,sk_c7)=sk_c6|multiply(sk_c4,sk_c5)=sk_c6.
% 1.55/2.11  ** KEPT (pick-wt=9): 24 [] multiply(sk_c1,sk_c7)=sk_c6|inverse(sk_c4)=sk_c5.
% 1.55/2.11  ** KEPT (pick-wt=9): 25 [] inverse(sk_c1)=sk_c7|multiply(sk_c3,sk_c7)=sk_c5.
% 1.55/2.11  ** KEPT (pick-wt=8): 26 [] inverse(sk_c1)=sk_c7|inverse(sk_c3)=sk_c7.
% 1.55/2.11  ** KEPT (pick-wt=9): 27 [] inverse(sk_c1)=sk_c7|multiply(sk_c4,sk_c5)=sk_c6.
% 1.55/2.11  ** KEPT (pick-wt=8): 28 [] inverse(sk_c1)=sk_c7|inverse(sk_c4)=sk_c5.
% 1.55/2.11  ** KEPT (pick-wt=10): 29 [] multiply(sk_c7,sk_c2)=sk_c6|multiply(sk_c3,sk_c7)=sk_c5.
% 1.55/2.11  ** KEPT (pick-wt=9): 30 [] multiply(sk_c7,sk_c2)=sk_c6|inverse(sk_c3)=sk_c7.
% 1.55/2.11  ** KEPT (pick-wt=10): 31 [] multiply(sk_c7,sk_c2)=sk_c6|multiply(sk_c4,sk_c5)=sk_c6.
% 1.55/2.11  ** KEPT (pick-wt=9): 32 [] multiply(sk_c7,sk_c2)=sk_c6|inverse(sk_c4)=sk_c5.
% 1.55/2.11    Following clause subsumed by 14 during input processing: 0 [copy,14,flip.1] A=A.
% 100.35/100.51  >>>> Starting back demodulation with 16.
% 100.35/100.51  >>>> Starting back demodulation with 18.
% 100.35/100.51  >>>> Starting back demodulation with 20.
% 100.35/100.51  
% 100.35/100.51  ======= end of input processing =======
% 100.35/100.51  
% 100.35/100.51  =========== start of search ===========
% 100.35/100.51  
% 100.35/100.51  -- HEY sandbox2, WE HAVE A PROOF!! -- 
% 100.35/100.51  
% 100.35/100.51  -----> EMPTY CLAUSE at  98.39 sec ----> 4077 [hyper,1624,3823,3807,3823,3807,189,203] $F.
% 100.35/100.51  
% 100.35/100.51  Length of proof is 30.  Level of proof is 14.
% 100.35/100.51  
% 100.35/100.51  ---------------- PROOF ----------------
% 100.35/100.51  % SZS status Unsatisfiable
% 100.35/100.51  % SZS output start Refutation
% See solution above
% 100.35/100.51  ------------ end of proof -------------
% 100.35/100.51  
% 100.35/100.51  
% 100.35/100.51  Search stopped by max_proofs option.
% 100.35/100.51  
% 100.35/100.51  
% 100.35/100.51  Search stopped by max_proofs option.
% 100.35/100.51  
% 100.35/100.51  ============ end of search ============
% 100.35/100.51  
% 100.35/100.51  -------------- statistics -------------
% 100.35/100.51  clauses given                396
% 100.35/100.51  clauses generated        2566682
% 100.35/100.51  clauses kept                4045
% 100.35/100.51  clauses forward subsumed 2564360
% 100.35/100.51  clauses back subsumed       1514
% 100.35/100.51  Kbytes malloced             3906
% 100.35/100.51  
% 100.35/100.51  ----------- times (seconds) -----------
% 100.35/100.51  user CPU time         98.39          (0 hr, 1 min, 38 sec)
% 100.35/100.51  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 100.35/100.51  wall-clock time      101             (0 hr, 1 min, 41 sec)
% 100.35/100.51  
% 100.35/100.51  That finishes the proof of the theorem.
% 100.35/100.51  
% 100.35/100.51  Process 13128 finished Wed Jul 27 05:12:22 2022
% 100.35/100.51  Otter interrupted
% 100.35/100.51  PROOF FOUND
%------------------------------------------------------------------------------