TSTP Solution File: SWC200+1 by iProver---3.8
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : iProver---3.8
% Problem : SWC200+1 : TPTP v8.1.2. Released v2.4.0.
% Transfm : none
% Format : tptp:raw
% Command : run_iprover %s %d THM
% Computer : n023.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 : Thu Aug 31 20:41:38 EDT 2023
% Result : Theorem 32.54s 5.22s
% Output : CNFRefutation 32.54s
% Verified :
% SZS Type : ERROR: Analysing output (Could not find formula named f588)
% Comments :
%------------------------------------------------------------------------------
fof(f1,axiom,
! [X0] :
( ssItem(X0)
=> ! [X1] :
( ssItem(X1)
=> ( neq(X0,X1)
<=> X0 != X1 ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',ax1) ).
fof(f4,axiom,
! [X0] :
( ssList(X0)
=> ( singletonP(X0)
<=> ? [X1] :
( cons(X1,nil) = X0
& ssItem(X1) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',ax4) ).
fof(f17,axiom,
ssList(nil),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',ax17) ).
fof(f37,axiom,
! [X0] :
( ssItem(X0)
=> ! [X1] :
( ssItem(X1)
=> ! [X2] :
( ssList(X2)
=> ( memberP(cons(X1,X2),X0)
<=> ( memberP(X2,X0)
| X0 = X1 ) ) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',ax37) ).
fof(f38,axiom,
! [X0] :
( ssItem(X0)
=> ~ memberP(nil,X0) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',ax38) ).
fof(f96,conjecture,
! [X0] :
( ssList(X0)
=> ! [X1] :
( ssList(X1)
=> ! [X2] :
( ssList(X2)
=> ! [X3] :
( ssList(X3)
=> ( ? [X4] :
( ! [X5] :
( ssItem(X5)
=> ( X4 = X5
| ~ memberP(X0,X5) ) )
& ssItem(X4) )
| ~ singletonP(X2)
| X0 != X2
| X1 != X3 ) ) ) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',co1) ).
fof(f97,negated_conjecture,
~ ! [X0] :
( ssList(X0)
=> ! [X1] :
( ssList(X1)
=> ! [X2] :
( ssList(X2)
=> ! [X3] :
( ssList(X3)
=> ( ? [X4] :
( ! [X5] :
( ssItem(X5)
=> ( X4 = X5
| ~ memberP(X0,X5) ) )
& ssItem(X4) )
| ~ singletonP(X2)
| X0 != X2
| X1 != X3 ) ) ) ) ),
inference(negated_conjecture,[],[f96]) ).
fof(f98,plain,
! [X0] :
( ! [X1] :
( ( neq(X0,X1)
<=> X0 != X1 )
| ~ ssItem(X1) )
| ~ ssItem(X0) ),
inference(ennf_transformation,[],[f1]) ).
fof(f100,plain,
! [X0] :
( ( singletonP(X0)
<=> ? [X1] :
( cons(X1,nil) = X0
& ssItem(X1) ) )
| ~ ssList(X0) ),
inference(ennf_transformation,[],[f4]) ).
fof(f147,plain,
! [X0] :
( ! [X1] :
( ! [X2] :
( ( memberP(cons(X1,X2),X0)
<=> ( memberP(X2,X0)
| X0 = X1 ) )
| ~ ssList(X2) )
| ~ ssItem(X1) )
| ~ ssItem(X0) ),
inference(ennf_transformation,[],[f37]) ).
fof(f148,plain,
! [X0] :
( ~ memberP(nil,X0)
| ~ ssItem(X0) ),
inference(ennf_transformation,[],[f38]) ).
fof(f221,plain,
? [X0] :
( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(X0,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(X2)
& X0 = X2
& X1 = X3
& ssList(X3) )
& ssList(X2) )
& ssList(X1) )
& ssList(X0) ),
inference(ennf_transformation,[],[f97]) ).
fof(f222,plain,
? [X0] :
( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(X0,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(X2)
& X0 = X2
& X1 = X3
& ssList(X3) )
& ssList(X2) )
& ssList(X1) )
& ssList(X0) ),
inference(flattening,[],[f221]) ).
fof(f232,plain,
! [X0] :
( ! [X1] :
( ( ( neq(X0,X1)
| X0 = X1 )
& ( X0 != X1
| ~ neq(X0,X1) ) )
| ~ ssItem(X1) )
| ~ ssItem(X0) ),
inference(nnf_transformation,[],[f98]) ).
fof(f241,plain,
! [X0] :
( ( ( singletonP(X0)
| ! [X1] :
( cons(X1,nil) != X0
| ~ ssItem(X1) ) )
& ( ? [X1] :
( cons(X1,nil) = X0
& ssItem(X1) )
| ~ singletonP(X0) ) )
| ~ ssList(X0) ),
inference(nnf_transformation,[],[f100]) ).
fof(f242,plain,
! [X0] :
( ( ( singletonP(X0)
| ! [X1] :
( cons(X1,nil) != X0
| ~ ssItem(X1) ) )
& ( ? [X2] :
( cons(X2,nil) = X0
& ssItem(X2) )
| ~ singletonP(X0) ) )
| ~ ssList(X0) ),
inference(rectify,[],[f241]) ).
fof(f243,plain,
! [X0] :
( ? [X2] :
( cons(X2,nil) = X0
& ssItem(X2) )
=> ( cons(sK10(X0),nil) = X0
& ssItem(sK10(X0)) ) ),
introduced(choice_axiom,[]) ).
fof(f244,plain,
! [X0] :
( ( ( singletonP(X0)
| ! [X1] :
( cons(X1,nil) != X0
| ~ ssItem(X1) ) )
& ( ( cons(sK10(X0),nil) = X0
& ssItem(sK10(X0)) )
| ~ singletonP(X0) ) )
| ~ ssList(X0) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK10])],[f242,f243]) ).
fof(f324,plain,
! [X0] :
( ! [X1] :
( ! [X2] :
( ( ( memberP(cons(X1,X2),X0)
| ( ~ memberP(X2,X0)
& X0 != X1 ) )
& ( memberP(X2,X0)
| X0 = X1
| ~ memberP(cons(X1,X2),X0) ) )
| ~ ssList(X2) )
| ~ ssItem(X1) )
| ~ ssItem(X0) ),
inference(nnf_transformation,[],[f147]) ).
fof(f325,plain,
! [X0] :
( ! [X1] :
( ! [X2] :
( ( ( memberP(cons(X1,X2),X0)
| ( ~ memberP(X2,X0)
& X0 != X1 ) )
& ( memberP(X2,X0)
| X0 = X1
| ~ memberP(cons(X1,X2),X0) ) )
| ~ ssList(X2) )
| ~ ssItem(X1) )
| ~ ssItem(X0) ),
inference(flattening,[],[f324]) ).
fof(f343,plain,
( ? [X0] :
( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(X0,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(X2)
& X0 = X2
& X1 = X3
& ssList(X3) )
& ssList(X2) )
& ssList(X1) )
& ssList(X0) )
=> ( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(sK53,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(X2)
& sK53 = X2
& X1 = X3
& ssList(X3) )
& ssList(X2) )
& ssList(X1) )
& ssList(sK53) ) ),
introduced(choice_axiom,[]) ).
fof(f344,plain,
( ? [X1] :
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(sK53,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(X2)
& sK53 = X2
& X1 = X3
& ssList(X3) )
& ssList(X2) )
& ssList(X1) )
=> ( ? [X2] :
( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(sK53,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(X2)
& sK53 = X2
& sK54 = X3
& ssList(X3) )
& ssList(X2) )
& ssList(sK54) ) ),
introduced(choice_axiom,[]) ).
fof(f345,plain,
( ? [X2] :
( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(sK53,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(X2)
& sK53 = X2
& sK54 = X3
& ssList(X3) )
& ssList(X2) )
=> ( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(sK53,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(sK55)
& sK53 = sK55
& sK54 = X3
& ssList(X3) )
& ssList(sK55) ) ),
introduced(choice_axiom,[]) ).
fof(f346,plain,
( ? [X3] :
( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(sK53,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(sK55)
& sK53 = sK55
& sK54 = X3
& ssList(X3) )
=> ( ! [X4] :
( ? [X5] :
( X4 != X5
& memberP(sK53,X5)
& ssItem(X5) )
| ~ ssItem(X4) )
& singletonP(sK55)
& sK53 = sK55
& sK54 = sK56
& ssList(sK56) ) ),
introduced(choice_axiom,[]) ).
fof(f347,plain,
! [X4] :
( ? [X5] :
( X4 != X5
& memberP(sK53,X5)
& ssItem(X5) )
=> ( sK57(X4) != X4
& memberP(sK53,sK57(X4))
& ssItem(sK57(X4)) ) ),
introduced(choice_axiom,[]) ).
fof(f348,plain,
( ! [X4] :
( ( sK57(X4) != X4
& memberP(sK53,sK57(X4))
& ssItem(sK57(X4)) )
| ~ ssItem(X4) )
& singletonP(sK55)
& sK53 = sK55
& sK54 = sK56
& ssList(sK56)
& ssList(sK55)
& ssList(sK54)
& ssList(sK53) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK53,sK54,sK55,sK56,sK57])],[f222,f347,f346,f345,f344,f343]) ).
fof(f350,plain,
! [X0,X1] :
( neq(X0,X1)
| X0 = X1
| ~ ssItem(X1)
| ~ ssItem(X0) ),
inference(cnf_transformation,[],[f232]) ).
fof(f358,plain,
! [X0] :
( ssItem(sK10(X0))
| ~ singletonP(X0)
| ~ ssList(X0) ),
inference(cnf_transformation,[],[f244]) ).
fof(f359,plain,
! [X0] :
( cons(sK10(X0),nil) = X0
| ~ singletonP(X0)
| ~ ssList(X0) ),
inference(cnf_transformation,[],[f244]) ).
fof(f441,plain,
ssList(nil),
inference(cnf_transformation,[],[f17]) ).
fof(f468,plain,
! [X2,X0,X1] :
( memberP(X2,X0)
| X0 = X1
| ~ memberP(cons(X1,X2),X0)
| ~ ssList(X2)
| ~ ssItem(X1)
| ~ ssItem(X0) ),
inference(cnf_transformation,[],[f325]) ).
fof(f471,plain,
! [X0] :
( ~ memberP(nil,X0)
| ~ ssItem(X0) ),
inference(cnf_transformation,[],[f148]) ).
fof(f548,plain,
ssList(sK53),
inference(cnf_transformation,[],[f348]) ).
fof(f553,plain,
sK53 = sK55,
inference(cnf_transformation,[],[f348]) ).
fof(f554,plain,
singletonP(sK55),
inference(cnf_transformation,[],[f348]) ).
fof(f555,plain,
! [X4] :
( ssItem(sK57(X4))
| ~ ssItem(X4) ),
inference(cnf_transformation,[],[f348]) ).
fof(f556,plain,
! [X4] :
( memberP(sK53,sK57(X4))
| ~ ssItem(X4) ),
inference(cnf_transformation,[],[f348]) ).
fof(f557,plain,
! [X4] :
( sK57(X4) != X4
| ~ ssItem(X4) ),
inference(cnf_transformation,[],[f348]) ).
fof(f558,plain,
! [X4] :
( memberP(sK55,sK57(X4))
| ~ ssItem(X4) ),
inference(definition_unfolding,[],[f556,f553]) ).
fof(f560,plain,
ssList(sK55),
inference(definition_unfolding,[],[f548,f553]) ).
cnf(c_49,plain,
( ~ ssItem(X0)
| ~ ssItem(X1)
| X0 = X1
| neq(X0,X1) ),
inference(cnf_transformation,[],[f350]) ).
cnf(c_50,negated_conjecture,
( ~ neq(X0,X0)
| ~ ssItem(X0) ),
inference(cnf_transformation,[],[f588]) ).
cnf(c_59,plain,
( ~ ssList(X0)
| ~ singletonP(X0)
| cons(sK10(X0),nil) = X0 ),
inference(cnf_transformation,[],[f359]) ).
cnf(c_60,plain,
( ~ ssList(X0)
| ~ singletonP(X0)
| ssItem(sK10(X0)) ),
inference(cnf_transformation,[],[f358]) ).
cnf(c_141,plain,
ssList(nil),
inference(cnf_transformation,[],[f441]) ).
cnf(c_170,plain,
( ~ memberP(cons(X0,X1),X2)
| ~ ssItem(X0)
| ~ ssItem(X2)
| ~ ssList(X1)
| X0 = X2
| memberP(X1,X2) ),
inference(cnf_transformation,[],[f468]) ).
cnf(c_171,negated_conjecture,
( ~ memberP(nil,X0)
| ~ ssItem(X0) ),
inference(cnf_transformation,[],[f471]) ).
cnf(c_246,negated_conjecture,
( sK57(X0) != X0
| ~ ssItem(X0) ),
inference(cnf_transformation,[],[f557]) ).
cnf(c_247,negated_conjecture,
( ~ ssItem(X0)
| memberP(sK55,sK57(X0)) ),
inference(cnf_transformation,[],[f558]) ).
cnf(c_248,negated_conjecture,
( ~ ssItem(X0)
| ssItem(sK57(X0)) ),
inference(cnf_transformation,[],[f555]) ).
cnf(c_249,negated_conjecture,
singletonP(sK55),
inference(cnf_transformation,[],[f554]) ).
cnf(c_253,negated_conjecture,
ssList(sK55),
inference(cnf_transformation,[],[f560]) ).
cnf(c_539,plain,
( X0 != X1
| X2 != X1
| X2 = X0 ),
theory(equality) ).
cnf(c_544,plain,
( X0 != X1
| X2 != X3
| ~ memberP(X1,X3)
| memberP(X0,X2) ),
theory(equality) ).
cnf(c_717,plain,
( ~ ssList(sK55)
| ~ singletonP(sK55)
| ssItem(sK10(sK55)) ),
inference(instantiation,[status(thm)],[c_60]) ).
cnf(c_720,plain,
( ~ ssList(sK55)
| ~ singletonP(sK55)
| cons(sK10(sK55),nil) = sK55 ),
inference(instantiation,[status(thm)],[c_59]) ).
cnf(c_1151,plain,
( sK57(sK10(sK55)) != sK10(sK55)
| ~ ssItem(sK10(sK55)) ),
inference(instantiation,[status(thm)],[c_246]) ).
cnf(c_1154,plain,
( ~ ssItem(sK10(sK55))
| ssItem(sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_248]) ).
cnf(c_1155,plain,
( ~ ssItem(sK10(sK55))
| memberP(sK55,sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_247]) ).
cnf(c_3404,plain,
( ~ ssItem(sK57(sK10(sK55)))
| ~ ssItem(X0)
| X0 = sK57(sK10(sK55))
| neq(X0,sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_49]) ).
cnf(c_3446,plain,
( ~ neq(sK57(sK10(sK55)),sK57(sK10(sK55)))
| ~ ssItem(sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_50]) ).
cnf(c_3449,plain,
( ~ memberP(nil,sK57(sK10(sK55)))
| ~ ssItem(sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_171]) ).
cnf(c_3692,plain,
( X0 != sK55
| X1 != sK57(sK10(sK55))
| ~ memberP(sK55,sK57(sK10(sK55)))
| memberP(X0,X1) ),
inference(instantiation,[status(thm)],[c_544]) ).
cnf(c_12283,plain,
( ~ ssItem(sK57(sK10(sK55)))
| sK57(sK10(sK55)) = sK57(sK10(sK55))
| neq(sK57(sK10(sK55)),sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_3404]) ).
cnf(c_14957,plain,
( sK57(sK10(sK55)) != sK57(sK10(sK55))
| X0 != sK55
| ~ memberP(sK55,sK57(sK10(sK55)))
| memberP(X0,sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_3692]) ).
cnf(c_23082,plain,
( ~ memberP(cons(X0,X1),sK57(X2))
| ~ ssItem(sK57(X2))
| ~ ssItem(X0)
| ~ ssList(X1)
| X0 = sK57(X2)
| memberP(X1,sK57(X2)) ),
inference(instantiation,[status(thm)],[c_170]) ).
cnf(c_31556,plain,
( ~ memberP(cons(X0,nil),sK57(X1))
| ~ ssItem(sK57(X1))
| ~ ssItem(X0)
| ~ ssList(nil)
| X0 = sK57(X1)
| memberP(nil,sK57(X1)) ),
inference(instantiation,[status(thm)],[c_23082]) ).
cnf(c_32717,plain,
( cons(sK10(sK55),nil) != sK55
| sK57(sK10(sK55)) != sK57(sK10(sK55))
| ~ memberP(sK55,sK57(sK10(sK55)))
| memberP(cons(sK10(sK55),nil),sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_14957]) ).
cnf(c_36340,plain,
( ~ memberP(cons(sK10(sK55),nil),sK57(sK10(sK55)))
| ~ ssItem(sK57(sK10(sK55)))
| ~ ssItem(sK10(sK55))
| ~ ssList(nil)
| sK10(sK55) = sK57(sK10(sK55))
| memberP(nil,sK57(sK10(sK55))) ),
inference(instantiation,[status(thm)],[c_31556]) ).
cnf(c_56016,plain,
( sK57(X0) != X1
| X0 != X1
| sK57(X0) = X0 ),
inference(instantiation,[status(thm)],[c_539]) ).
cnf(c_56536,plain,
( sK57(X0) != sK57(X0)
| X0 != sK57(X0)
| sK57(X0) = X0 ),
inference(instantiation,[status(thm)],[c_56016]) ).
cnf(c_80021,plain,
( sK57(sK10(sK55)) != sK57(sK10(sK55))
| sK10(sK55) != sK57(sK10(sK55))
| sK57(sK10(sK55)) = sK10(sK55) ),
inference(instantiation,[status(thm)],[c_56536]) ).
cnf(c_80022,plain,
$false,
inference(prop_impl_just,[status(thm)],[c_80021,c_36340,c_32717,c_12283,c_3446,c_3449,c_1151,c_1154,c_1155,c_720,c_717,c_141,c_249,c_253]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12 % Problem : SWC200+1 : TPTP v8.1.2. Released v2.4.0.
% 0.03/0.12 % Command : run_iprover %s %d THM
% 0.12/0.33 % Computer : n023.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 : Mon Aug 28 17:54:25 EDT 2023
% 0.12/0.33 % CPUTime :
% 0.18/0.45 Running first-order theorem proving
% 0.18/0.45 Running: /export/starexec/sandbox/solver/bin/run_problem --schedule fof_schedule --no_cores 8 /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 32.54/5.22 % SZS status Started for theBenchmark.p
% 32.54/5.22 % SZS status Theorem for theBenchmark.p
% 32.54/5.22
% 32.54/5.22 %---------------- iProver v3.8 (pre SMT-COMP 2023/CASC 2023) ----------------%
% 32.54/5.22
% 32.54/5.22 ------ iProver source info
% 32.54/5.22
% 32.54/5.22 git: date: 2023-05-31 18:12:56 +0000
% 32.54/5.22 git: sha1: 8abddc1f627fd3ce0bcb8b4cbf113b3cc443d7b6
% 32.54/5.22 git: non_committed_changes: false
% 32.54/5.22 git: last_make_outside_of_git: false
% 32.54/5.22
% 32.54/5.22 ------ Parsing...
% 32.54/5.22 ------ Clausification by vclausify_rel & Parsing by iProver...
% 32.54/5.22
% 32.54/5.22 ------ Preprocessing... sup_sim: 0 sf_s rm: 1 0s sf_e sup_sim: 0 sf_s rm: 1 0s sf_e
% 32.54/5.22
% 32.54/5.22 ------ Preprocessing...
% 32.54/5.22
% 32.54/5.22 ------ Preprocessing... sf_s rm: 1 0s sf_e sf_s rm: 0 0s sf_e
% 32.54/5.22 ------ Proving...
% 32.54/5.22 ------ Problem Properties
% 32.54/5.22
% 32.54/5.22
% 32.54/5.22 clauses 199
% 32.54/5.22 conjectures 18
% 32.54/5.22 EPR 65
% 32.54/5.22 Horn 129
% 32.54/5.22 unary 19
% 32.54/5.22 binary 51
% 32.54/5.22 lits 660
% 32.54/5.22 lits eq 81
% 32.54/5.22 fd_pure 0
% 32.54/5.22 fd_pseudo 0
% 32.54/5.22 fd_cond 21
% 32.54/5.22 fd_pseudo_cond 16
% 32.54/5.22 AC symbols 0
% 32.54/5.22
% 32.54/5.22 ------ Input Options Time Limit: Unbounded
% 32.54/5.22
% 32.54/5.22
% 32.54/5.22 ------
% 32.54/5.22 Current options:
% 32.54/5.22 ------
% 32.54/5.22
% 32.54/5.22
% 32.54/5.22
% 32.54/5.22
% 32.54/5.22 ------ Proving...
% 32.54/5.22
% 32.54/5.22
% 32.54/5.22 % SZS status Theorem for theBenchmark.p
% 32.54/5.22
% 32.54/5.22 % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 32.54/5.22
% 32.54/5.22
%------------------------------------------------------------------------------