TSTP Solution File: GEO648+1 by SOS---2.0
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : SOS---2.0
% Problem : GEO648+1 : TPTP v8.1.0. Released v7.5.0.
% Transfm : none
% Format : tptp:raw
% Command : sos-script %s
% Computer : n017.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 : 600s
% DateTime : Sat Jul 16 06:21:19 EDT 2022
% Result : Theorem 20.22s 20.40s
% Output : Refutation 20.22s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12 % Problem : GEO648+1 : TPTP v8.1.0. Released v7.5.0.
% 0.03/0.13 % Command : sos-script %s
% 0.13/0.34 % Computer : n017.cluster.edu
% 0.13/0.34 % Model : x86_64 x86_64
% 0.13/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34 % Memory : 8042.1875MB
% 0.13/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34 % CPULimit : 300
% 0.13/0.34 % WCLimit : 600
% 0.13/0.34 % DateTime : Fri Jun 17 17:24:11 EDT 2022
% 0.13/0.35 % CPUTime :
% 0.20/0.38 ----- Otter 3.2, August 2001 -----
% 0.20/0.38 The process was started by sandbox2 on n017.cluster.edu,
% 0.20/0.38 Fri Jun 17 17:24:12 2022
% 0.20/0.38 The command was "./sos". The process ID is 29331.
% 0.20/0.38
% 0.20/0.38 set(prolog_style_variables).
% 0.20/0.38 set(auto).
% 0.20/0.38 dependent: set(auto1).
% 0.20/0.38 dependent: set(process_input).
% 0.20/0.38 dependent: clear(print_kept).
% 0.20/0.38 dependent: clear(print_new_demod).
% 0.20/0.38 dependent: clear(print_back_demod).
% 0.20/0.38 dependent: clear(print_back_sub).
% 0.20/0.38 dependent: set(control_memory).
% 0.20/0.38 dependent: assign(max_mem, 12000).
% 0.20/0.38 dependent: assign(pick_given_ratio, 4).
% 0.20/0.38 dependent: assign(stats_level, 1).
% 0.20/0.38 dependent: assign(pick_semantic_ratio, 3).
% 0.20/0.38 dependent: assign(sos_limit, 5000).
% 0.20/0.38 dependent: assign(max_weight, 60).
% 0.20/0.38 clear(print_given).
% 0.20/0.38
% 0.20/0.38 formula_list(usable).
% 0.20/0.38
% 0.20/0.38 SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=5.
% 0.20/0.38
% 0.20/0.38 This ia a non-Horn set with equality. The strategy will be
% 0.20/0.38 Knuth-Bendix, ordered hyper_res, ur_res, factoring, and
% 0.20/0.38 unit deletion, with positive clauses in sos and nonpositive
% 0.20/0.38 clauses in usable.
% 0.20/0.38
% 0.20/0.38 dependent: set(knuth_bendix).
% 0.20/0.38 dependent: set(para_from).
% 0.20/0.38 dependent: set(para_into).
% 0.20/0.38 dependent: clear(para_from_right).
% 0.20/0.38 dependent: clear(para_into_right).
% 0.20/0.38 dependent: set(para_from_vars).
% 0.20/0.38 dependent: set(eq_units_both_ways).
% 0.20/0.38 dependent: set(dynamic_demod_all).
% 0.20/0.38 dependent: set(dynamic_demod).
% 0.20/0.38 dependent: set(order_eq).
% 0.20/0.38 dependent: set(back_demod).
% 0.20/0.38 dependent: set(lrpo).
% 0.20/0.38 dependent: set(hyper_res).
% 0.20/0.38 dependent: set(unit_deletion).
% 0.20/0.38 dependent: set(factor).
% 0.20/0.38
% 0.20/0.38 ------------> process usable:
% 0.20/0.38 Following clause subsumed by 72 during input processing: 0 [] {-} -eqangle(A,B,C,D,C,D,A,B)|perp(A,B,C,D)|para(A,B,C,D).
% 0.20/0.38
% 0.20/0.38 ------------> process sos:
% 0.20/0.38 Following clause subsumed by 165 during input processing: 0 [copy,165,flip.1] {-} A=A.
% 0.20/0.38 165 back subsumes 146.
% 0.20/0.38 165 back subsumes 145.
% 0.20/0.38 165 back subsumes 144.
% 0.20/0.38 165 back subsumes 143.
% 0.20/0.38
% 0.20/0.38 ======= end of input processing =======
% 0.20/0.44
% 0.20/0.44
% 0.20/0.44 Failed to model usable list: disabling FINDER
% 0.20/0.44
% 0.20/0.44
% 0.20/0.44
% 0.20/0.44 -------------- Softie stats --------------
% 0.20/0.44
% 0.20/0.44 UPDATE_STOP: 300
% 0.20/0.44 SFINDER_TIME_LIMIT: 2
% 0.20/0.44 SHORT_CLAUSE_CUTOFF: 4
% 0.20/0.44 number of clauses in intial UL: 154
% 0.20/0.44 number of clauses initially in problem: 161
% 0.20/0.44 percentage of clauses intially in UL: 95
% 0.20/0.44 percentage of distinct symbols occuring in initial UL: 87
% 0.20/0.44 percent of all initial clauses that are short: 100
% 0.20/0.44 absolute distinct symbol count: 41
% 0.20/0.44 distinct predicate count: 12
% 0.20/0.44 distinct function count: 20
% 0.20/0.44 distinct constant count: 9
% 0.20/0.44
% 0.20/0.44 ---------- no more Softie stats ----------
% 0.20/0.44
% 0.20/0.44
% 0.20/0.44
% 0.20/0.44 =========== start of search ===========
% 5.81/6.00
% 5.81/6.00
% 5.81/6.00 Changing weight limit from 60 to 56.
% 5.81/6.00
% 5.81/6.00 Resetting weight limit to 56 after 195 givens.
% 5.81/6.00
% 6.88/7.11
% 6.88/7.11
% 6.88/7.11 Changing weight limit from 56 to 55.
% 6.88/7.11
% 6.88/7.11 Resetting weight limit to 55 after 200 givens.
% 6.88/7.11
% 7.86/8.04
% 7.86/8.04
% 7.86/8.04 Changing weight limit from 55 to 54.
% 7.86/8.04
% 7.86/8.04 Resetting weight limit to 54 after 205 givens.
% 7.86/8.04
% 8.92/9.16
% 8.92/9.16
% 8.92/9.16 Changing weight limit from 54 to 52.
% 8.92/9.16
% 8.92/9.16 Resetting weight limit to 52 after 210 givens.
% 8.92/9.16
% 9.66/9.88
% 9.66/9.88
% 9.66/9.88 Changing weight limit from 52 to 51.
% 9.66/9.88
% 9.66/9.88 Resetting weight limit to 51 after 215 givens.
% 9.66/9.88
% 11.39/11.56
% 11.39/11.56
% 11.39/11.56 Changing weight limit from 51 to 50.
% 11.39/11.56
% 11.39/11.56 Resetting weight limit to 50 after 225 givens.
% 11.39/11.56
% 12.92/13.10
% 12.92/13.10
% 12.92/13.10 Changing weight limit from 50 to 46.
% 12.92/13.10
% 12.92/13.10 Resetting weight limit to 46 after 235 givens.
% 12.92/13.10
% 13.34/13.54
% 13.34/13.54
% 13.34/13.54 Changing weight limit from 46 to 45.
% 13.34/13.54
% 13.34/13.54 Resetting weight limit to 45 after 240 givens.
% 13.34/13.54
% 13.76/13.98
% 13.76/13.98
% 13.76/13.98 Changing weight limit from 45 to 34.
% 13.76/13.98
% 13.76/13.98 Resetting weight limit to 34 after 245 givens.
% 13.76/13.98
% 14.21/14.40
% 14.21/14.40
% 14.21/14.40 Changing weight limit from 34 to 33.
% 14.21/14.40
% 14.21/14.40 Resetting weight limit to 33 after 265 givens.
% 14.21/14.40
% 14.57/14.75
% 14.57/14.75
% 14.57/14.75 Changing weight limit from 33 to 31.
% 14.57/14.75
% 14.57/14.75 Modelling stopped after 300 given clauses and 0.00 seconds
% 14.57/14.75
% 14.57/14.75
% 14.57/14.75 Resetting weight limit to 31 after 325 givens.
% 14.57/14.75
% 14.83/15.00
% 14.83/15.00
% 14.83/15.00 Changing weight limit from 31 to 30.
% 14.83/15.00
% 14.83/15.00 Resetting weight limit to 30 after 385 givens.
% 14.83/15.00
% 15.44/15.67
% 15.44/15.67
% 15.44/15.67 Changing weight limit from 30 to 29.
% 15.44/15.67
% 15.44/15.67 Resetting weight limit to 29 after 540 givens.
% 15.44/15.67
% 15.81/16.00
% 15.81/16.00
% 15.81/16.00 Changing weight limit from 29 to 26.
% 15.81/16.00
% 15.81/16.00 Resetting weight limit to 26 after 595 givens.
% 15.81/16.00
% 15.81/16.06
% 15.81/16.06
% 15.81/16.06 Changing weight limit from 26 to 21.
% 15.81/16.06
% 15.81/16.06 Resetting weight limit to 21 after 635 givens.
% 15.81/16.06
% 15.92/16.08
% 15.92/16.08
% 15.92/16.08 Changing weight limit from 21 to 18.
% 15.92/16.08
% 15.92/16.08 Resetting weight limit to 18 after 650 givens.
% 15.92/16.08
% 16.26/16.51
% 16.26/16.51
% 16.26/16.51 Changing weight limit from 18 to 17.
% 16.26/16.51
% 16.26/16.51 Resetting weight limit to 17 after 945 givens.
% 16.26/16.51
% 16.36/16.59
% 16.36/16.59
% 16.36/16.59 Changing weight limit from 17 to 16.
% 16.36/16.59
% 16.36/16.59 Resetting weight limit to 16 after 950 givens.
% 16.36/16.59
% 16.43/16.64
% 16.43/16.64
% 16.43/16.64 Changing weight limit from 16 to 15.
% 16.43/16.64
% 16.43/16.64 Resetting weight limit to 15 after 990 givens.
% 16.43/16.64
% 16.43/16.64
% 16.43/16.64
% 16.43/16.64 Changing weight limit from 15 to 14.
% 16.43/16.64
% 16.43/16.64 Resetting weight limit to 14 after 995 givens.
% 16.43/16.64
% 17.06/17.26
% 17.06/17.26
% 17.06/17.26 Changing weight limit from 14 to 12.
% 17.06/17.26
% 17.06/17.26 Resetting weight limit to 12 after 1060 givens.
% 17.06/17.26
% 17.11/17.33
% 17.11/17.33
% 17.11/17.33 Changing weight limit from 12 to 11.
% 17.11/17.33
% 17.11/17.33 Resetting weight limit to 11 after 1100 givens.
% 17.11/17.33
% 17.58/17.75
% 17.58/17.75
% 17.58/17.75 Changing weight limit from 11 to 10.
% 17.58/17.75
% 17.58/17.75 Resetting weight limit to 10 after 1460 givens.
% 17.58/17.75
% 18.93/19.12
% 18.93/19.12
% 18.93/19.12 Changing weight limit from 10 to 9.
% 18.93/19.12
% 18.93/19.12 Resetting weight limit to 9 after 1650 givens.
% 18.93/19.12
% 20.22/20.40
% 20.22/20.40 -- HEY sandbox2, WE HAVE A PROOF!! --
% 20.22/20.40
% 20.22/20.40 ----> UNIT CONFLICT at 19.89 sec ----> 36169 [binary,36168.1,113.1] {-} $F.
% 20.22/20.40
% 20.22/20.40 Length of proof is 75. Level of proof is 17.
% 20.22/20.40
% 20.22/20.40 ---------------- PROOF ----------------
% 20.22/20.40 % SZS status Theorem
% 20.22/20.40 % SZS output start Refutation
% 20.22/20.40
% 20.22/20.40 1 [] {+} -coll(A,B,C)|coll(A,C,B).
% 20.22/20.40 2 [] {+} -coll(A,B,C)|coll(B,A,C).
% 20.22/20.40 3 [] {+} -coll(A,B,C)| -coll(A,B,D)|coll(C,D,A).
% 20.22/20.40 7 [] {+} -perp(A,B,C,D)|perp(A,B,D,C).
% 20.22/20.40 8 [] {+} -perp(A,B,C,D)|perp(C,D,A,B).
% 20.22/20.40 9 [] {+} -perp(A,B,C,D)| -perp(C,D,E,F)|para(A,B,E,F).
% 20.22/20.40 10 [] {+} -para(A,B,C,D)| -perp(C,D,E,F)|perp(A,B,E,F).
% 20.22/20.40 14 [] {+} -cyclic(A,B,C,D)|cyclic(A,B,D,C).
% 20.22/20.40 15 [] {+} -cyclic(A,B,C,D)|cyclic(A,C,B,D).
% 20.22/20.40 16 [] {+} -cyclic(A,B,C,D)|cyclic(B,A,C,D).
% 20.22/20.40 17 [] {+} -cyclic(A,B,C,D)| -cyclic(A,B,C,E)|cyclic(B,C,D,E).
% 20.22/20.40 40 [] {+} -para(A,B,C,D)|eqangle(A,B,E,F,C,D,E,F).
% 20.22/20.40 43 [] {+} -eqangle(A,B,A,C,D,B,D,C)| -coll(A,D,C)|cyclic(B,C,A,D).
% 20.22/20.40 44 [] {+} -cyclic(A,B,C,D)| -cyclic(A,B,C,E)| -cyclic(A,B,C,F)| -eqangle(C,A,C,B,F,D,F,E)|cong(A,B,D,E).
% 20.22/20.40 45 [] {+} -midp(A,B,C)| -midp(D,B,E)|para(A,D,C,E).
% 20.22/20.40 46 [] {+} -midp(A,B,C)| -para(A,D,C,E)| -coll(D,B,E)|midp(D,B,E).
% 20.22/20.40 57 [] {+} -cong(A,B,C,B)| -cong(A,D,C,D)|perp(A,C,B,D).
% 20.22/20.40 58 [] {+} -cong(A,B,C,B)| -cong(A,D,C,D)| -cyclic(A,C,B,D)|perp(B,A,A,D).
% 20.22/20.40 65 [] {+} -midp(A,B,C)| -para(B,D,C,E)| -para(B,E,C,D)|midp(A,D,E).
% 20.22/20.40 67 [] {+} -para(A,B,A,C)|coll(A,B,C).
% 20.22/20.40 68 [] {+} -cong(A,B,A,C)| -coll(A,B,C)|midp(A,B,C).
% 20.22/20.40 69 [] {+} -midp(A,B,C)|cong(A,B,A,C).
% 20.22/20.40 113 [] {+} -para($c9,$c6,$c8,$c5).
% 20.22/20.40 114 [factor,3.1.2] {+} -coll(A,B,C)|coll(C,C,A).
% 20.22/20.40 120 [factor,17.1.2] {+} -cyclic(A,B,C,D)|cyclic(B,C,D,D).
% 20.22/20.40 121 [factor,44.1.2] {+} -cyclic(A,B,C,D)| -cyclic(A,B,C,E)| -eqangle(C,A,C,B,E,D,E,D)|cong(A,B,D,D).
% 20.22/20.40 123 [factor,44.2.3] {+} -cyclic(A,B,C,D)| -cyclic(A,B,C,E)| -eqangle(C,A,C,B,E,D,E,E)|cong(A,B,D,E).
% 20.22/20.40 129 [factor,65.2.3] {+} -midp(A,B,C)| -para(B,D,C,D)|midp(A,D,D).
% 20.22/20.40 161 [] {-} perp($c9,$c7,$c7,$c6).
% 20.22/20.40 162 [] {-} perp($c9,$c8,$c8,$c6).
% 20.22/20.40 163 [] {-} coll($c7,$c9,$c5).
% 20.22/20.40 183 [hyper,163,114] {-} coll($c5,$c5,$c7).
% 20.22/20.40 184 [hyper,163,2] {-} coll($c9,$c7,$c5).
% 20.22/20.40 185 [hyper,163,1] {-} coll($c7,$c5,$c9).
% 20.22/20.40 198 [hyper,183,114] {-} coll($c7,$c7,$c5).
% 20.22/20.40 212 [hyper,184,114] {-} coll($c5,$c5,$c9).
% 20.22/20.40 213 [hyper,184,1] {-} coll($c9,$c5,$c7).
% 20.22/20.40 243 [hyper,185,114] {-} coll($c9,$c9,$c7).
% 20.22/20.40 257 [hyper,198,1] {-} coll($c7,$c5,$c7).
% 20.22/20.40 284 [hyper,212,114] {-} coll($c9,$c9,$c5).
% 20.22/20.40 298 [hyper,161,8] {-} perp($c7,$c6,$c9,$c7).
% 20.22/20.40 316 [hyper,213,114] {-} coll($c7,$c7,$c9).
% 20.22/20.40 330 [hyper,243,1] {-} coll($c9,$c7,$c9).
% 20.22/20.40 356 [hyper,257,114] {-} coll($c7,$c7,$c7).
% 20.22/20.40 374 [hyper,162,8] {-} perp($c8,$c6,$c9,$c8).
% 20.22/20.40 483 [hyper,330,114] {-} coll($c9,$c9,$c9).
% 20.22/20.40 485 [hyper,330,2] {-} coll($c7,$c9,$c9).
% 20.22/20.40 858 [hyper,298,9,161] {-} para($c9,$c7,$c9,$c7).
% 20.22/20.40 859 [hyper,298,9,161] {-} para($c7,$c6,$c7,$c6).
% 20.22/20.40 860 [hyper,298,7] {-} perp($c7,$c6,$c7,$c9).
% 20.22/20.40 895 [hyper,374,9,162] {-} para($c9,$c8,$c9,$c8).
% 20.22/20.40 1053 [hyper,858,40] {-} eqangle($c9,$c7,A,B,$c9,$c7,A,B).
% 20.22/20.40 1071 [hyper,859,67] {-} coll($c7,$c6,$c6).
% 20.22/20.40 1072 [hyper,859,40] {-} eqangle($c7,$c6,A,B,$c7,$c6,A,B).
% 20.22/20.40 1089 [hyper,1071,114] {-} coll($c6,$c6,$c7).
% 20.22/20.40 1104 [hyper,1089,114] {-} coll($c7,$c7,$c6).
% 20.22/20.40 1245 [hyper,1104,3,356] {-} coll($c6,$c7,$c7).
% 20.22/20.40 1246 [hyper,1104,3,316] {-} coll($c6,$c9,$c7).
% 20.22/20.40 1427 [hyper,1246,1] {-} coll($c6,$c7,$c9).
% 20.22/20.40 1585 [hyper,1427,114] {-} coll($c9,$c9,$c6).
% 20.22/20.40 2362 [hyper,860,8] {-} perp($c7,$c9,$c7,$c6).
% 20.22/20.40 4579 [hyper,2362,9,860] {-} para($c7,$c9,$c7,$c9).
% 20.22/20.40 15104 [hyper,1053,43,1585] {-} cyclic($c7,$c6,$c9,$c9).
% 20.22/20.40 15106 [hyper,1053,43,483] {-} cyclic($c7,$c9,$c9,$c9).
% 20.22/20.40 15107 [hyper,1053,43,284] {-} cyclic($c7,$c5,$c9,$c9).
% 20.22/20.40 15108 [hyper,1053,43,243] {-} cyclic($c7,$c7,$c9,$c9).
% 20.22/20.40 15115 [hyper,15104,16] {-} cyclic($c6,$c7,$c9,$c9).
% 20.22/20.40 15121 [hyper,15107,15] {-} cyclic($c7,$c9,$c5,$c9).
% 20.22/20.40 15132 [hyper,1072,43,1104] {-} cyclic($c6,$c6,$c7,$c7).
% 20.22/20.40 15134 [hyper,1072,43,356] {-} cyclic($c6,$c7,$c7,$c7).
% 20.22/20.40 15135 [hyper,1072,43,316] {-} cyclic($c6,$c9,$c7,$c7).
% 20.22/20.40 15139 [hyper,15108,15] {-} cyclic($c7,$c9,$c7,$c9).
% 20.22/20.40 15150 [hyper,15115,15] {-} cyclic($c6,$c9,$c7,$c9).
% 20.22/20.40 15164 [hyper,15121,16] {-} cyclic($c9,$c7,$c5,$c9).
% 20.22/20.40 15173 [hyper,15132,15] {-} cyclic($c6,$c7,$c6,$c7).
% 20.22/20.40 15176 [hyper,15135,120] {-} cyclic($c9,$c7,$c7,$c7).
% 20.22/20.40 15197 [hyper,15139,16] {-} cyclic($c9,$c7,$c7,$c9).
% 20.22/20.40 15198 [hyper,15139,14] {-} cyclic($c7,$c9,$c9,$c7).
% 20.22/20.40 15226 [hyper,15150,17,15135] {-} cyclic($c9,$c7,$c9,$c7).
% 20.22/20.40 15282 [hyper,15164,14] {-} cyclic($c9,$c7,$c9,$c5).
% 20.22/20.40 15302 [hyper,15173,14] {-} cyclic($c6,$c7,$c7,$c6).
% 20.22/20.40 15337 [hyper,15197,17,15176] {-} cyclic($c7,$c7,$c9,$c7).
% 20.22/20.40 15351 [hyper,15198,123,15106,1053] {-} cong($c7,$c9,$c7,$c9).
% 20.22/20.40 15453 [hyper,15282,120] {-} cyclic($c7,$c9,$c5,$c5).
% 20.22/20.40 15459 [hyper,15282,17,15226] {-} cyclic($c7,$c9,$c5,$c7).
% 20.22/20.40 15518 [hyper,15302,123,15134,1072] {-} cong($c6,$c7,$c6,$c7).
% 20.22/20.40 15578 [hyper,15337,121,15108,1053] {-} cong($c7,$c7,$c7,$c7).
% 20.22/20.40 15605 [hyper,15351,68,485] {-} midp($c7,$c9,$c9).
% 20.22/20.40 15614 [hyper,15605,129,895] {-} midp($c7,$c8,$c8).
% 20.22/20.40 15615 [hyper,15605,129,858] {-} midp($c7,$c7,$c7).
% 20.22/20.40 15632 [hyper,15614,69] {-} cong($c7,$c8,$c7,$c8).
% 20.22/20.40 15656 [hyper,15615,46,4579,330] {-} midp($c9,$c7,$c9).
% 20.22/20.40 16388 [hyper,15453,15] {-} cyclic($c7,$c5,$c9,$c5).
% 20.22/20.40 16416 [hyper,15459,15] {-} cyclic($c7,$c5,$c9,$c7).
% 20.22/20.40 16700 [hyper,15518,68,1245] {-} midp($c6,$c7,$c7).
% 20.22/20.40 16818 [hyper,16700,45,15656] {-} para($c9,$c6,$c9,$c7).
% 20.22/20.40 18409 [hyper,15578,58,15351,15337] {-} perp($c9,$c7,$c7,$c7).
% 20.22/20.40 19847 [hyper,16416,44,16388,15107,1053] {-} cong($c7,$c5,$c7,$c5).
% 20.22/20.40 27153 [hyper,18409,10,16818] {-} perp($c9,$c6,$c7,$c7).
% 20.22/20.40 30844 [hyper,19847,57,15632] {-} perp($c7,$c7,$c8,$c5).
% 20.22/20.40 36168 [hyper,30844,9,27153] {-} para($c9,$c6,$c8,$c5).
% 20.22/20.40 36169 [binary,36168.1,113.1] {-} $F.
% 20.22/20.40
% 20.22/20.40 % SZS output end Refutation
% 20.22/20.40 ------------ end of proof -------------
% 20.22/20.40
% 20.22/20.40
% 20.22/20.40 Search stopped by max_proofs option.
% 20.22/20.40
% 20.22/20.40
% 20.22/20.40 Search stopped by max_proofs option.
% 20.22/20.40
% 20.22/20.40 ============ end of search ============
% 20.22/20.40
% 20.22/20.40 That finishes the proof of the theorem.
% 20.22/20.40
% 20.22/20.40 Process 29331 finished Fri Jun 17 17:24:32 2022
%------------------------------------------------------------------------------