Built with Alectryon, running Coq+SerAPI v8.13.0+0.13.0. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use instead of Ctrl.
Notation "[ rel _ _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ : _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ & _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ | _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "[ rel _ _ in _ ]" was already used in scope fun_scope. [notation-overridden,parsing]
Notation "_ + _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ - _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ <= _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ < _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ >= _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ > _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ <= _ <= _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ < _ <= _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ <= _ < _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ < _ < _" was already used in scope nat_scope. [notation-overridden,parsing]
Notation "_ * _" was already used in scope nat_scope. [notation-overridden,parsing]
From hanoi Require Import extra star gdist lhanoi3 ghanoi ghanoi4 shanoi. From mathcomp Require Import zify. Open Scope nat_scope. Set Implicit Arguments. Unset Strict Implicit. (******************************************************************************) (* *) (* This file proves the formula that gives the distance between two perfect *) (* configurations for the star puzzle. It follows the proof given by Thierry *) (* Bousch in La tour de Stockmeyer *) (* *) (* *) (******************************************************************************) Ltac Zify.zify_post_hook ::= zify_ssreflect.SsreflectZifyInstances.divZ_modZ_to_equations. Section sHanoi4. Local Notation "c1 `-->_s c2" := (smove c1 c2) (format "c1 `-->_s c2", at level 60). Local Notation "c1 `-->*_s c2" := (connect smove c1 c2) (format "c1 `-->*_s c2", at level 60). (* the peg at the center is 0 *) Let p0 : peg 4 := ord0. (* specialize version *)
p0:=ord0:peg 4
p1, p2, p3, p:peg 4

p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> [\/ p = p0, p = p1, p = p2 | p = p3]
2
4
p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != ord0 -> p2 != ord0 -> p3 != ord0 -> [\/ p = ord0, p = p1, p = p2 | p = p3]
by case: (peg4E p1) => ->; rewrite ?eqxx //; case: (peg4E p2) => ->; rewrite ?eqxx //; case: (peg4E p3) => ->; rewrite ?eqxx //; case: (peg4E p) => ->; rewrite ?eqxx // => *; try ((by apply: Or41) || (by apply: Or42) || (by apply: Or43) || (by apply: Or44)). Qed. (* Lifting lhanoi3 to shanoi4 *) Section lift. Variable p1 p2 p3 : peg 4. Hypothesis p1Dp0 : p1 != p0. Hypothesis p2Dp0 : p2 != p0. Hypothesis p3Dp0 : p3 != p0. Hypothesis p1Dp2 : p1 != p2. Hypothesis p1Dp3 : p1 != p3. Hypothesis p2Dp3 : p2 != p3. Variable n m : nat. Definition clmap (c : configuration 3 n) : configuration 4 n := [ffun i => if c i == 0 :> nat then p1 else if c i == 1 :> nat then p0 else p2]. Definition clmerge (c : configuration 3 n) : configuration 4 (n + m) := cmerge (clmap c) `c[p3].
5
p1, p2, p3:peg 4
p1Dp0:p1 != p0
p2Dp0:p2 != p0
p3Dp0:p3 != p0
p1Dp2:p1 != p2
p1Dp3:p1 != p3
p2Dp3:p2 != p3
n, m:nat
x:disk n
c:configuration 3 n

on_top (q:=3) (n:=n) x c -> on_top (q:=4) (n:=n + m) (tlshift m x) (clmerge c)
e
51112131415161718191a
oH:forall d1 : ordinal_finType n, c x = c d1 -> x <= d1
d:ordinal_finType (n + m)

clmerge c (tlshift m x) = clmerge c d -> tlshift m x <= d
20
clmap c x = match tsplit d with | inl j => clmap c j | inr j => `c[p3] j end -> x + m <= d
51112131415161718191a2122
y:'I_m

(if c x == 0 then p1 else if c x == 1 then p0 else p2) = p3 -> x + m <= y
51112131415161718191a2122
y:'I_n
(if c x == 0 then p1 else if c x == 1 then p0 else p2) = (if c y == 0 then p1 else if c y == 1 then p0 else p2) -> x + m <= y + m
2b
(if c x == 1 then p0 else p2) = p3 -> x + m <= y
2e
2b
p2 == p3 -> x + m <= y
2e
30
32
51112131415161718191a212231
cxE0:c x = 0

p1 = (if c y == 0 then p1 else if c y == 1 then p0 else p2) -> x + m <= y + m
51112131415161718191a212231
cxD0:c x <> 0
(if c x == 1 then p0 else p2) = (if c y == 0 then p1 else if c y == 1 then p0 else p2) -> x + m <= y + m
51112131415161718191a21223142
cyE0:c y = 0

x + m <= y + m
41
p1 = (if c y == 1 then p0 else p2) -> x + m <= y + m
45
41
51
44
46
48
51112131415161718191a21223147
cxE1:c x = 1

p0 = (if c y == 0 then p1 else if c y == 1 then p0 else p2) -> x + m <= y + m
51112131415161718191a21223147
cxD1:c x <> 1
p2 = (if c y == 0 then p1 else if c y == 1 then p0 else p2) -> x + m <= y + m
5b
p0 = (if c y == 1 then p0 else p2) -> x + m <= y + m
5e
51112131415161718191a212231475c
cyE1:c y = 1

4e
5b
p0 == p2 -> x + m <= y + m
5f
5b
6e
5e
60
62
51112131415161718191a2122314761
cxE2:c x = 2

62
78
p2 == p1 -> x + m <= y + m
51112131415161718191a212231476179
cyD0:c y <> 0
p2 = (if c y == 1 then p0 else p2) -> x + m <= y + m
80
82
80
p2 == p0 -> x + m <= y + m
51112131415161718191a21223147617981
cyD1:c y <> 1
4e
8c
4e
51112131415161718191a212231476179818d
cyE2:c y = 2

4e
by rewrite leq_add2r oH //; apply: val_inj; rewrite /= cyE2. Qed.
51112131415161718
c1, c2:configuration 3 n

lmove c1 c2 -> clmerge c1 `-->_s clmerge c2
97
511121314151617189a
d1:ordinal_finType n
H1d1:lrel (n:=3) (c1 d1) (c2 d1)
H2d1:forall d2 : ordinal_finType n, d1 != d2 -> c1 d2 = c2 d2
H3d1:on_top (q:=3) (n:=n) d1 c1
H4d1:on_top (q:=3) (n:=n) d1 c2

clmerge c1 `-->_s clmerge c2
a0
srel (n:=4) (clmerge c1 (tlshift m d1)) (clmerge c2 (tlshift m d1))
a0
forall d2 : ordinal_finType (n + m), tlshift m d1 != d2 -> clmerge c1 d2 = clmerge c2 d2
a0
on_top (q:=4) (n:=n + m) (tlshift m d1) (clmerge c1)
a0
on_top (q:=4) (n:=n + m) (tlshift m d1) (clmerge c2)
a8
511121314151617189aa1a3a4a5

lrel (n:=3) (c1 d1) (c2 d1) -> srel (n:=4) (if c1 d1 == 0 then p1 else if c1 d1 == 1 then p0 else p2) (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2)
ab
b6
((c1 d1).+1 == c2 d1) || ((c2 d1).+1 == c1 d1) -> ((if c1 d1 == 0 then p1 else if c1 d1 == 1 then p0 else p2) != (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2)) && ((if c1 d1 == 0 then p1 else if c1 d1 == 1 then p0 else p2) * (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2) == 0)
ab
b6
0 < 3 -> (1 == c2 d1) || ((c2 d1).+1 == 0) -> (p1 != (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2)) && (p1 * (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2) == 0)
b6
1 < 3 -> (2 == c2 d1) || ((c2 d1).+1 == 1) -> (p0 != (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2)) && (0 * (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2) == 0)
b6
2 < 3 -> (3 == c2 d1) || ((c2 d1).+1 == 2) -> (p2 != (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2)) && (p2 * (if c2 d1 == 0 then p1 else if c2 d1 == 1 then p0 else p2) == 0)
acaeb0
bd
b6
1 < 3 -> 0 < 3 -> true -> (p1 != p0) && (p1 * 0 == 0)
c0
b6
c2
c3acaeb0
cb
b6
(p0 != p1) && (0 * p1 == 0)
b6
(p0 != p2) && (0 * p2 == 0)
c3acaeb0
b6
d5
cd
b6
c4
ab
b6
(p2 != p0) && (p2 * 0 == 0)
ab
a0
ad
aeb0
e1
511121314151617189aa1a2a3a4a5
d2:ordinal_finType (n + m)
j:'I_n

d2 = j + m -> tlshift m d1 != d2 -> (if c1 j == 0 then p1 else if c1 j == 1 then p0 else p2) = (if c2 j == 0 then p1 else if c2 j == 1 then p0 else p2)
e3
511121314151617189aa1a2a3a4a5e9ea
d2E:d2 = j + m

val (tlshift m d1) != val d2 -> (if c1 j == 0 then p1 else if c1 j == 1 then p0 else p2) = (if c2 j == 0 then p1 else if c2 j == 1 then p0 else p2)
e3
511121314151617189aa1a2a3a4a5e9eaf0
H:d1 != j

(if c1 j == 0 then p1 else if c1 j == 1 then p0 else p2) = (if c2 j == 0 then p1 else if c2 j == 1 then p0 else p2)
e3
a0
af
b0
f9
a0
b1
by apply: on_top_clmerge. Qed.
511121314151617181a
cs:seq (configuration 3 n)

path (move (q:=3) (lrel (n:=3))) c cs -> path smove (clmerge c) [seq clmerge c | c <- cs]
101
51112131415161718
c1:configuration 3 n
104
IH:forall c : configuration 3 n, path (move (q:=3) (lrel (n:=3))) c cs -> path smove (clmerge c) [seq clmerge c0 | c0 <- cs]
c2:configuration 3 n
mH:move (q:=3) (lrel (n:=3)) c2 c1
pH:path (move (q:=3) (lrel (n:=3))) c1 cs

(clmerge c2 `-->_s clmerge c1) && path smove (clmerge c1) [seq clmerge c | c <- cs]
by rewrite move_clmerge // IH. Qed.
99
`d[clmerge c1, clmerge c2]_smove <= `d[c1, c2]_(move (q:=3) (lrel (n:=3)))
112
511121314151617189a
pa1:seq (finfun_finType (ordinal_finType n) (ordinal_finType 3))
pa1H:gpath lmove c1 c2 pa1

114
119
`d[clmerge c1, clmerge c2]_smove <= size [seq clmerge i | i <- pa1]
119
last (clmerge c1) [seq clmerge i | i <- pa1] = clmerge c2
by rewrite [LHS]last_map (gpath_last pa1H). Qed. End lift. (* We first prove the lower bound *)
5
p1, p2:ordinal_eqType 4
n:nat

p1 != p0 -> p2 != p0 -> p1 != p2 -> `d[`c[p1 , n], `c[p2 , n]]_smove <= (S_[1] n).*2
125
5
IH:forall m : nat, m < 0 -> forall p1 p2 : ordinal_eqType 4, p1 != p0 -> p2 != p0 -> p1 != p2 -> `d[`c[p1], `c[p2]]_smove <= (S_[1] m).*2
128121315

`d[`c[p1], `c[p2]]_smove <= (S_[1] 0).*2
5129
IH:forall m : nat, m < n.+1 -> forall p1 p2 : ordinal_eqType 4, p1 != p0 -> p2 != p0 -> p1 != p2 -> `d[`c[p1], `c[p2]]_smove <= (S_[1] m).*2
128121315
`d[`c[p1], `c[p2]]_smove <= (S_[1] n.+1).*2
12f
`d[`c[p1], `c[p2]]_smove <= 0
132
12f
`c[p1] = `c[p2]
132
134
136
134
`d[`c[p1], `c[p2]]_smove <= \min_(i <= n) ((S1 i).*2 + ((3 ^ (n.+1 - i)).-1)./2) * 2
5129135128121315
i:nat
iLn:i <= n

`d[`c[p1], `c[p2]]_smove <= ((S1 i).*2 + ((3 ^ (n.+1 - i)).-1)./2) * 2
512913512812131514a14b
iLn1:i <= n.+1

14c
14e
5129135128121514a14b151
p2Dp0:p0 != p2

14c
5129135128121514a14b151157
p3:peg 4
p3Dp2:p3 != p2
14
p3Dp1:p3 != p1

14c
5129135128121514a14b15115c15d1415e13

14c
5129135128121514a14b15115c15d1415e13
p1n:=`c[p1 , n.+1 - i]:configuration 4 (n.+1 - i)

14c
5129135128121514a14b15115c15d1415e13167
p2n:=`c[p2 , n.+1 - i]:configuration 4 (n.+1 - i)

14c
5129135128121514a14b15115c15d1415e1316716c
p3n:=`c[p3 , n.+1 - i]:configuration 4 (n.+1 - i)

14c
5129135128121514a14b15115c15d1415e1316716c171
p1i:=`c[p1 , i]:configuration 4 i

14c
5129135128121514a14b15115c15d1415e1316716c171176
p2i:=`c[p2 , i]:configuration 4 i

14c
5129135128121514a14b15115c15d1415e1316716c17117617b
p3i:=`c[p3 , i]:configuration 4 i

14c
5129135128121514a14b15115c15d1415e1316716c17117617b180
c1:=cmerge (q:=4) (m:=n.+1 - i) (n:=i) p1n p1i:{ffun forall x : ordinal_finType (n.+1 - i + i), (fun=> peg 4) x}

14c
5129135128121514a14b15115c15d1415e1316716c17117617b180185
c2:=cmerge (q:=4) (m:=n.+1 - i) (n:=i) p1n p3i:{ffun forall x : ordinal_finType (n.+1 - i + i), (fun=> peg 4) x}

14c
5129135128121514a14b15115c15d1415e1316716c17117617b18018518a
c3:=cmerge (q:=4) (m:=n.+1 - i) (n:=i) p2n p3i:{ffun forall x : ordinal_finType (n.+1 - i + i), (fun=> peg 4) x}

14c
5129135128121514a14b15115c15d1415e1316716c17117617b18018518a18f
c4:=cmerge (q:=4) (m:=n.+1 - i) (n:=i) p2n p2i:{ffun forall x : ordinal_finType (n.+1 - i + i), (fun=> peg 4) x}

14c
193
c1 = `c[p1]
193
`d[c1, `c[p2]]_smove <= ((S1 i).*2 + ((3 ^ (n.+1 - i)).-1)./2) * 2
5129135128121514a14b15115c15d1415e1316716c17117617b18018518a18f194
j:ordinal_finType (n.+1 - i + i)

match tsplit j with | inl j => p1n j | inr j => p1i j end = p1
199
193
19b
193
c4 = `c[p2]
193
`d[c1, c4]_smove <= ((S1 i).*2 + ((3 ^ (n.+1 - i)).-1)./2) * 2
19f
match tsplit j with | inl j => p2n j | inr j => p2i j end = p2
1a9
193
1ab
193
`d[c1, c4]_smove <= `d[c1, c2]_smove + `d[c2, c3]_smove + `d[c3, c4]_smove
193
`d[c1, c2]_smove + `d[c2, c3]_smove + `d[c3, c4]_smove <= ((S1 i).*2 + ((3 ^ (n.+1 - i)).-1)./2) * 2
193
`d[c1, c4]_smove <= `d[c1, c3]_smove + `d[c3, c4]_smove
1b7
193
1b9
193
`d[c1, c2]_smove + `d[c2, c3]_smove + `d[c3, c4]_smove <= (S1 i).*2 + (((3 ^ (n.+1 - i)).-1)./2).*2 + (S1 i).*2
193
`d[c3, c4]_smove <= (S1 i).*2
193
`d[c1, c2]_smove <= (S1 i).*2
193
`d[c2, c3]_smove <= (((3 ^ (n.+1 - i)).-1)./2).*2
1c6
193
connect (move (q:=4) (srel (n:=4))) p3i p2i
193
`d[p3i, p2i]_(move (q:=4) (srel (n:=4))) <= (S1 i).*2
1ca1cc
193
1d5
1c9
193
1cb
1cc
1da
193
connect (move (q:=4) (srel (n:=4))) p1i p3i
193
`d[p1i, p3i]_(move (q:=4) (srel (n:=4))) <= (S1 i).*2
1cc
193
1e4
1dc
193
1cd
193
~~ odd (3 ^ (n.+1 - i)).-1
193
`d[c2, c3]_smove <= (3 ^ (n.+1 - i)).-1
193
~~ ~~ odd (3 ^ (n.+1 - i))
1ef
193
1f1
193
c2 = clmerge p1 p2 p3 (n:=n.+1 - i) i `c[ord0]
193
`d[clmerge p1 p2 p3 (n:=n.+1 - i) i `c[ord0], c3]_smove <= (3 ^ (n.+1 - i)).-1
5129135128121514a14b15115c15d1415e1316716c17117617b18018518a18f194
x:ordinal_finType (n.+1 - i + i)

match tsplit x with | inl j => p1n j | inr j => p3i j end = match tsplit x with | inl j => clmap p1 p2 (n:=n.+1 - i) `c[ord0] j | inr j => `c[p3] j end
1fd
193
1ff
193
c3 = clmerge p1 p2 p3 (n:=n.+1 - i) i `c[inord 2]
193
`d[clmerge p1 p2 p3 (n:=n.+1 - i) i `c[ord0], clmerge p1 p2 p3 (n:=n.+1 - i) i `c[ inord 2]]_smove <= (3 ^ (n.+1 - i)).-1
203
match tsplit x with | inl j => p2n j | inr j => p3i j end = match tsplit x with | inl j => clmap p1 p2 (n:=n.+1 - i) `c[inord 2] j | inr j => `c[p3] j end
20d
193
`d[clmerge p1 p2 p3 (n:=n.+1 - i) i `c[ord0], clmerge p1 p2 p3 (n:= n.+1 - i) i `c[ inord 2]]_smove <= (3 ^ (n.+1 - i)).-1
193
`d[`c[ord0], `c[inord 2]]_(move (q:=3) (lrel (n:=3))) <= (3 ^ (n.+1 - i)).-1
193
(3 ^ (n.+1 - i)).-1 * (ord0 != inord 2) <= (3 ^ (n.+1 - i)).-1
193
ord0 <> inord 2 -> (3 ^ (n.+1 - i)).-1 * ~~ false <= (3 ^ (n.+1 - i)).-1
by rewrite muln1. Qed. (* *) (* Distance for a list *) Fixpoint distanceL n (l : seq (configuration 4 n)) : nat := if l is a :: l1 then if l1 is b :: _ then `d[a, b]_smove + distanceL l1 else 0 else 0. Notation " D[ l ] " := (distanceL l) (format " D[ l ]"). (* Alternating peg : depending on the parity of n it is p1 or p2 *) Definition apeg p1 p2 n : peg 4 := if odd n then p2 else p1. Notation " a[ p1 , p2 ] " := (apeg p1 p2) (format " a[ p1 , p2 ]").
5
a:nat
p1, p2:peg 4

a[p1, p2] (3 * a).-2 = a[p1, p2] a
225
5229228

a[p1, p2] (3 * a.+1).-2 = a[p1, p2] a.+1
22f
(if odd (3 * a.+1) (+) odd 2 then p2 else p1) = (if odd a.+1 then p2 else p1)
by rewrite oddM /=; case: odd. Qed.
5229

a[p1, p2] 0 = p1
236
by []. Qed.
5229129

a[p1, p2] n.+1 = a[p2, p1] n
23c
by rewrite /apeg /=; case: odd. Qed.
23e
a[p1, p2] n = a[p2, p1] (~~ odd n)
242
by rewrite /apeg /=; case: odd. Qed.
23e
a[p1, p2] n.*2 = p1
247
by rewrite apegO odd_double. Qed.
5
p1, p2, p3:ordinal_eqType 4
129

p1 != p3 -> p2 != p3 -> a[p1, p2] n != p3
24c
by rewrite /apeg /=; case: odd; rewrite // eq_sym. Qed.
23e
( a[p1, p2] n == a[p2, p1] n) = (p1 == p2)
253
by rewrite /apeg /=; case: odd; rewrite // eq_sym. Qed.
5229
m, n:nat

a[p1, p2] (m + n) = a[ a[p1, p2] n, a[p2, p1] n] m
258
by rewrite /apeg oddD; do 2 case: odd. Qed.
25a
odd m -> a[p1, p2] (m * n) = a[p1, p2] n
25f
by rewrite /apeg; rewrite oddM => ->. Qed.
5
A:finType
f:{ffun A -> ordinal_finType 4}
229129

(codom f \subset [:: a[p1, p2] n; a[p2, p1] n]) = (codom f \subset [:: p1; p2])
264
by rewrite /apeg; case: odd; rewrite // codom_subC. Qed. (* This is lemma 2.1 *)
5129
p2:peg 4
u, v:configuration 4 n.+1
p1:=u ldisk:peg 4
p3:=v ldisk:peg 4

{st : configuration 4 n * configuration 4 n | p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; st.1; st.2; ↓[v]]].+2]}
26c
512926f27027127215

{st : configuration 4 n * configuration 4 n | ~~ false -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; st.1; st.2; ↓[v]]].+2]}
512926f2702712721516

{st : configuration 4 n * configuration 4 n | ~~ false -> ~~ false -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; st.1; st.2; ↓[v]]].+2]}
512926f270271272151617

{st : configuration 4 n * configuration 4 n | ~~ false -> ~~ false -> ~~ false -> p1 != p0 -> p2 != p0 -> p3 != p0 -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; st.1; st.2; ↓[v]]].+2]}
512926f27027127215161712

{st : configuration 4 n * configuration 4 n | ~~ false -> ~~ false -> ~~ false -> ~~ false -> p2 != p0 -> p3 != p0 -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; st.1; st.2; ↓[v]]].+2]}
512926f2702712721516171213

{st : configuration 4 n * configuration 4 n | ~~ false -> ~~ false -> ~~ false -> ~~ false -> ~~ false -> p3 != p0 -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; st.1; st.2; ↓[v]]].+2]}
512926f270271272151617121314

{st : configuration 4 n * configuration 4 n | ~~ false -> ~~ false -> ~~ false -> ~~ false -> ~~ false -> ~~ false -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; st.1; st.2; ↓[v]]].+2]}
512926f270271272151617121314
pE:forall p : peg 4, [\/ p = p0, p = p1, p = p2 | p = p3]

292
512926f270271272151617121314297
cs:seq (finfun_finType (ordinal_finType n.+1) (ordinal_finType 4))
csH:gpath smove u v cs

{st : configuration 4 n * configuration 4 n | true -> true -> true -> true -> true -> true -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = (`d[↓[u], st.1]_smove + (`d[st.1, st.2]_smove + (`d[st.2, ↓[v]]_smove + 0))).+2]}
29b
v \in cs
512926f27027127215161712131429729c29d
vIcs:v \in cs
29e
29b
v \in u :: cs -> v \in cs
2a3
512926f27027127215161712131429729c29d
vEu:v = u

true || (v \in cs) -> v \in cs
2a3
2a5
29e
2a5
~~ all [predC fun c : finfun_finType (ordinal_finType n.+1) (ordinal_finType 4) => c ldisk != p1] cs
512926f27027127215161712131429729c29d2a6
sp:finfun_finType (ordinal_finType n.+1) (ordinal_finType 4)
cs1, cs2:seq (finfun_finType (ordinal_finType n.+1) (ordinal_finType 4))
[/\ all [predC fun c : finfun_finType (ordinal_finType n.+1) (ordinal_finType 4) => c ldisk != p1] (sp, cs1, cs2).1.2, (sp, cs1, cs2).1.1 ldisk != p1 & cs = (sp, cs1, cs2).1.2 ++ (sp, cs1, cs2).1.1 :: (sp, cs1, cs2).2] -> {st : configuration 4 n * configuration 4 n | true -> true -> true -> true -> true -> true -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = (`d[↓[u], st.1]_smove + (`d[st.1, st.2]_smove + (`d[st.2, ↓[v]]_smove + 0))).+2]}
2a5
[predC fun c : finfun_finType (ordinal_finType n.+1) (ordinal_finType 4) => c ldisk != p1] v -> False
2b8
2a5
v ldisk == p1 -> False
2b8
2ba
[/\ all [predC fun c : finfun_finType (ordinal_finType n.+1) (ordinal_finType 4) => c ldisk != p1] (sp, cs1, cs2).1.2, (sp, cs1, cs2).1.1 ldisk != p1 & cs = (sp, cs1, cs2).1.2 ++ (sp, cs1, cs2).1.1 :: (sp, cs1, cs2).2] -> {st : configuration 4 n * configuration 4 n | true -> true -> true -> true -> true -> true -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = (`d[↓[u], st.1]_smove + (`d[st.1, st.2]_smove + (`d[st.2, ↓[v]]_smove + 0))).+2]}
512926f27027127215161712131429729c29d2a62bb2bc
spH:{in (sp, cs1, cs2).1.2, forall x : finfun_finType (ordinal_finType n.+1) (ordinal_finType 4), [predC fun c : finfun_finType (ordinal_finType n.+1) (ordinal_finType 4) => c ldisk != p1] x}
spLE:(sp, cs1, cs2).1.1 ldisk != p1
csE:cs = (sp, cs1, cs2).1.2 ++ (sp, cs1, cs2).1.1 :: (sp, cs1, cs2).2

29e
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d0
s:=last u cs1:configuration 4 n.+1

29e
2d4
s `-->_s sp
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d5
sMsp:s `-->_s sp
29e
2dc
29e
2dc
s ldisk = p1
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd
sLp1:s ldisk = p1
29e
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd
c:{ffun 'I_n.+1 -> 'I_4}
cs3:seq {ffun 'I_n.+1 -> 'I_4}

last c cs3 \notin (fun c : {ffun 'I_n.+1 -> 'I_4} => c ldisk != p1) -> last c cs3 ldisk = p1
2e5
2e7
29e
2e7
sp ldisk = p0
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e8
spLp0:sp ldisk = p0
29e
2e7
sp ldisk == p0
2f7
2e7
(s ldisk != sp ldisk -> srel (n:=4) (s ldisk) (sp ldisk)) -> sp ldisk == p0
2f7
2e7
p1 != sp ldisk -> p1 * sp ldisk == 0 -> sp ldisk == p0
2f7
2e7
sp ldisk != 0 -> p1 != sp ldisk -> p1 * sp ldisk == 0 -> false
2f7
2e7
p1 != 0 -> sp ldisk != 0 -> p1 != sp ldisk -> p1 * sp ldisk == 0 -> false
2f7
2f9
29e
2f9
codom ↓[s] \subset [:: p2; p3]
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa
sCd:codom ↓[s] \subset [:: p2; p3]
29e
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa
i:ordinal_finType 4
j:ordinal_finType n

(↓[s] j == p2) || (↓[s] j == p3)
316
31d
↓[s] j = p0 -> (↓[s] j == p2) || (↓[s] j == p3)
31d
↓[s] j = p1 -> (↓[s] j == p2) || (↓[s] j == p3)
317
31d
s (lift ord_max j) = p0 -> (s (lift ord_max j) == p2) || (s (lift ord_max j) == p3)
325
31d
s (lift ord_max j) != sp ldisk
325
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52e82fa31e31f

lift ord_max j <= ldisk
325
31d
327
316
31d
s (lift ord_max j) = p1 -> (s (lift ord_max j) == p2) || (s (lift ord_max j) == p3)
316
31d
s (lift ord_max j) != s ldisk
316
333
lift ord_max j < ldisk
316
318
29e
318
v \in cs2
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa319
vIcs2:v \in cs2
29e
512926f27027127215161712131429729c29d2bb2bc2ce2cf2d02d52dd2e82fa319

v \in (sp, cs1, cs2).1.2 -> v \in cs2
512926f27027127215161712131429729c29d2bb2bc2ce2cf2d02d52dd2e82fa319
vEs:v = (sp, cs1, cs2).1.1
34a
34c
356
34a
34b
34d
29e
34d
~~ all [predC fun c : finfun_finType (ordinal_finType n.+1) (ordinal_finType 4) => c ldisk != p3] (sp :: cs2)
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e
t:{ffun 'I_n.+1 -> 'I_4}
cs3, cs4:seq {ffun 'I_n.+1 -> 'I_4}
[/\ t ldisk != p3, all [predC fun c : {ffun 'I_n.+1 -> 'I_4} => c ldisk != p3] cs4 & sp :: cs2 = cs3 ++ t :: cs4] -> {st : configuration 4 n * configuration 4 n | true -> true -> true -> true -> true -> true -> [/\ codom st.1 \subset [:: p2; p3], codom st.2 \subset [:: p1; p2] & `d[u, v]_smove = (`d[↓[u], st.1]_smove + (`d[st.1, st.2]_smove + (`d[st.2, ↓[v]]_smove + 0))).+2]}
34d
[predC fun c : finfun_finType (ordinal_finType n.+1) (ordinal_finType 4) => c ldisk != p3] sp -> False
362
364
367
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e365366
tLE:t ldisk != p3
tH:all [predC fun c : {ffun 'I_n.+1 -> 'I_4} => c ldisk != p3] cs4
scs2E:sp :: cs2 = cs3 ++ t :: cs4

29e
372
v \in cs4
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e365366373374375
vIcs4:v \in cs4
29e
372
last t cs4 = v -> v \in cs4
37a
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e365366373374375
tEv:t = v

v \in [::]
37a
37c
29e
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee373
tp:{ffun 'I_n.+1 -> 'I_4}
cs4:seq {ffun 'I_n.+1 -> 'I_4}
tH:{in tp :: cs4, forall x : finfun_eqType (ordinal_finType n.+1) (ordinal_eqType 4), [predC fun c : {ffun 'I_n.+1 -> 'I_4} => c ldisk != p3] x}
scs2E:sp :: cs2 = cs3 ++ [:: t, tp & cs4]
vItpcs4:v \in tp :: cs4

29e
38e
t `-->_s tp
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f390391392393
tMtp:t `-->_s tp
29e
39a
29e
39a
tp ldisk = p3
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b
tpLp3:tp ldisk = p3
29e
3a5
29e
3a5
t ldisk = p0
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a6
tLp0:t ldisk = p0
29e
3a5
t ldisk == p0
3ae
3a5
(t ldisk != tp ldisk -> srel (n:=4) (t ldisk) (tp ldisk)) -> t ldisk == p0
3ae
3a5
t ldisk != p3 -> t ldisk * p3 == 0 -> t ldisk == p0
3ae
3a5
t ldisk != 0 -> t ldisk != p3 -> t ldisk * p3 == 0 -> false
3ae
3a5
p3 != 0 -> t ldisk != 0 -> t ldisk != p3 -> t ldisk * p3 == 0 -> false
3ae
3b0
29e
3b0
codom ↓[t] \subset [:: p1; p2]
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b1
tCd:codom ↓[t] \subset [:: p1; p2]
29e
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b131e31f

(↓[t] j == p1) || (↓[t] j == p2)
3cd
3d4
↓[t] j = p0 -> (↓[t] j == p1) || (↓[t] j == p2)
3d4
↓[t] j = p3 -> (↓[t] j == p1) || (↓[t] j == p2)
3ce
3d4
t (lift ord_max j) = p0 -> (t (lift ord_max j) == p1) || (t (lift ord_max j) == p2)
3da
3d4
t (lift ord_max j) != t ldisk
3da
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f3903913923933a63b131e31f

343
3da
3d4
3dc
3cd
3d4
t (lift ord_max j) = p3 -> (t (lift ord_max j) == p1) || (t (lift ord_max j) == p2)
3cd
3d4
t (lift ord_max j) != tp ldisk
3cd
3e8
334
3cd
3cf
29e
512926f27027127215161712131429729c29d2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d0
H, H0, H1, H2, H3, H4:true

`d[u, v]_smove = (`d[↓[u], ↓[s]]_smove + (`d[↓[s], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove + 0))).+2
3fd
`d[u, v]_smove = (`d[↓[u], ↓[s]]_smove + (`d[↓[s], ↓[t]]_smove + `d[↓[t], ↓[v]]_smove)).+2
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d03fe
csH:gpath smove u v ((sp, cs1, cs2).1.2 ++ (sp, cs1, cs2).1.1 :: (sp, cs1, cs2).2)

403
407
`d[u, s]_smove + `d[s, v]_smove = (`d[↓[u], ↓[s]]_smove + (`d[↓[s], ↓[t]]_smove + `d[↓[t], ↓[v]]_smove)).+2
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d03fe
csH:gpath smove s v ((sp, cs1, cs2).1.1 :: (sp, cs1, cs2).2)

40c
410
`d[↓[u], ↓[s]]_(move (q:=4) (srel (n:=4))) + `d[s, v]_smove = (`d[↓[u], ↓[s]]_smove + (`d[↓[s], ↓[t]]_smove + `d[↓[t], ↓[v]]_smove)).+2
410
`d[↓[u], ↓[s]]_(move (q:=4) (srel (n:=4))) + `d[s, v]_smove = `d[↓[u], ↓[s]]_smove + (`d[↓[s], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove).+2)
410
`d[s, v]_smove = `d[↓[s], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove).+2
410
↓[s] = ↓[sp]
410
`d[s, v]_smove = `d[↓[sp], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove).+2
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d03fe411
sLDspL:s ldisk != sp ldisk

421
422
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d03fe411429
i:ordinal_finType n

s (trshift 1 i) = sp (trshift 1 i)
422
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52e82fa31934e3652ee37338f39039139239339b3a63b13d03fe41142e

ldisk != trshift 1 i
422
410
424
410
`d[(sp, cs1, cs2).1.1, v]_smove = `d[↓[sp], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove).+1
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d03fe
csH:gpath smove (sp, cs1, cs2).1.1 v (sp, cs1, cs2).2

43b
43f
↓[t] = ↓[tp]
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d03fe440
ctEctp:↓[t] = ↓[tp]
43b
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d03fe440
tLDtpL:t ldisk != tp ldisk

444
445
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f39039139239339b3a63b13d03fe44044d42e

t (trshift 1 i) = tp (trshift 1 i)
445
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e3652ee37338f3903913923933a63b13d03fe44042e

434
445
447
43b
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e36537338f39039139339b3a63b13d03fe440448
spEt:sp = t
cs2E:cs2 = tp :: cs4

43b
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e36537338f39039139339b3a63b13d03fe440448
c3:{ffun 'I_n.+1 -> 'I_4}
2ee
spE:sp = c3
cs2E:cs2 = cs3 ++ [:: t, tp & cs4]
`d[sp, v]_smove = `d[↓[sp], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove).+1
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e36537338f39039139339b3a63b13d03fe44845e45f
csH:gpath smove (t, cs1, tp :: cs4).1.1 v (t, cs1, tp :: cs4).2

`d[(t, cs1, tp :: cs4).1.1, v]_smove = `d[↓[t], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove).+1
460
46a
(`d[tp, v]_smove).+1 = (`d[↓[tp], ↓[v]]_smove).+1
460
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e36537338f39039139339b3a63b13d03fe44845e45f
csH:gpath smove tp v cs4

470
460
474
connect (move (q:=4) (srel (n:=4))) tp v
460
462
466
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e36537338f39039139339b3a63b13d03fe4484632ee464465
csH:gpath smove (sp, cs1, rcons cs3 t ++ tp :: cs4).1.1 v (sp, cs1, rcons cs3 t ++ tp :: cs4).2

466
480
`d[(sp, cs1, rcons cs3 t ++ tp :: cs4).1.1, t]_smove + `d[t, v]_smove = `d[↓[sp], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove).+1
480
connect (move (q:=4) (srel (n:=4))) (sp, cs1, rcons cs3 t ++ tp :: cs4).1.1 t
480
(sp, cs1, rcons cs3 t ++ tp :: cs4).1.1 ldisk = t ldisk
480
`d[↓[(sp, cs1, rcons cs3 t ++ tp :: cs4).1.1], ↓[t]]_ (move (q:=4) (srel (n:=4))) + `d[t, v]_smove = `d[↓[sp], ↓[t]]_smove + (`d[↓[t], ↓[v]]_smove).+1
487
480
48c
48d
491
480
48e
480
`d[t, v]_smove = (`d[↓[t], ↓[v]]_smove).+1
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e36537338f39039139339b3a63b13d03fe4484632ee464465
csH:gpath smove t v (tp :: cs4)

49b
49f
`d[tp, v]_smove = `d[↓[t], ↓[v]]_smove
512926f27027127215161712131429729c2a62bb2bc2ce2cf2d02d52dd2e82fa31934e36537338f39039139339b3a63b13d03fe4484632ee464465475

4a4
4a8
479
by apply: shanoi_connect. Qed. Definition sgdist1 n (p2 : peg 4) (u v : configuration 4 n.+1) := let: (exist (x, _) _) := sgdist_pair p2 u v in x. Definition sgdist2 n (p2 : peg 4) (u v : configuration 4 n.+1) := let: (exist (_, x) _) := sgdist_pair p2 u v in x.
26e
p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> [/\ codom (sgdist1 (n:=n) p2 u v) \subset [:: p2; p3], codom (sgdist2 (n:=n) p2 u v) \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; sgdist1 (n:=n) p2 u v; sgdist2 (n:=n) p2 u v; ↓[v]]].+2]
4ad
291
[/\ codom (sgdist1 (n:=n) p2 u v) \subset [:: p2; p3], codom (sgdist2 (n:=n) p2 u v) \subset [:: p1; p2] & `d[u, v]_smove = D[[:: ↓[u]; sgdist1 (n:=n) p2 u v; sgdist2 (n:=n) p2 u v; ↓[v]]].+2]
by rewrite /sgdist1 /sgdist2; case: sgdist_pair => [] [x y] []. Qed. (* The beta function *) Definition beta n l k := if ((1 < l) && (k == n.-1)) then α_[l] k else (α_[1] k).*2. Local Notation "β_[ n , l ]" := (beta n l) (format "β_[ n , l ]" ).
5
n, l, k:nat

α_[l] k <= β_[n, l] k
4b6
4b8
α_[l] k <= (α_[1] k).*2
4b8
α_[l] k <= (if k == n.-1 then α_[l] k else (α_[1] k).*2)
4b8
4c2
by case: (_ == _) => //=; apply: bound_alphaL. Qed.
5
n, l:nat
k:nat_eqType

β_[n, l] k <= (α_[1] k).*2
4c7
4c9
(if k == n.-1 then α_[l] k else (α_[1] k).*2) <= (α_[1] k).*2
by case: (_ == _) => //=; apply: bound_alphaL. Qed.
51294cb

β_[n, 1] k = (α_[1] k).*2
4d3
by rewrite /beta ltnn. Qed. Definition sp n (a : configuration 4 n) l p := \sum_(k < n) (a k != p) * β_[n, l] k.
54ca
a:configuration 4 n.+1
p:ordinal_eqType 4

1 < l -> sp (n:=n.+1) a l p = \sum_(k < n) (↓[a] k != p) * (α_[1] k).*2 + (a ord_max != p) * α_[l] n
4d9
54ca4dc4dd
l_gt1:1 < l

\sum_(k < n.+1) (a k != p) * β_[n.+1, l] k = \sum_(k < n) (↓[a] k != p) * (α_[1] k).*2 + (a ord_max != p) * α_[l] n
4e3
\sum_(i < n) (a (widen_ord (m:=n.+1) (leqnSn n) i) != p) * (if i == n then α_[l] i else (α_[1] i).*2) = \sum_(k < n) (↓[a] k != p) * (α_[1] k).*2
54ca4dc4dd4e4
i:'I_n

widen_ord (m:=n.+1) (leqnSn n) i = trshift 1 i
4ed
(if i == n then α_[l] i else (α_[1] i).*2) = (α_[1] i).*2
4ed
4f2
by rewrite eqn_leq [_ <= i]leqNgt ltn_ord andbF. Qed.
54ca
a:'I_n -> nat

\sum_(k < n) a k * β_[n, l] k <= \sum_(k < n) a k * (α_[1] k).*2
4f7
by apply: leq_sum => i _; rewrite leq_mul2l geq_beta orbT. Qed.
5129
f:configuration 4 n.+1
229
v1, v2:nat

1 < v1 -> 1 < v2 -> p1 != p2 -> codom f \subset [:: p1; p2] -> sp (n:=n.+1) f v1 p1 + sp (n:=n.+1) f v2 p2 <= (S_[1] n).*2 + α_[maxn v1 v2] n
4fe
5129501229502
v1_gt1:1 < v1
v2_gt1:1 < v2
15
cH:codom f \subset [:: p1; p2]

sp (n:=n.+1) f v1 p1 + sp (n:=n.+1) f v2 p2 <= (S_[1] n).*2 + α_[maxn v1 v2] n
508
\sum_(k < n) (↓[f] k != p1) * (α_[1] k).*2 + (f ord_max != p1) * α_[v1] n + (\sum_(k < n) (↓[f] k != p2) * (α_[1] k).*2 + (f ord_max != p2) * α_[v2] n) <= (S_[1] n).*2 + α_[maxn v1 v2] n
508
\sum_(k < n) (↓[f] k != p1) * (α_[1] k).*2 + \sum_(k < n) (↓[f] k != p2) * (α_[1] k).*2 <= (S_[1] n).*2
508
(f ord_max != p2) * α_[v2] n + (f ord_max != p1) * α_[v1] n <= α_[maxn v1 v2] n
508
\sum_(k < n) (↓[f] k != p1) * (α_[1] k).*2 + \sum_(k < n) (↓[f] k != p2) * (α_[1] k).*2 = (S_[1] n).*2
515
512950122950250950a1550b4ee

(↓[f] i != p1) * (α_[1] i).*2 + (↓[f] i != p2) * (α_[1] i).*2 = α_[1] i + α_[1] i
515
512950122950250950a1550b4ee
v:=trshift 1 i:'I_(1 + n)

(f v != p1) * (α_[1] i).*2 + (f v != p2) * (α_[1] i).*2 = α_[1] i + α_[1] i
515
524
f v \in [:: p1; p2] -> (f v != p1) * (α_[1] i).*2 + (f v != p2) * (α_[1] i).*2 = α_[1] i + α_[1] i
515
524
(f v == p1) || (f v == p2) -> (f v != p1) * (α_[1] i).*2 + (f v != p2) * (α_[1] i).*2 = (α_[1] i).*2
515
512950122950250950a1550b4ee525
x1:f v = p1
x2:f v = p2

true -> 0 * (α_[1] i).*2 = (α_[1] i).*2
515
508
(f ord_max != p2) * α_[v2] n + (f ord_max != p1) * α_[v1] n <= α_[maxn v1 v2] n
508
f ord_max \in [:: p1; p2] -> (f ord_max != p2) * α_[v2] n + (f ord_max != p1) * α_[v1] n <= α_[maxn v1 v2] n
508
(f ord_max == p1) || (f ord_max == p2) -> (f ord_max != p2) * α_[v2] n + (f ord_max != p1) * α_[v1] n <= α_[maxn v1 v2] n
512950122950250950a1550b
x1:f ord_max = p1
x2:f ord_max <> p2

v2 <= maxn v1 v2
512950122950250950a1550b
x1:f ord_max <> p1
x2:f ord_max = p2
v1 <= maxn v1 v2
54b
54e
by apply: leq_maxl. Qed. (* This corresponds to 4.1 *) Section Case1. Definition sd n l (u : {ffun 'I_l.+1 -> configuration 4 n}) := \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove. Variable n : nat. Hypothesis IH: forall (l : nat) (p1 p2 p3 : ordinal_eqType 4) (u : {ffun 'I_l.+1 -> configuration 4 n.+1}), p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] n.+1).*2 <= sd u + sp (u ord0) l (a[p1, p3] 0) + sp (u ord_max) l (a[p1, p3] l). Variable l : nat. Variables p1 p2 p3: peg 4. Variable u : {ffun 'I_l.+2 -> configuration 4 n.+2}. Hypothesis p1Dp2 : p1 != p2. Hypothesis p1Dp3 : p1 != p3. Hypothesis p2Dp3 : p2 != p3. Hypothesis p1Dp0 : p1 != p0. Hypothesis p2Dp0 : p2 != p0. Hypothesis p3Dp0 : p3 != p0. Hypothesis cH : forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: p2; a[p1, p3] k]. Let u':= ([ffun i => ↓[u i]] : {ffun 'I_l.+2 -> configuration 4 n.+1}) : {ffun 'I_l.+2 -> configuration 4 n.+1}.
5129
IH:forall (l : nat) (p1 p2 p3 : ordinal_eqType 4) (u : {ffun 'I_l.+1 -> configuration 4 n.+1}), p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] n.+1).*2 <= sd (n:=n.+1) u + sp (n:=n.+1) (u ord0) l ( a[p1, p3] 0) + sp (n:=n.+1) (u ord_max) l ( a[p1, p3] l)
l:nat
11
u:{ffun 'I_l.+2 -> configuration 4 n.+2}
151617121314
cH:forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: p2; a[p1, p3] k]
u':=([ffun i => ↓[u i]] : {ffun 'I_l.+2 -> configuration 4 n.+1}) : {ffun 'I_l.+2 -> configuration 4 n.+1}:{ffun 'I_l.+2 -> configuration 4 n.+1}

forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u' k) \subset [:: p2; a[p1, p3] k]
553
by move=> k kH; rewrite ffunE; apply/codom_liftr/cH. Qed.
51295565571155815161712131455955a
H:forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u' k) \subset [:: p2; a[p1, p3] k]
228

a[p1, p3] a != p2
55e
by rewrite /apeg; case: odd; rewrite // eq_sym. Qed.
51295565571155815161712131455955a561
apeg13D2:forall a : nat, a[p1, p3] a != p2
228

a[p1, p3] a != p0
565
by rewrite /apeg; case: odd; rewrite // eq_sym. Qed. Hypothesis KH1 : u ord0 ord_max = p1. Hypothesis KH2 : u ord_max ord_max != a[p3, p1] l. Hypothesis l_gt0 : l != 0.
51295565571155815161712131455955a561568
apeg13D0:forall a : nat, a[p1, p3] a != p0
KH1:u ord0 ord_max = p1
KH2:u ord_max ord_max != a[p3, p1] l
l_gt0:l != 0

(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
56c
51295565571155815161712131455955a56156856f570571572
il1E:inord l.+1 = ord_max

573
578
exists i : nat, u (inord i) ord_max != a[p1, p3] i
51295565571155815161712131455955a56156856f570571572579
iE:exists i : nat, u (inord i) ord_max != a[p1, p3] i
573
580
573
51295565571155815161712131455955a56156856f570571572579581228
aH:u (inord a) ord_max != a[p1, p3] a
aMin:forall n0 : nat, u (inord n0) ord_max != a[p1, p3] n0 -> a <= n0

573
51295565571155815161712131455955a56156856f57057157257958122858958a14a

i < a -> u (inord i) ord_max = a[p1, p3] i
51295565571155815161712131455955a56156856f57057157257958122858958a
aMin1:forall i : nat, i < a -> u (inord i) ord_max = a[p1, p3] i
573
592
573
51295565571155815161712131455955a56156856f57057157257958122858958a593
aLld1:a <= l.+1

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b
a_gt0:0 < a

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a0
ai:=inord a : 'I_l.+2:'I_l.+2

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a5
aiE:ai = a

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa
b:=l.+1 - a:nat

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af
bi:=inord b : 'I_l.+2:'I_l.+2

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b4
biE:bi = b

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b9
l_ggt0:0 < l

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be
a_gt1:1 < a
aLlm1:a <= l.-1

573
5bd
~~ (1 < a <= l.-1) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c4
aLl:a <= l

573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc
b_gt1:1 < b

573
5c5
5d0
u ai ldisk = p2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d1
uaiLEp2:u ai ldisk = p2
573
5c6
5d0
0 < ai < l.+1
5d0
u ai ldisk \in [:: p2; a[p1, p3] ai] -> u ai ldisk = p2
5d75c6
5d0
5e0
5d6
5d8
573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d9
si:=(fun i : nat => sgdist1 (n:=n.+1) p2 (u (inord i)) (u (inord i.+1))) : nat -> configuration 4 n.+1:nat -> configuration 4 n.+1

573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb
ti:=(fun i : nat => sgdist2 (n:=n.+1) p2 (u (inord i)) (u (inord i.+1))) : nat -> configuration 4 n.+1:nat -> configuration 4 n.+1

573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f014a

i < a.-1 -> [/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[u (inord i.+1)]]].+2]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f0
sitiH:forall i : nat, i < a.-1 -> [/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[ u (inord i.+1)]]].+2]
573
5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f014a
iLa:i < a.-1

[/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[u (inord i.+1)]]].+2]
5f6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f014a5fe
iLa1:i < a

5ff
5f6
603
u (inord i) ldisk != p2
603
u (inord i) ldisk != u (inord i.+1) ldisk
603
p2 != u (inord i.+1) ldisk
603
u (inord i) ldisk != p0
603
u (inord i.+1) ldisk != p0
5f75c6
606
603
60b
60c60e6105f75c6
614
603
a[p1, p3] i != a[p1, p3] i.+1
616
603
60d
60e6105f75c6
61d
603
60f
6105f75c6
622
603
611
5f6
5f8
573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f9
sam1:=sgdist1 (n:=n.+1) ( a[p1, p3] a) (u (inord a.-1)) (u (inord a)) : configuration 4 n.+1:configuration 4 n.+1

573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f9630
tam1:=sgdist2 (n:=n.+1) ( a[p1, p3] a) (u (inord a.-1)) (u (inord a)) : configuration 4 n.+1:configuration 4 n.+1

573
5c5
634
[/\ codom sam1 \subset [:: a[p1, p3] a; u (inord a) ldisk], codom tam1 \subset [:: u (inord a.-1) ldisk; a[p1, p3] a] & `d[u (inord a.-1), u (inord a)]_smove = D[[:: ↓[u (inord a.-1)]; sam1; tam1; ↓[u (inord a)]]].+2]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f9630635
sam1C:codom sam1 \subset [:: a[p1, p3] a; u (inord a) ldisk]
tam1C:codom tam1 \subset [:: u (inord a.-1) ldisk; a[p1, p3] a]
duam1ua1E:`d[u (inord a.-1), u (inord a)]_smove = D[[:: ↓[u (inord a.-1)]; sam1; tam1; ↓[u (inord a)]]].+2
573
5c6
634
u (inord a.-1) ldisk != a[p1, p3] a
634
u (inord a.-1) ldisk != u (inord a) ldisk
634
a[p1, p3] a != u (inord a) ldisk
634
u (inord a.-1) ldisk != p0
634
u (inord a) ldisk != p0
63b5c6
641
634
646
64764964b63b5c6
64f
634
648
64964b63b5c6
654
634
64a
64b63b5c6
659
634
64c
63a
63c
573
5c5
63c
codom tam1 \subset [:: p1; p3]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f
tam1C:codom tam1 \subset [:: p1; p3]
573
5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f

codom tam1 \subset [:: a[p1, p3] a.-1; a[p1, p3] a] -> codom tam1 \subset [:: p1; p3]
667
66e
codom tam1 \subset [:: a[p3, p1] 0; a[p3, p1] 1] -> codom tam1 \subset [:: p1; p3]
667
669
573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a
u1:=[ffun i => if (i : 'I_(3 * a).-2.+1) == 3 * a.-1 :> nat then ↓[u (inord a.-1)] else if i == (3 * a.-1).+1 :> nat then sam1 else if i %% 3 == 0 then ↓[u (inord (i %/ 3))] else if i %% 3 == 1 then si (i %/ 3) else ti (i %/ 3)]:{ffun forall x : ordinal_finType (3 * a).-2.+1, (fun=> configuration 4 n.+1) x}

573
5c5
67a
u1 ord0 = ↓[u ord0]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b
u10E:u1 ord0 = ↓[u ord0]
573
5c6
67a
0 != 3 * a.-1
680
682
573
5c5
682
u1 ord_max = sam1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b683
uiME:u1 ord_max = sam1
573
5c6
682
(if ~~ (3 * a.-1 < (3 + 3 * a.-1).-2) && (3 * a.-1 <= (3 * a).-2) then ↓[u (inord a.-1)] else if (3 * a).-2 == (3 * a.-1).+1 then sam1 else if (3 * a).-2 %% 3 == 0 then ↓[u (inord ((3 * a).-2 %/ 3))] else if (3 * a).-2 %% 3 == 1 then si ((3 * a).-2 %/ 3) else ti ((3 * a).-2 %/ 3)) = sam1
68f
682
(if (3 * a).-2 == (3 * a.-1).+1 then sam1 else if (3 * a).-2 %% 3 == 0 then ↓[u (inord ((3 * a).-2 %/ 3))] else if (3 * a).-2 %% 3 == 1 then si ((3 * a).-2 %/ 3) else ti ((3 * a).-2 %/ 3)) = sam1
68f
691
573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b683692
u2:=[ffun i => if i == 0 :> nat then sam1 else if i == 1 :> nat then tam1 else ↓[u ai]]:{ffun forall x : ordinal_finType 3, (fun=> configuration 4 n.+1) x}

573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a2
u3:=[ffun i => ↓[u (inord ((i : 'I_b.+1) + a))]]:{ffun forall x : ordinal_finType b.+1, (fun=> configuration 4 n.+1) x}

573
5c5
6a6
a.*2 + sd (n:=n.+1) u1 + sd (n:=n.+1) u2 + sd (n:=n.+1) u3 <= sd (n:=n.+2) u
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a7
P1:a.*2 + sd (n:=n.+1) u1 + sd (n:=n.+1) u2 + sd (n:=n.+1) u3 <= sd (n:=n.+2) u
573
5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a7
b1:nat

b1 = a -> \sum_(i < (3 * b1).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove = \sum_(i < 3 * a.-1) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[↓[u (inord a.-1)], sam1]_smove
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a7
G:forall b1 : nat, b1 = a -> \sum_(i < (3 * b1).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove = \sum_(i < 3 * a.-1) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[↓[u (inord a.-1)], sam1]_smove
6ab
6ad5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a76b4
b1Ea:b1 = a

\sum_(i < (3 * b1).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove = \sum_(i < 3 * a.-1) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[↓[u (inord a.-1)], sam1]_smove
6b6
6bd
(3 * b1).-2 = (3 * a.-1).+1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a76b46be
ta2E:(3 * b1).-2 = (3 * a.-1).+1
6bf
6b76ad5c6
6c6
6bf
6b6
6c6
u1 (inord (3 * a.-1)) = ↓[u (inord a.-1)]
6c6
u1 (inord (3 * a.-1).+1) = sam1
6b76ad5c6
6c6
6d1
6b6
6c6
(if (3 * a.-1).+1 == 3 * a.-1 then ↓[u (inord a.-1)] else if (3 * a.-1).+1 == (3 * a.-1).+1 then sam1 else if (3 * a.-1).+1 %% 3 == 0 then ↓[u (inord ((3 * a.-1).+1 %/ 3))] else if (3 * a.-1).+1 %% 3 == 1 then si ((3 * a.-1).+1 %/ 3) else ti ((3 * a.-1).+1 %/ 3)) = sam1
6b6
6b8
6ab
6ac
6a6
a.*2 + (\sum_(i < 3 * a.-1) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[↓[u (inord a.-1)], sam1]_smove) + sd (n:=n.+1) u2 + sd (n:=n.+1) u3 <= sd (n:=n.+2) u
6ac
6a6
a.*2 + (\sum_(i < a.-1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) + `d[↓[u (inord a.-1)], sam1]_smove) + sd (n:=n.+1) u2 + sd (n:=n.+1) u3 <= sd (n:=n.+2) u
6ac
6a6
a.*2 = 2 + \sum_(i < a.-1) 2
6a6
2 + \sum_(i < a.-1) 2 + (\sum_(i < a.-1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) + `d[↓[u (inord a.-1)], sam1]_smove) + sd (n:=n.+1) u2 + sd (n:=n.+1) u3 <= sd (n:=n.+2) u
6ad5c6
6a6
a.*2 = 2 + a.-1 * 2
6e8
6a6
2 + \sum_(i < a.-1) 2 + (\sum_(i < a.-1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) + `d[↓[u (inord a.-1)], sam1]_smove) + sd (n:=n.+1) u2 + sd (n:=n.+1) u3 <= sd (n:=n.+2) u
6ac
6a6
2 + \sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + `d[↓[u (inord a.-1)], sam1]_smove + sd (n:=n.+1) u2 + sd (n:=n.+1) u3 <= sd (n:=n.+2) u
6ac
6a6
\sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + (2 + `d[↓[u (inord a.-1)], sam1]_smove + sd (n:=n.+1) u2) + sd (n:=n.+1) u3 <= sd (n:=n.+2) u
6ac
6a6
sd (n:=n.+2) u = \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6a6
\sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + (2 + `d[↓[u (inord a.-1)], sam1]_smove + sd (n:=n.+1) u2) + sd (n:=n.+1) u3 <= \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ad5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a7
F:forall (n0 : nat) (n1 : nat -> nat -> nat) (n2 : nat), \big[n1/n0]_(0 <= i < n2) `d[u (inord i), u (inord i.+1)]_smove = \big[n1/n0]_(i < n2) `d[ u (inord i), u (inord i.+1)]_smove

6fe
6ff
6a6
\sum_(0 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove = \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ff
6a6
a.-1 < l.+1
6a6
\sum_(0 <= i < a.-1.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a.-1.+1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove = \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
7006ad5c6
6a6
\sum_(0 <= i < a.-1.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a.-1.+1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove = \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ff
6a6
\sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u (inord a)]_smove + \sum_(a <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove = \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ff
6a6
\sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u (inord a)]_smove + \sum_(i < b) `d[u (inord (i + a)), u (inord (i + a).+1)]_smove = \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ff
6a6
\sum_(i < b) `d[u (inord (i + a)), u (inord (i + a).+1)]_smove = \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ff
6a6
\sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + (2 + `d[↓[u (inord a.-1)], sam1]_smove + sd (n:=n.+1) u2) + sd (n:=n.+1) u3 <= \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ac
6a6
\sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) <= \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove
6a6
2 + `d[↓[u (inord a.-1)], sam1]_smove + sd (n:=n.+1) u2 <= `d[u (inord a.-1), u ai]_smove
6a6
sd (n:=n.+1) u3 <= \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ad5c6
727
6a6
\sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) = \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove
72a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a7
i:'I_a.-1

2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
72a
737
u1 (inord (3 * i)) = ↓[u (inord i)]
737
2 + (`d[↓[u (inord i)], u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
72b72d6ad5c6
737
3 * i < (3 * a).-2.+1
737
(if 3 * i == 3 * a.-1 then ↓[u (inord a.-1)] else if 3 * i == (3 * a.-1).+1 then sam1 else if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3)) = ↓[ u (inord i)]
73f72b72d6ad5c6
737
3 * i <= 3 * a.-1
737
3 * a.-1 <= (3 * a).-2
74673f72b72d6ad5c6
737
74e
745
737
(if 3 * i == 3 * a.-1 then ↓[u (inord a.-1)] else if 3 * i == (3 * a.-1).+1 then sam1 else if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3)) = ↓[u (inord i)]
73e
737
(if 3 * i == (3 * a.-1).+1 then sam1 else if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3)) = ↓[u (inord i)]
73e
737
(if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3)) = ↓[u (inord i)]
73e
737
2 + (`d[↓[u (inord i)], u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
72a
737
u1 (inord (3 * i).+1) = si i
737
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
72b72d6ad5c6
737
(3 * i).+1 < (3 * a).-2.+1
737
(if (3 * i).+1 == 3 * a.-1 then ↓[u (inord a.-1)] else if (3 * i).+1 == (3 * a.-1).+1 then sam1 else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)) = si i
76772b72d6ad5c6
737
3 * i < 3 * a.-1
74d76e76772b72d6ad5c6
75176d
737
(if (3 * i).+1 == 3 * a.-1 then ↓[u (inord a.-1)] else if (3 * i).+1 == (3 * a.-1).+1 then sam1 else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)) = si i
766
737
(if (3 * i < 3 * a.-1) && ~~ ((3 * i).+1 < 3 * a.-1) then ↓[u (inord a.-1)] else if (3 * i).+1 == (3 * a.-1).+1 then sam1 else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)) = si i
766
737
(3 * i).+1 < 3 * i.+1
737
3 * i.+1 <= 3 * a.-1
737
(if (3 * i).+1 == (3 * a.-1).+1 then sam1 else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)) = si i
76772b72d6ad5c6
780
737
785
78676772b72d6ad5c6
78a
737
(if (3 * i).+1 == (3 * a.-1).+1 then sam1 else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)) = si i
766
737
(if (3 * i <= 3 * a.-1) && ((3 == 0) || (a.-1 <= i)) then sam1 else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)) = si i
766
737
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
72a
737
u1 (inord (3 * i).+2) = ti i
737
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
72b72d6ad5c6
737
(3 * i).+2 < (3 * a).-2.+1
737
(if (3 * i).+2 == 3 * a.-1 then ↓[u (inord a.-1)] else if (3 * i).+2 == (3 * a.-1).+1 then sam1 else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)) = ti i
79f72b72d6ad5c6
737
(3 * i).+1 < 3 * a.-1
74d7a679f72b72d6ad5c6
781
78474d7a679f72b72d6ad5c6
78b7ac
7517a5
737
(if (3 * i).+2 == 3 * a.-1 then ↓[u (inord a.-1)] else if (3 * i).+2 == (3 * a.-1).+1 then sam1 else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)) = ti i
79e
737
(if ((3 * i).+1 < 3 * a.-1) && ~~ ((3 * i).+2 < 3 * a.-1) then ↓[u (inord a.-1)] else if (3 * i).+2 == (3 * a.-1).+1 then sam1 else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)) = ti i
79e
737
(if (3 * i).+2 == (3 * a.-1).+1 then sam1 else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)) = ti i
79e
737
(if (3 * i < 3 * a.-1) && ~~ ((3 * i).+1 < 3 * a.-1) then sam1 else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)) = ti i
79e
781
784
737
(if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)) = ti i
79f72b72d6ad5c6
7c5
78b
7c779f72b72d6ad5c6
7cb
737
(if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)) = ti i
79e
737
7a0
72a
737
u1 (inord (3 * i).+3) = ↓[u (inord i.+1)]
737
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, ↓[u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
72b72d6ad5c6
737
u1 (inord (3 * i.+1)) = ↓[u (inord i.+1)]
7d9
737
3 * i.+1 < (3 * a).-2.+1
737
(if 3 * i.+1 == 3 * a.-1 then ↓[u (inord a.-1)] else if 3 * i.+1 == (3 * a.-1).+1 then sam1 else if (3 * i.+1) %% 3 == 0 then ↓[u (inord ((3 * i.+1) %/ 3))] else if (3 * i.+1) %% 3 == 1 then si ((3 * i.+1) %/ 3) else ti ((3 * i.+1) %/ 3)) = ↓[ u (inord i.+1)]
7da72b72d6ad5c6
78b
74d7e57da72b72d6ad5c6
7517e4
737
(if 3 * i.+1 == 3 * a.-1 then ↓[u (inord a.-1)] else if 3 * i.+1 == (3 * a.-1).+1 then sam1 else if (3 * i.+1) %% 3 == 0 then ↓[u (inord ((3 * i.+1) %/ 3))] else if (3 * i.+1) %% 3 == 1 then si ((3 * i.+1) %/ 3) else ti ((3 * i.+1) %/ 3)) = ↓[u (inord i.+1)]
7d9
737
(if 3 * i.+1 == (3 * a.-1).+1 then sam1 else if (3 * i.+1) %% 3 == 0 then ↓[u (inord ((3 * i.+1) %/ 3))] else if (3 * i.+1) %% 3 == 1 then si ((3 * i.+1) %/ 3) else ti ((3 * i.+1) %/ 3)) = ↓[u (inord i.+1)]
7d9
737
(if (3 * i.+1) %% 3 == 0 then ↓[u (inord ((3 * i.+1) %/ 3))] else if (3 * i.+1) %% 3 == 1 then si ((3 * i.+1) %/ 3) else ti ((3 * i.+1) %/ 3)) = ↓[u (inord i.+1)]
7d9
737
7db
72a
737
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, ↓[u (inord i.+1)]]_smove) = D[[:: ↓[u (inord i)]; si i; ti i; ↓[u (inord i.+1)]]].+2
72a
6a6
2 + `d[↓[u (inord a.-1)], sam1]_smove + sd (n:=n.+1) u2 <= `d[u (inord a.-1), u ai]_smove
72d6ad5c6
800
6a6
2 + `d[↓[u (inord a.-1)], sam1]_smove + sd (n:=n.+1) u2 = `d[u (inord a.-1), u ai]_smove
803
6a6
2 + `d[↓[u (inord a.-1)], sam1]_smove + `d[u2 (inord 0), u2 (inord 1)]_smove + `d[u2 (inord 1), u2 (inord 2)]_smove = `d[u (inord a.-1), u ai]_smove
803
6a6
2 + `d[↓[u (inord a.-1)], sam1]_smove + `d[sam1, u2 (inord 1)]_smove + `d[u2 (inord 1), u2 (inord 2)]_smove = `d[u (inord a.-1), u ai]_smove
803
6a6
2 + `d[↓[u (inord a.-1)], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, u2 (inord 2)]_smove = `d[u (inord a.-1), u ai]_smove
803
6a6
2 + `d[↓[u (inord a.-1)], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u ai]]_smove = `d[u (inord a.-1), u ai]_smove
803
6a6
sd (n:=n.+1) u3 <= \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ac
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a7
i:ordinal_finType b

`d[u3 (inord i), u3 (inord i.+1)]_smove <= `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ac
820
`d[↓[u (inord (i + a))], u3 (inord i.+1)]_smove <= `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ac
820
`d[↓[u (inord (i + a))], ↓[u (inord (i.+1 + a))]]_smove <= `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
6ac
820
`d[↓[u (inord (a + i))], ↓[u (inord (a + i).+1)]]_smove <= `d[u (inord (a + i)), u (inord (a + i).+1)]_smove
6ac
6ae
573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a7
x1P1:=sd (n:=n.+1) u1:nat
x2P1:=sd (n:=n.+1) u2:nat
P1:a.*2 + x1P1 + x2P1 + sd (n:=n.+1) u3 <= sd (n:=n.+2) u

573
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a7836837
x3P1:=sd (n:=n.+1) u3:nat
xP1:=sd (n:=n.+2) u:nat
P1:a.*2 + x1P1 + x2P1 + x3P1 <= xP1

573
5c5
83c
(S_[l.+1] n.+2).*2 <= xP1 + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f
k:'I_(3 * a).-2.+1

0 < k < (3 * a).-2 -> codom (u1 k) \subset [:: p2; a[p1, p3] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f
cH2:forall k : 'I_(3 * a).-2.+1, 0 < k < (3 * a).-2 -> codom (u1 k) \subset [:: p2; a[p1, p3] k]
843
5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f848
k_gt0:0 < k
k_lt:k < (3 * a).-2

codom (u1 k) \subset [:: p2; a[p1, p3] k]
84a
851
k <= 3 * a.-1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f848852853
kL3a1:k <= 3 * a.-1
854
84b5c6
85b
854
84a
85b
k %/ 3 <= a.-1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c
kLa1:k %/ 3 <= a.-1
854
84b5c6
866
854
84a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c867
kH:k = 3 * a.-1

codom ↓[u (inord a.-1)] \subset [:: p2; a[p1, p3] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c867
kH:k != 3 * a.-1
codom (if k == (3 * a.-1).+1 then sam1 else if k %% 3 == 0 then ↓[u (inord (k %/ 3))] else if k %% 3 == 1 then si (k %/ 3) else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
84b5c6
86e
codom ↓[u (inord a.-1)] \subset [:: p2; a[p1, p3] a.-1]
871
86e
(0 < a.-1 < l.+1 -> codom (u' (inord a.-1)) \subset [:: p2; a[p1, p3] a.-1]) -> codom ↓[u (inord a.-1)] \subset [:: p2; a[p1, p3] a.-1]
86e
a.-1 < l.+2
87284b5c6
86e
0 < a.-1 < l.+1
87e
86e
880
871
873
875
84a
873
k %/ 3 <= a.-2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c867874
k3La2:k %/ 3 <= a.-2
875
84b5c6
873
0 < a.-1
873
k %/ 3 < a.-1
89084b5c6
873
899
88f
873
k < 3 * a.-1
88f
891
875
84a
891
(3 * a).-2 <= (3 * a.-1).+1
891
codom (if k %% 3 == 0 then ↓[u (inord (k %/ 3))] else if k %% 3 == 1 then si (k %/ 3) else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
84b5c6
891
8aa
84a
891
k %/ 3 <= a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c867874892
k3La:k %/ 3 <= a
8aa
84b5c6
8b4
8aa
84a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b5
k3mH:k %% 3 = 0

codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b5
k3mH:k %% 3 <> 0
codom (if k %% 3 == 1 then si (k %/ 3) else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
84b5c6
8bc
codom (u (inord (k %/ 3))) \subset [:: p2; a[p1, p3] k]
8bf
8bc
codom (u (inord (k %/ 3))) \subset [:: p2; a[p1, p3] (k %/ 3)]
8bf
8bc
k %/ 3 < l.+2
8bc
(0 < k %/ 3 < l.+1 -> codom (u (inord (k %/ 3))) \subset [:: p2; a[p1, p3] (k %/ 3)]) -> codom (u (inord (k %/ 3))) \subset [:: p2; a[p1, p3] (k %/ 3)]
8c084b5c6
8bc
8d2
8bf
8bc
0 < k %/ 3 < l.+1
8bf
8bc
(0 < k %/ 3) && true
8bf
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885385c8678748928b58bd

(0 < k %/ 3) && (0 < 3) -> 0 < k %/ 3
8bf
8c1
8c3
84a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b58c2
k3mH1:k %% 3 = 1

codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b58c2
k3mH1:k %% 3 <> 1
codom (ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
84b5c6
8e9
899
8e9
codom (si (k %/ 3)) \subset [:: p2; u (inord (k %/ 3).+1) ldisk] -> codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = (`d[↓[u (inord (k %/ 3))], si (k %/ 3)]_smove + (`d[si (k %/ 3), ti (k %/ 3)]_smove + (`d[ti (k %/ 3), ↓[u (inord (k %/ 3).+1)]]_smove + 0))).+2 -> codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] k]
8ed84b5c6
8e9
codom (si (k %/ 3)) \subset [:: p2; u (inord (k %/ 3).+1) ldisk] -> codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = (`d[↓[u (inord (k %/ 3))], si (k %/ 3)]_smove + (`d[si (k %/ 3), ti (k %/ 3)]_smove + (`d[ti (k %/ 3), ↓[u (inord (k %/ 3).+1)]]_smove + 0))).+2 -> codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] k]
8ec
8e9
u (inord (k %/ 3).+1) ldisk = a[p1, p3] k
8ec
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b58c28ea
i:=inord (k %/ 3).+1:'I_l.+2

a[p1, p3] i = a[p1, p3] k
902
u i ldisk = a[p1, p3] i
8ed84b5c6
902
a[p1, p3] i = a[p3, p1] (k %/ 3)
905
902
907
8ec
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b58c28ea903
H2:(k %/ 3).+1 < l.+2

907
8ec
912
i < a
912
u i ldisk = u (inord i) ord_max
8ed84b5c6
912
896
918
912
91a
8ec
912
i = inord i
8ec
8ee
8f0
84a
8ee
codom (ti (k %/ 3)) \subset [:: a[p1, p3] k; p2]
84a
8ee
899
8ee
codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = (`d[↓[u (inord (k %/ 3))], si (k %/ 3)]_smove + (`d[si (k %/ 3), ti (k %/ 3)]_smove + (`d[ti (k %/ 3), ↓[u (inord (k %/ 3).+1)]]_smove + 0))).+2 -> codom (ti (k %/ 3)) \subset [:: a[p1, p3] k; p2]
84b5c6
8ee
codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = (`d[↓[u (inord (k %/ 3))], si (k %/ 3)]_smove + (`d[si (k %/ 3), ti (k %/ 3)]_smove + (`d[ti (k %/ 3), ↓[u (inord (k %/ 3).+1)]]_smove + 0))).+2 -> codom (ti (k %/ 3)) \subset [:: a[p1, p3] k; p2]
84a
8ee
u (inord (k %/ 3)) ldisk = a[p1, p3] k
84a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b58c28ef
i:=inord (k %/ 3):'I_l.+2

904
93d907
84b5c6
93d
k %% 3 = 2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b58c28ef93e
k3mH2:k %% 3 = 2
904
94084b5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b593e

k %% 3 <> 0 -> k %% 3 <> 1 -> (k %% 3 < 3) = (0 < 3) -> k %% 3 = 2
945
947
904
93f
947
a[p1, p3] i = a[p1, p3] (k %/ 3)
93f
93d
907
84a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f84885285385c8678748928b58c28ef93e
H2:k %/ 3 < l.+2

907
84a
95b
91a
84a
95b
924
84a
84c
843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f
P2:(S_[(3 * a).-2] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) (u1 ord0) (3 * a).-2 ( a[p1, p3] 0) + sp (n:=n.+1) (u1 ord_max) (3 * a).-2 ( a[p1, p3] (3 * a).-2)

843
5c5
969
1 < (3 * a).-2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f96a
a3B2_gt1:1 < (3 * a).-2
843
5c6
969
2 + 2 <= 3 * a
969
1 < 3 * a
9705c6
969
979
96f
971
843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f972
P2:(S_[(3 * a).-2] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) ↓[u ord0] (3 * a).-2 p1 + sp (n:=n.+1) sam1 (3 * a).-2 ( a[p1, p3] (3 * a).-2)

843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f972
P2:(S_[(3 * a).-2] n.+1).*2 <= sd (n:=n.+1) u1 + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+1) sam1 (3 * a).-2 ( a[p1, p3] (3 * a).-2)

843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f972989
pa:= a[p1, p3] a:peg 4
paS:= a[p1, p3] a.+1:peg 4

843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298998e98f
k:'I_3

0 < k < 2 -> codom (u2 k) \subset [:: paS; a[p2, pa] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298998e98f
cH3:forall k : 'I_3, 0 < k < 2 -> codom (u2 k) \subset [:: paS; a[p2, pa] k]
843
5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298998e98f
iH:1 < 3

codom (u2 (Ordinal (n:=3) (m:=1) iH)) \subset [:: paS; a[p2, pa] 1]
996
998
843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f999
P2:(S_[(3 * a).-2] n.+1).*2 <= x1P1 + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+1) sam1 (3 * a).-2 ( a[p1, p3] (3 * a).-2)

843
5c5
9a6
(S_[2] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) (u2 ord0) 2 ( a[p2, pa] 0) + sp (n:=n.+1) (u2 ord_max) 2 ( a[p2, pa] 2)
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a7
P3:(S_[2] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) (u2 ord0) 2 ( a[p2, pa] 0) + sp (n:=n.+1) (u2 ord_max) 2 ( a[p2, pa] 2)
843
5c6
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a7

paS != pa
9ac
9ae
843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a7
P3:(S_[2] n.+1).*2 <= x2P1 + sp (n:=n.+1) sam1 2 p2 + sp (n:=n.+1) ↓[u ai] 2 ( a[p2, pa] 2)

843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc
k:'I_b.+1

0 < k < b -> codom (u3 k) \subset [:: p2; a[pa, paS] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc
cH4:forall k : 'I_b.+1, 0 < k < b -> codom (u3 k) \subset [:: p2; a[pa, paS] k]
843
5c6
9c0
0 < k < l.+1 - a -> codom (u3 k) \subset [:: p2; a[pa, paS] k]
9c3
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc9c1852
kLb:k < l.+1 - a

codom (u3 k) \subset [:: p2; a[pa, paS] k]
9c3
9ce
0 < k + a < l.+1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc9c18529cf
kBound:0 < k + a < l.+1
9d0
9c45c6
9ce
k + a < l.+1
9d5
9d7
9d0
9c3
9d7
codom (u (inord (k + a))) \subset [:: p2; a[pa, paS] k]
9c3
9d7
(0 < inord (k + a) < l.+1 -> codom (u (inord (k + a))) \subset [:: p2; a[p1, p3] (inord (k + a))]) -> codom (u (inord (k + a))) \subset [:: p2; a[pa, paS] k]
9c3
9d7
k + a < l.+2
9c3
9c5
843
5c5
9c5
(S_[b] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) b ( a[pa, paS] 0) + sp (n:=n.+1) (u3 ord_max) b ( a[pa, paS] b)
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc
P4:(S_[b] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) b ( a[pa, paS] 0) + sp (n:=n.+1) (u3 ord_max) b ( a[pa, paS] b)
843
5c6
9bb
pa != paS
9f3
9f5
843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc
P4:(S_[b] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) b ( a[pa, paS] 0) + \sum_(k < n.+1) (u3 ord_max k != a[pa, paS] b) * (α_[1] k).*2

843
5c5
9bb
a[pa, paS] b = a[p3, p1] l
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc
P4:(S_[b] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) b pa + \sum_(k < n.+1) (u3 ord_max k != a[p3, p1] l) * (α_[1] k).*2
843
5c6
a09
843
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc
P4:(S_[b] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) ↓[u ai] b pa + \sum_(k < n.+1) (↓[u (inord (b + a))] k != a[p3, p1] l) * (α_[1] k).*2

843
5c5
9bb
inord l.+1 = ord_max
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9a79bc
P4:(S_[b] n.+1).*2 <= x3P1 + sp (n:=n.+1) ↓[u ai] b pa + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
843
5c6
a19
843
5c5
a19
(S_[l.+1] n.+2).*2 <= xP1 + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9bca1a
xS:=\sum_(H < n.+1) (↓[u ord0] H != p1) * (α_[1] H).*2:nat
P2:(S_[(3 * a).-2] n.+1).*2 <= x1P1 + xS + sp (n:=n.+1) sam1 (3 * a).-2 ( a[p1, p3] (3 * a).-2)

(S_[l.+1] n.+2).*2 <= xP1 + xS + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
5c5
a25
(S_[l.+1] n.+2).*2 <= xP1 + xS + (\sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + α_[l.+1] n.+1)
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98f9bca26a27
yS:=\sum_(H < n.+1) (↓[u ord_max] H != a[p3, p1] l) * (α_[1] H).*2:nat
P4:(S_[b] n.+1).*2 <= x3P1 + sp (n:=n.+1) ↓[u ai] b pa + yS

(S_[l.+1] n.+2).*2 <= xP1 + xS + (yS + α_[l.+1] n.+1)
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a32
x1S:=sp (n:=n.+1) sam1 (3 * a).-2 ( a[p1, p3] (3 * a).-2):nat
P2:(S_[(3 * a).-2] n.+1).*2 <= x1P1 + xS + x1S
y1S:=sp (n:=n.+1) sam1 2 p2:nat
P3:(S_[2] n.+1).*2 <= x2P1 + y1S + sp (n:=n.+1) ↓[u ai] 2 ( a[p2, pa] 2)

a33
5c5
a37
x1S + y1S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 2] n
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a32a38a39a3aa3b
x1Sy1SE:x1S + y1S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 2] n
a33
5c6
a37
codom sam1 \subset [:: a[p1, p3] (3 * a).-2; p2]
a40
a37
codom sam1 \subset [:: a[p1, p3] a; p2]
a40
a42
a33
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a32a38a39a3aa3b
x1Sy1SE:x1S + y1S <= (S_[1] n).*2 + α_[(3 * a).-2] n

a33
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a39a3aa53
x2S:=sp (n:=n.+1) ↓[u ai] 2 ( a[p2, pa] 2):nat
P3:(S_[2] n.+1).*2 <= x2P1 + y1S + x2S
y2S:=sp (n:=n.+1) ↓[u ai] b pa:nat
P4:(S_[b] n.+1).*2 <= x3P1 + y2S + yS

a33
5c5
a57
x2S + y2S <= (S_[1] n).*2 + α_[maxn 2 b] n
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a39a3aa53a58a59a5aa5b
x2y2SE:x2S + y2S <= (S_[1] n).*2 + α_[maxn 2 b] n
a33
5c6
a57
codom ↓[u ai] \subset [:: a[p2, pa] 2; pa]
a60
a57
codom (u' (inord a)) \subset [:: p2; a[p1, p3] (inord a)] -> codom ↓[u ai] \subset [:: a[p2, pa] 2; pa]
a60
a62
a33
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a59a5aa5ba63
P2:S_[(3 * a).-2] n + α_[(3 * a).-2] n + S_[(3 * a).-2] n.+1 <= x1P1 + xS + x1S

a33
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73
P3:S_[2] n + α_[2] n + S_[2] n.+1 <= x2P1 + y1S + x2S

a33
5c5
a77
S_[l.+1] n.+1 + α_[l.+1] n.+1 + S_[l.+1] n.+2 <= xP1 + xS + (yS + α_[l.+1] n.+1)
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78
k:nat

S_[a.-1] k.+1 <= S_[(3 * a).-2] k + a.-1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78
F4:forall k : nat, S_[a.-1] k.+1 <= S_[(3 * a).-2] k + a.-1
a7c
5c6
a80
S_[3 * a.-1] k + a.-1 <= S_[(3 * a).-2] k + a.-1
a83
a80
S_[3 * a.-1] k <= S_[(3 * a).-2] k
a83
a80
74e
a83
a85
a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a86
F4n:S_[a.-1] n.+1 <= S_[(3 * a).-2] n + a.-1

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99
F4n1:S_[a.-1] n.+2 <= S_[(3 * a).-2] n.+1 + a.-1

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9ea81

S_[l.+1] k.+1 + S_[1] k.+1 + S_[b.+1] k.+1 <= S_[a.-1] k.+1 + S_[b.+2] k.+1 + S_[b] k + (α_[1] k).*2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9e
F5:forall k : nat, S_[l.+1] k.+1 + S_[1] k.+1 + S_[b.+1] k.+1 <= S_[a.-1] k.+1 + S_[b.+2] k.+1 + S_[b] k + (α_[1] k).*2
a7c
5c6
aa2
S_[a + b] k.+1 + S_[1] k.+1 + S_[b.+1] k.+1 <= S_[a.-1] k.+1 + S_[b.+2] k.+1 + S_[b] k + (α_[1] k).*2
aa4
aa2
S_[a + b] k.+1 + S_[1] k.+1 <= S_[a.-1] k.+1 + S_[b.+2] k.+1
aa4
aa2
S_[1 + a.-2 + b.+1] k.+1 + S_[1] k.+1 <= S_[1 + b.+1] k.+1 + S_[1 + a.-2] k.+1 -> S_[a + b] k.+1 + S_[1] k.+1 <= S_[a.-1] k.+1 + S_[b.+2] k.+1
aa4
aa2
S_[a.-1 + b.+1] k.+1 + S_[1] k.+1 <= S_[1 + b.+1] k.+1 + S_[a.-1] k.+1 -> S_[a + b] k.+1 + S_[1] k.+1 <= S_[a.-1] k.+1 + S_[b.+2] k.+1
aa4
aa6
a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eaa7
F5n:S_[l.+1] n.+1 + S_[1] n.+1 + S_[b.+1] n.+1 <= S_[a.-1] n.+1 + S_[b.+2] n.+1 + S_[b] n + (α_[1] n).*2

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabf
F5n1:S_[l.+1] n.+2 + S_[1] n.+2 + S_[b.+1] n.+2 <= S_[a.-1] n.+2 + S_[b.+2] n.+2 + S_[b] n.+1 + (α_[1] n.+1).*2

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4a81

S_[b.+2] k + S_[1] k <= S_[b.+1] k + S_[2] k
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4
F6:forall k : nat, S_[b.+2] k + S_[1] k <= S_[b.+1] k + S_[2] k
a7c
5c6
acc
a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4acd
F6n:S_[b.+2] n.+1 + S_[1] n.+1 <= S_[b.+1] n.+1 + S_[2] n.+1

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4ad5
F6n1:S_[b.+2] n.+2 + S_[1] n.+2 <= S_[b.+1] n.+2 + S_[2] n.+2

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4ad5ada
F72:S_[2] n.+2 = S_[2] n.+1 + α_[2] n.+1

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4ad5adaadf
F721:S_[2] n.+1 = S_[2] n + α_[2] n

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4ad5adaadfae4
F711:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4ad5adaadfae4ae9
F71:S_[1] n.+1 = S_[1] n + α_[1] n

a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4ad5adaadfae4ae9aee
F73:S_[b] n.+1 = S_[b] n + α_[b] n

a7c
5c5
af2
α_[2] n.+1 <= α_[1] n.+2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4ad5adaadfae4ae9aeeaf3
F8:α_[2] n.+1 <= α_[1] n.+2
a7c
5c6
af2
α_[2] n.+1 <= α_[3] n.+1
af8
afa
a7c
5c5
afa
α_[1] n.+2 <= (α_[1] n).*2.+2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa53a58a5aa5ba63a73a78a99a9eabfac4ad5adaadfae4ae9aeeaf3afb
F9:α_[1] n.+2 <= (α_[1] n).*2.+2
a7c
5c6
afa
α_[1] n.+2 <= (α_[1] n).*2.+1
b07
b09
a7c
5c5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be5c35c45cc5d15d95eb5f05f963063563d63f66a67b6836926a26a783683783d83e83f97298e98fa26a31a38a3aa58a5aa5ba73a78a99a9eabfac4ad5adaadfae4ae9aeeaf3afbb0aa53
x2y2SE:x2S + y2S <= (S_[1] n).*2 + α_[b] n

a7c
5c5
5bd
5c7
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95be
oH:(a <= 1) || (l.-1 < a)

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3
bE1:b = 1

573
b1d
~~ ((1 < a) && (b == 1)) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
(* 2 <= a and b = 1 *)
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23
am1_gt0:0 < a.-1

573
b24
b2a
l = a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2b
lEa:l = a
573
b25
b2a
a + b = l.+1 -> l = a
b30
b32
573
b24
b32
5d5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d9
573
b25
b32
5dd
b325e0
b3fb25
b32
5e0
b3e
b40
573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb

573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f0

573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f014a

5f5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f9
573
b25
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f014a5fe

5ff
b58
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f014a5fe604

5ff
b58
b62
608
b6260b
b6260d
b6260f
b62611
b59b25
b64
b62
60b
b68b69b6ab59b25
b6d
b62
61b
b6f
b62
60d
b69b6ab59b25
b75
b62
60f
b6ab59b25
b7a
b62
611
b58
b5a
573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998e

573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998e
sam1:=sgdist1 (n:=n.+1) pa (u (inord a.-1)) (u (inord a)) : configuration 4 n.+1:configuration 4 n.+1

573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8c
tam1:=sgdist2 (n:=n.+1) pa (u (inord a.-1)) (u (inord a)) : configuration 4 n.+1:configuration 4 n.+1

573
b24
b90
[/\ codom sam1 \subset [:: pa; u (inord a) ldisk], codom tam1 \subset [:: u (inord a.-1) ldisk; pa] & `d[u (inord a.-1), u (inord a)]_smove = D[[:: ↓[u (inord a.-1)]; sam1; tam1; ↓[u (inord a)]]].+2]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91
sam1C:codom sam1 \subset [:: pa; u (inord a) ldisk]
tam1C:codom tam1 \subset [:: u (inord a.-1) ldisk; pa]
63f
573
b25
b90
643
b90646
b90648
b9064a
b9064c
b97b25
b9c
b90
646
ba0ba1ba2b97b25
ba5
b90
648
ba1ba2b97b25
baa
b90
64a
ba2b97b25
baf
b90
64c
b96
b98
573
b24
b98
666
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a
573
b25
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f

codom tam1 \subset [:: a[p1, p3] a.-1; pa] -> codom tam1 \subset [:: p1; p3]
bbc
bbe
573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b

573
b24
bca
67f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683
573
b25
bca
687
bce
bd0
573
b24
bd0
68e
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692
573
b25
bd0
696
bda
bd0
69a
bda
bdc
573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692
u2:=[ffun i => if i == 0 :> nat then sam1 else if i == 1 :> nat then tam1 else if i == 2 :> nat then ↓[u ai] else ↓[u (inord l.+1)]]:{ffun forall x : ordinal_finType 4, (fun=> configuration 4 n.+1) x}

573
b24
be9
a.*2 + sd (n:=n.+1) u1 + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea
P1:a.*2 + sd (n:=n.+1) u1 + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
573
b25
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea6b4

6b5
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea6b9
bee
bf0b25
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea6b46be

6bf
bf7
bfd
6c3
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea6b46be6c7
6bf
bf8bf0b25
c03
6bf
bf7
c03
6ce
c036d1
bf8bf0b25
c03
6d1
bf7
c03
6d8
bf7
bf9
bee
bef
be9
a.*2 + (\sum_(i < 3 * a.-1) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[↓[u (inord a.-1)], sam1]_smove) + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
bef
be9
a.*2 + (\sum_(i < a.-1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) + `d[↓[u (inord a.-1)], sam1]_smove) + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
bef
be9
6e7
be9
2 + \sum_(i < a.-1) 2 + (\sum_(i < a.-1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) + `d[↓[u (inord a.-1)], sam1]_smove) + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
bf0b25
be9
6ee
c20
be9
2 + \sum_(i < a.-1) 2 + (\sum_(i < a.-1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) + `d[↓[u (inord a.-1)], sam1]_smove) + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
bef
be9
2 + \sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + `d[↓[u (inord a.-1)], sam1]_smove + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
bef
be9
2 + \sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + `d[↓[u (inord a.-1)], sam1]_smove + (\sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + `d[u2 (inord 2), u2 (inord 3)]_smove) <= sd (n:=n.+2) u
bef
be9
2 + \sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + `d[↓[u (inord a.-1)], sam1]_smove + (\sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + `d[↓[u ai], u2 (inord 3)]_smove) <= sd (n:=n.+2) u
bef
be9
2 + \sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + `d[↓[u (inord a.-1)], sam1]_smove + (\sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + `d[↓[u ai], ↓[u (inord l.+1)]]_smove) <= sd (n:=n.+2) u
bef
be9
\sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + (2 + `d[↓[u (inord a.-1)], sam1]_smove + \sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove) + `d[↓[u ai], ↓[u (inord l.+1)]]_smove <= sd (n:=n.+2) u
bef
be9
sd (n:=n.+2) u = \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + `d[u ai, u (inord ai.+1)]_smove
be9
\sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + (2 + `d[↓[u (inord a.-1)], sam1]_smove + \sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove) + `d[↓[u ai], ↓[u (inord l.+1)]]_smove <= \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + `d[u ai, u (inord ai.+1)]_smove
bf0b25
be9
ai = inord l
be9
sd (n:=n.+2) u = \sum_(i < l.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord l.-1), u (inord l)]_smove + `d[u (inord l), u (inord (inord l).+1)]_smove
c43bf0b25
be9
c4b
c42
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea
l1:nat
f:{ffun 'I_l1.+3 -> configuration 4 n.+2}

sd (n:=n.+2) f = \sum_(i < l1) `d[f (inord i), f (inord i.+1)]_smove + `d[f (inord l1), f (inord l1.+1)]_smove + `d[f (inord l1.+1), f (inord (inord l1.+1).+1)]_smove
c42
c52
inord l1.+2 = inord (inord l1.+1).+1
c42
be9
\sum_(i < a.-1) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) + (2 + `d[↓[u (inord a.-1)], sam1]_smove + \sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove) + `d[↓[u ai], ↓[u (inord l.+1)]]_smove <= \sum_(i < a.-1) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord a.-1), u ai]_smove + `d[u ai, u (inord ai.+1)]_smove
bef
be9
729
be9
2 + `d[↓[u (inord a.-1)], sam1]_smove + \sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove <= `d[u (inord a.-1), u ai]_smove
be9
`d[↓[u ai], ↓[u (inord l.+1)]]_smove <= `d[u ai, u (inord ai.+1)]_smove
bf0b25
c5f
be9
733
c61
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea738

739
c61
c6d
73d
c6d740
c62c64bf0b25
c6d
744
c6d747
c72c62c64bf0b25
c6d
74b
c6d74e
c77c72c62c64bf0b25
c6d
74e
c76
c6d
755
c71
c6d
759
c71
c6d
75d
c71
c6d
761
c61
c6d
765
c6d768
c62c64bf0b25
c6d
76c
c6d76f
c90c62c64bf0b25
c6d
773
c7cc95c90c62c64bf0b25
c7fc94
c6d
77a
c8f
c6d
77e
c8f
c6d
782
c6d785
c6d787
c90c62c64bf0b25
ca3
c6d
785
ca7c90c62c64bf0b25
caa
c6d
791
c8f
c6d
795
c8f
c6d
799
c61
c6d
79d
c6d7a0
c62c64bf0b25
c6d
7a4
c6d7a7
cbbc62c64bf0b25
c6d
7ab
c7ccc0cbbc62c64bf0b25
ca4
ca6c7ccc0cbbc62c64bf0b25
cabcc4
c7fcbf
c6d
7b7
cba
c6d
7bb
cba
c6d
7bf
cba
c6d
7c3
cba
ca4
ca6
c6d7c8
cbbc62c64bf0b25
cd9
cab
cdbcbbc62c64bf0b25
cde
c6d
7d1
cba
c6d
7a0
c61
c6d
7d8
c6d7db
c62c64bf0b25
c6d
7df
cea
c6d
7e3
c6d7e6
cebc62c64bf0b25
cab
c7ccf3cebc62c64bf0b25
c7fcf2
c6d
7ef
cea
c6d
7f3
cea
c6d
7f7
cea
c6d
7db
c61
c6d
`d[u (inord i), u (inord i.+1)]_smove = (`d[↓[u (inord i)], si i]_smove + (`d[si i, ti i]_smove + (`d[ti i, ↓[u (inord i.+1)]]_smove + 0))).+2 -> 2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, ↓[u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
c61
be9
c63
c64bf0b25
d0a
be9
2 + `d[↓[u (inord a.-1)], sam1]_smove + \sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove = `d[u (inord a.-1), u ai]_smove
d0c
be9
80c
d0c
be9
810
d0c
be9
814
d0c
be9
818
d0c
be9
c65
bef
be9
inord l.+1 = inord ai.+1
be9
`d[↓[u ai], ↓[u (inord ai.+1)]]_smove <= `d[u ai, u (inord ai.+1)]_smove
bf0b25
be9
d27
bef
bf1
573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea836837
P1:a.*2 + x1P1 + x2P1 <= sd (n:=n.+2) u

573
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783e
P1:a.*2 + x1P1 + x2P1 <= xP1

843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed37848

849
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784d
843
b25
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed37848852853

854
d3c
d42
858
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c
854
d3db25
d48
854
d3c
d48
863
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c867
854
d3db25
d51
854
d3c
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c86786f

870
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c867874
875
d3db25
d58
879
d59
d58
87d
d58880
d5ad3db25
d58
884
d62
d58
880
d59
d5b
875
d3c
d5b
88e
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c867874892
875
d3db25
d5b
899
d70
d5b
8a0
d70
d72
875
d3c
d72
8a7
d728aa
d3db25
d72
8aa
d3c
d72
8b1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b5
8aa
d3db25
d89
8aa
d3c
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58bd

8be
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58c2
8c3
d3db25
d90
8c7
d91
d90
8cb
d91
d90
8cf
d908d2
d92d3db25
d90
8d2
d91
d90
8d9
d91
d90
8dd
d91
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885385c8678748928b58bd

8e2
d91
d93
8c3
d3c
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58c28ea

8eb
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58c28ef
8f0
d3db25
db2
codom (si (k %/ 3)) \subset [:: p2; u (inord (k %/ 3).+1) ldisk] -> codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = D[[:: ↓[u (inord (k %/ 3))]; si (k %/ 3); ti (k %/ 3); ↓[u (inord (k %/ 3).+1)]]].+2 -> codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] k]
db3
db2
8fe
db3
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58c28ea903

904
dc0907
db4d3db25
dc0
90b
dc1
dc0
907
db3
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58c28ea903913

907
db3
dcc
917
dcc91a
db4d3db25
dcc
91a
db3
dcc
924
db3
db5
8f0
d3c
db5
92b
d3c
db5
codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = D[[:: ↓[u (inord (k %/ 3))]; si (k %/ 3); ti (k %/ 3); ↓[u (inord (k %/ 3).+1)]]].+2 -> codom (ti (k %/ 3)) \subset [:: a[p1, p3] k; p2]
d3c
db5
939
d3c
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58c28ef93e

904
de8907
d3db25
de8
944
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58c28ef93e948
904
dead3db25
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b593e

94d
dee
df0
904
de9
df0
954
de9
de8
907
d3c
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3784885285385c8678748928b58c28ef93e95c

907
d3c
e01
91a
d3c
e01
924
d3c
d3e
843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3796a

843
b24
e0e
96e
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3796a972
843
b25
e0e
976
e0e979
e13b25
e0e
979
e12
e14
843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed37972984

843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed37972989

843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a7

843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f

843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f
k:'I_4

0 < k < 3 -> codom (u2 k) \subset [:: pa; a[p2, paS] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f
cH3:forall k : 'I_4, 0 < k < 3 -> codom (u2 k) \subset [:: pa; a[p2, paS] k]
843
b25
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f
iH:1 < 4

codom tam1 \subset [:: pa; a[p2, paS] 1]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f
iH:2 < 4
codom ↓[u ai] \subset [:: pa; a[p2, paS] 2]
e37b25
e42
e44
e36
e42
codom (u ai) \subset [:: pa; a[p2, paS] 2]
e36
e42
codom (u ai) \subset [:: p2; a[p1, p3] ai] -> codom (u ai) \subset [:: pa; a[p2, paS] 2]
e36
e38
843
b24
e38
(S_[3] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) (u2 ord0) 3 ( a[p2, paS] 0) + sp (n:=n.+1) (u2 ord_max) 3 ( a[p2, paS] 3)
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f
P3:(S_[3] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) (u2 ord0) 3 ( a[p2, paS] 0) + sp (n:=n.+1) (u2 ord_max) 3 ( a[p2, paS] 3)
843
b25
e2f
9fa
e57
e59
843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f
P3:(S_[3] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) (u2 ord0) 3 ( a[p2, paS] 0) + \sum_(k < n.+1) (u2 ord_max k != a[p2, paS] 3) * (α_[1] k).*2

843
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f
P3:(S_[3] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) (u2 ord0) 3 p2 + \sum_(k < n.+1) (u2 ord_max k != a[p3, p1] l) * (α_[1] k).*2

843
b24
e2f
a16
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed379729a798f
P3:(S_[3] n.+1).*2 <= x2P1 + sp (n:=n.+1) sam1 3 p2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
843
b25
e70
843
b24
e70
a21
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fe71a26a27

a28
b24
e7b
a2c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26a27
yS:=\sum_(i < n.+1) (↓[u ord_max] i != a[p3, p1] l) * (α_[1] i).*2:nat
P3:(S_[3] n.+1).*2 <= x2P1 + sp (n:=n.+1) sam1 3 p2 + yS

a33
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38a39
y1S:=sp (n:=n.+1) sam1 3 p2:nat
P3:(S_[3] n.+1).*2 <= x2P1 + y1S + yS

a33
b24
e88
x1S + y1S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 3] n
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38a39e89e8a
x1Sy1SE:x1S + y1S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 3] n
a33
b25
e88
a47
e8f
e91
a33
b24
e88
2 < (3 * a).-2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38a39e89e8aa53
a33
b25
e9f
a33
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73

a33
b24
ea6
a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a81

a82
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a86
a7c
b25
ead
a8a
eae
ead
a8e
eae
ead
74e
eae
eb0
a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a86a99

a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9e

a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9ea81

S_[a.+1] k + S_[1] k <= S_[a.-1] k + S_[3] k
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9e
F6:forall k : nat, S_[a.+1] k + S_[1] k <= S_[a.-1] k + S_[3] k
a7c
b25
ec8
S_[1 + a.-2 + 2] k + S_[1] k <= S_[1 + 2] k + S_[1 + a.-2] k -> S_[a.+1] k + S_[1] k <= S_[a.-1] k + S_[3] k
eca
ecc
a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9eecd
F6n:S_[a.+1] n.+1 + S_[1] n.+1 <= S_[a.-1] n.+1 + S_[3] n.+1

a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9eed9
F6n1:S_[a.+1] n.+2 + S_[1] n.+2 <= S_[a.-1] n.+2 + S_[3] n.+2

a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9eed9ede
F72:S_[3] n.+2 = S_[3] n.+1 + α_[3] n.+1

a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9eed9edeee3
F721:S_[3] n.+1 = S_[3] n + α_[3] n

a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9eed9edeee3ee8ae9

a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9eed9edeee3ee8ae9aee

a7c
b24
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9eed9edeee3ee8ae9aee
F8:α_[1] n.+2 = α_[3] n.+1

a7c
b24
ef4
b06
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e5c3b23b2bb335d95eb5f05f998eb8cb91b9963f66a67b683692bea83683783ed3797298fa26e83a38e89e8aa53a73a99a9eed9edeee3ee8ae9aeeef5b0a
a7c
b25
ef4
b0e
ef9
efb
a7c
b24
b1d
b26
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1e
o1H:(a <= 1) || (b != 1)

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09
aE1:a = 1

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09
aD1:a != 1
573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0e
b_gt0:0 < b

573
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef17
bE:b = l

573
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c
bE1:1 = b
573
f10
f20
u (inord 1) ldisk = p2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1
u1C:u (inord 1) ldisk = p2
573
f22f10
51295565571155815161712131455955a56156856f57057157257958122858a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1

u (inord 1) ord_max != p3 -> u (inord 1) ldisk = p2
f29
f30
codom (u (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)] -> u (inord 1) ord_max != p3 -> u (inord 1) ldisk = p2
f29
f30
u (inord 1) ldisk \in [:: p2; a[p1, p3] (inord 1)] -> u (inord 1) ord_max != p3 -> u (inord 1) ldisk = p2
f29
f2b
573
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2c
s0:=sgdist1 (n:=n.+1) p3 (u ord0) (u (inord 1)) : configuration 4 n.+1:configuration 4 n.+1

573
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41
t0:=sgdist2 (n:=n.+1) p3 (u ord0) (u (inord 1)) : configuration 4 n.+1:configuration 4 n.+1

573
f21
f45
[/\ codom s0 \subset [:: p3; u (inord 1) ldisk], codom t0 \subset [:: u ord0 ldisk; p3] & `d[u ord0, u (inord 1)]_smove = D[[:: ↓[u ord0]; s0; t0; ↓[u (inord 1)]]].+2]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46
s0C:codom s0 \subset [:: p3; u (inord 1) ldisk]
t0C:codom t0 \subset [:: u ord0 ldisk; p3]
ds0t0E:`d[u ord0, u (inord 1)]_smove = D[[:: ↓[u ord0]; s0; t0; ↓[u (inord 1)]]].+2
573
f22f10
f45
u ord0 ldisk != p3
f45
u ord0 ldisk != u (inord 1) ldisk
f45
p3 != u (inord 1) ldisk
f45
u ord0 ldisk != p0
f45
u (inord 1) ldisk != p0
f4cf22f10
f52
f45
f57
f58f5af5cf4cf22f10
f60
f45
f59
f5af5cf4cf22f10
f65
f45
f5b
f5cf4cf22f10
f6a
f45
f5d
f4b
f4d
573
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50
u1:=[ffun i => if i == 0 :> nat then ↓[u ord0] else if i == 1 :> nat then s0 else if i == 2 :> nat then t0 else ↓[u (inord 1)]]:{ffun forall x : ordinal_finType 4, (fun=> configuration 4 n.+1) x}

573
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78
u2:=[ffun i => ↓[u (inord ((i : 'I_b.+1) + 1))]]:{ffun forall x : ordinal_finType b.+1, (fun=> configuration 4 n.+1) x}

573
f21
f7c
2 + sd (n:=n.+1) u1 + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d
P1:2 + sd (n:=n.+1) u1 + sd (n:=n.+1) u2 <= sd (n:=n.+2) u
573
f22f10
f7c
sd (n:=n.+2) u = `d[u ord0, u (inord 1)]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f7c
2 + sd (n:=n.+1) u1 + sd (n:=n.+1) u2 <= `d[u ord0, u (inord 1)]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f83f22f10
f7c
`d[u (inord 0), u (inord 1)]_smove + \sum_(i < l) `d[u (inord (bump 0 i)), u (inord (bump 0 i).+1)]_smove = `d[u ord0, u (inord 1)]_smove + \sum_(i < l) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f8a
f7c
inord 0 = ord0
f7c
\sum_(i < l) `d[u (inord (bump 0 i)), u (inord (bump 0 i).+1)]_smove = \sum_(i < l) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f8bf83f22f10
f7c
\sum_(i < l) `d[u (inord (bump 0 i)), u (inord (bump 0 i).+1)]_smove = \sum_(i < l) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f8a
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d
i:'I_l

`d[u (inord (bump 0 i)), u (inord (bump 0 i).+1)]_smove = `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f8a
f9f
bump 0 i < l.+2
f9f
(bump 0 i).+1 < l.+2
f8bf83f22f10
f9f
fa8
f8a
f7c
2 + sd (n:=n.+1) u1 + sd (n:=n.+1) u2 <= `d[u ord0, u (inord 1)]_smove + \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f82
f7c
2 + sd (n:=n.+1) u1 <= `d[u ord0, u (inord 1)]_smove
f7c
sd (n:=n.+1) u2 <= \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f83f22f10
f7c
2 + sd (n:=n.+1) u1 = `d[u ord0, u (inord 1)]_smove
fb4
f7c
2 + (`d[u1 (inord 0), u1 (inord 1)]_smove + `d[u1 (inord 1), u1 (inord 2)]_smove + `d[u1 (inord 2), u1 (inord 3)]_smove) = `d[u ord0, u (inord 1)]_smove
fb4
f7c
(`d[↓[u ord0], s0]_smove + `d[s0, t0]_smove + `d[t0, ↓[u (inord 1)]]_smove).+2 = `d[u ord0, u (inord 1)]_smove
fb4
f7c
sd (n:=n.+1) u2 <= \sum_(i < b) `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f82
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d821

`d[u2 (inord i), u2 (inord i.+1)]_smove <= `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f82
fca
`d[↓[u (inord (i + 1))], u2 (inord i.+1)]_smove <= `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f82
fca
`d[↓[u (inord (i + 1))], ↓[u (inord (i.+1 + 1))]]_smove <= `d[u (inord (a + i)), u (inord (a + i.+1))]_smove
f82
fca
`d[↓[u (inord (1 + i))], ↓[u (inord (1 + i).+1)]]_smove <= `d[u (inord (1 + i)), u (inord (1 + i).+1)]_smove
f82
f84
573
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d836837
P1:2 + x1P1 + x2P1 <= sd (n:=n.+2) u

573
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783e
P1:2 + x1P1 + x2P1 <= xP1

843
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4e34

0 < k < 3 -> codom (u1 k) \subset [:: p3; a[p1, p2] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4
cH2:forall k : 'I_4, 0 < k < 3 -> codom (u1 k) \subset [:: p3; a[p1, p2] k]
843
f22f10
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4e3e

codom s0 \subset [:: p3; p2]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4e43
codom t0 \subset [:: p3; p1]
febf22f10
ff5
ff6
fea
fec
843
f21
fec
(S_[3] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) ↓[u (inord 0)] 3 ( a[p1, p2] 0) + sp (n:=n.+1) ↓[u (inord 1)] 3 ( a[p1, p2] 3)
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4
P2:(S_[3] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) ↓[u (inord 0)] 3 ( a[p1, p2] 0) + sp (n:=n.+1) ↓[u (inord 1)] 3 ( a[p1, p2] 3)
843
f22f10
fec
p3 != p2
fec
sd (n:=n.+1) u1 + sp (n:=n.+1) (u1 ord0) 3 ( a[p1, p2] 0) + sp (n:=n.+1) (u1 ord_max) 3 ( a[p1, p2] 3) <= sd (n:=n.+1) u1 + sp (n:=n.+1) ↓[u (inord 0)] 3 ( a[p1, p2] 0) + sp (n:=n.+1) ↓[u (inord 1)] 3 ( a[p1, p2] 3)
1002f22f10
fec
100b
1001
fec
sp (n:=n.+1) (u1 ord0) 3 ( a[p1, p2] 0) = sp (n:=n.+1) ↓[u (inord 0)] 3 ( a[p1, p2] 0)
fec
sp (n:=n.+1) (u1 ord_max) 3 ( a[p1, p2] 3) = sp (n:=n.+1) ↓[u (inord 1)] 3 ( a[p1, p2] 3)
1002f22f10
fec
1015
1001
1003
843
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4
P2:(S_[3] n.+1).*2 <= sd (n:=n.+1) u1 + \sum_(k < n.+1) (↓[u (inord 0)] k != a[p1, p2] 0) * (α_[1] k).*2 + sp (n:=n.+1) ↓[u (inord 1)] 3 ( a[p1, p2] 3)

843
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4
P2:(S_[3] n.+1).*2 <= sd (n:=n.+1) u1 + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+1) ↓[u (inord a)] 3 p2

843
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe410259c1

0 < k < b -> codom (u2 k) \subset [:: p2; a[p3, p1] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe41025
cH3:forall k : 'I_b.+1, 0 < k < b -> codom (u2 k) \subset [:: p2; a[p3, p1] k]
843
f22f10
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe410259c1852
kLb:k < l

codom (u2 k) \subset [:: p2; a[p3, p1] k]
102b
1032
codom (u (inord k.+1)) \subset [:: p2; a[p3, p1] k]
102b
1032
(0 < inord k.+1 < l.+1 -> codom (u (inord k.+1)) \subset [:: p2; a[p1, p3] (inord k.+1)]) -> codom (u (inord k.+1)) \subset [:: p2; a[p3, p1] k]
102b
1032
k.+1 < l.+2
102b
102d
843
f21
102d
(S_[b] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) ↓[u (inord 1)] b p3 + sp (n:=n.+1) ↓[u ord_max] b ( a[p3, p1] b)
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe41025
P3:(S_[b] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) ↓[u (inord 1)] b p3 + sp (n:=n.+1) ↓[u ord_max] b ( a[p3, p1] b)
843
f22f10
102d
sd (n:=n.+1) u2 + sp (n:=n.+1) (u2 ord0) b ( a[p3, p1] 0) + sp (n:=n.+1) (u2 ord_max) b ( a[p3, p1] b) <= sd (n:=n.+1) u2 + sp (n:=n.+1) ↓[u (inord 1)] b p3 + sp (n:=n.+1) ↓[u ord_max] b ( a[p3, p1] b)
1048
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe41025102e
i:ordinal_finType n.+1

(u2 ord0 i != a[p3, p1] 0) * β_[n.+1, b] i = (↓[u (inord 1)] i != p3) * β_[n.+1, b] i
1053
(u2 ord_max i != a[p3, p1] b) * β_[n.+1, b] i = (↓[u ord_max] i != a[p3, p1] b) * β_[n.+1, b] i
1049f22f10
1053
1058
1048
1053
a16
1048
104a
843
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe41025
P3:(S_[b] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) ↓[u (inord 1)] b p3 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] b) * (α_[1] k).*2

843
f21
1024
a[p3, p1] b = a[p3, p1] l
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe41025
P3:(S_[b] n.+1).*2 <= x2P1 + sp (n:=n.+1) ↓[u (inord 1)] b p3 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
843
f22f10
106d
843
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe41025
P3:(S_[b] n.+1).*2 <= x2P1 + sp (n:=n.+1) ↓[u (inord a)] b p3 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2

843
f21
1075
(S_[l.+1] n.+2).*2 <= xP1 + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + (\sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + α_[l.+1] n.+1)
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe41076
xS:=\sum_(i < n.+1) (↓[u ord0] i != p1) * (α_[1] i).*2:nat
P2:(S_[3] n.+1).*2 <= sd (n:=n.+1) u1 + xS + sp (n:=n.+1) ↓[u (inord a)] 3 p2

a2c
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4107f1080e83
P3:(S_[b] n.+1).*2 <= x2P1 + sp (n:=n.+1) ↓[u (inord a)] b p3 + yS

a33
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4107fe83
x1S:=sp (n:=n.+1) ↓[u (inord a)] 3 p2:nat
P2:(S_[3] n.+1).*2 <= sd (n:=n.+1) u1 + xS + x1S
y1S:=sp (n:=n.+1) ↓[u (inord a)] b p3:nat
P3:(S_[b] n.+1).*2 <= x2P1 + y1S + yS

a33
f21
1089
x1S + y1S <= (S_[1] n).*2 + α_[maxn 3 b] n
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108b108c108d
x1Sy1SE:x1S + y1S <= (S_[1] n).*2 + α_[maxn 3 b] n
a33
f22f10
1089
codom ↓[u (inord a)] \subset [:: p2; p3]
1092
1089
codom (u (inord a)) \subset [:: p2; p3]
1092
1089
codom (u (inord a)) \subset [:: p2; a[p1, p3] (inord a)] -> codom (u (inord a)) \subset [:: p2; p3]
1092
1094
a33
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1c5d1f2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d1095
P2:(S_[3] n.+1).*2 <= x1P1 + xS + x1S

a33
f21
10a8
S_[b.+1] n.+1 + α_[b.+1] n.+1 + S_[b.+1] n.+2 <= xP1 + xS + (yS + α_[b.+1] n.+1)
f21
10a8
S_[b.+1] n.+1 + S_[b.+1] n.+2 + 2 * S_[1] n + α_[maxn 3 b] n <= 2 * S_[3] n.+1 + 2 * S_[b] n.+1 + 2 -> S_[b.+1] n.+1 + α_[b.+1] n.+1 + S_[b.+1] n.+2 <= xP1 + xS + (yS + α_[b.+1] n.+1)
10a8
S_[b.+1] n.+1 + S_[b.+1] n.+2 + 2 * S_[1] n + α_[maxn 3 b] n <= 2 * S_[3] n.+1 + 2 * S_[b] n.+1 + 2
f22f10
10a8
10b4
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a9
bE2:2 = b

10b4
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a9
b_gt2:2 < b
10b4
f22f10
10bb
S_[3] n.+1 + S_[3] n.+2 + 2 * S_[1] n + α_[3] n <= 2 * S_[3] n.+1 + 2 * S_[2] n.+1 + 2
10bd
10bb
S_[3] n.+1 + (S_[3] n.+1 + α_[3] n.+1) + 2 * S_[1] n + α_[3] n <= 2 * S_[3] n.+1 + 2 * S_[2] n.+1 + 2
10bd
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910bc
G1:α_[3] n = α_[1] n.+1

10c8
10bd
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910bc10cd
G2:α_[3] n.+1 = α_[1] n.+2

10c8
10bd
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910bc10cd10d2
F:S_[1] n.+1 + S_[1] n.+2 <= (S_[2] n.+1).*2.+1

10c8
10bd
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910bc10cd10d2
F:S_[1] n + α_[1] n + (S_[1] n + α_[1] n + α_[1] n.+1) <= (S_[2] n.+1).*2.+1

10c8
10bd
10bf
10b4
f21
10bf
S_[b.+1] n.+1 + S_[b.+1] n.+2 + 2 * S_[1] n + α_[b] n <= 2 * S_[3] n.+1 + 2 * S_[b] n.+1 + 2
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910c0
A0:S_[1] n.+2 = (S_[3] n.+1).+1

10e3
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910c010e8
A1:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

10e3
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910c010e810ed
A2:S_[1] n.+1 = S_[1] n + α_[1] n

10e3
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910c010e810ed10f2
A3:S_[b] n.+1 = S_[b] n + α_[b] n

10e3
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910c010e810ed10f210f7
A4:1 < b -> S_[b.+1] n.+1 <= S_[b] n + (α_[1] n).*2

10e3
f21
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf2cf41f46f4ef4ff50f78f7d83683783efe4107fe83108a108c108d109510a910c010e810ed10f210f710fc
A5:1 < b -> S_[b.+1] n.+2 <= S_[b] n.+1 + (α_[1] n.+1).*2

10e3
f21
f23
573
f0f
f23
codom (u (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)] -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
f0f
f23
u (inord 1) ldisk \in [:: p2; a[p1, p3] (inord 1)] -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
f0f
f23
(u (inord 1) ldisk == p2) || (u (inord 1) ldisk == p3) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
f0f
f23
inord a = inord 1
f23
u (inord 1) ord_max != a[p1, p3] a -> (u (inord 1) ldisk == p2) || (u (inord 1) ldisk == p3) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
f10
f23
1117
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24
u1LE:u (inord 1) ldisk = p2

573
f0f
111e
f54
111ef57
111ef59
111ef5b
111ef5d
111e
codom (sgdist1 (n:=n.+1) p3 (u ord0) (u (inord 1))) \subset [:: p3; u (inord 1) ldisk] -> codom (sgdist2 (n:=n.+1) p3 (u ord0) (u (inord 1))) \subset [:: u ord0 ldisk; p3] -> `d[u ord0, u (inord 1)]_smove = D[[:: ↓[u ord0]; sgdist1 (n:=n.+1) p3 (u ord0) (u (inord 1)); sgdist2 (n:=n.+1) p3 (u ord0) (u (inord 1)); ↓[u (inord 1)]]].+2 -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
f10
1121
111e
f57
1125112611271128f10
112c
111e
f59
112611271128f10
1131
111e
f5b
11271128f10
1136
111e
f5d
1128f10
111e
1129
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f
s0:=sgdist1 (n:=n.+1) p3 (u ord0) (u (inord 1)):configuration 4 n.+1
t0:=sgdist2 (n:=n.+1) p3 (u ord0) (u (inord 1)):configuration 4 n.+1

codom s0 \subset [:: p3; u (inord 1) ldisk] -> codom t0 \subset [:: u ord0 ldisk; p3] -> `d[u ord0, u (inord 1)]_smove = D[[:: ↓[u ord0]; s0; t0; ↓[u (inord 1)]]].+2 -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f
du0u1:`d[u ord0, u (inord 1)]_smove = (`d[↓[u ord0], s0]_smove + `d[s0, t0]_smove + `d[t0, ↓[u (inord 1)]]_smove).+2

573
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c
u1:=[ffun i => if (i : 'I_5) == 0 :> nat then ↓[u ord0] else if i == 1 :> nat then s0 else if i == 2 :> nat then t0 else if i == 3 :> nat then ↓[u (inord 1)] else ↓[u (inord 2)]]:{ffun forall x : ordinal_finType 5, (fun=> configuration 4 n.+1) x}

573
f0f
1150
2 + sd (n:=n.+1) u1 <= sd (n:=n.+2) u
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c1151
P1:2 + sd (n:=n.+1) u1 <= sd (n:=n.+2) u
573
f10
1150
2 + \sum_(i < 2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[u1 (inord 2), u1 (inord 3)]_smove + `d[u1 (inord 3), u1 (inord 4)]_smove <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord l), u (inord l.+1)]_smove
1156
1150
`d[u1 (inord 3), u1 (inord 4)]_smove <= `d[u (inord l), u (inord l.+1)]_smove
1150
2 + \sum_(i < 2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[u1 (inord 2), u1 (inord 3)]_smove <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
1157f10
1150
`d[u1 (inord 3), u1 (inord 4)]_smove <= `d[↓[u (inord l)], ↓[u (inord l.+1)]]_(move (q:=4) (srel (n:=4)))
1162
1150
`d[u1 (inord 3), u1 (inord 4)]_smove = `d[↓[u (inord l)], ↓[u (inord l.+1)]]_(move (q:=4) (srel (n:=4)))
1162
1150
`d[↓[u (inord 1)], ↓[u (inord 2)]]_smove = `d[↓[u (inord l)], ↓[u (inord l.+1)]]_(move (q:=4) (srel (n:=4)))
1162
1150
1164
1156
1150
2 + \sum_(i < 2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[u1 (inord 2), u1 (inord 3)]_smove = \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
1156
1150
2 + (`d[↓[u ord0], s0]_smove + `d[s0, t0]_smove) + `d[t0, ↓[u (inord 1)]]_smove = \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
1156
1150
`d[u ord0, u (inord 1)]_smove = \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
1156
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef24111f11451146f4ef4f114c1151

1 = l -> `d[u ord0, u (inord 1)]_smove = \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
1156
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef24111f11451146f4ef4f114c1151
uu:{ffun 'I_3 -> configuration 4 n.+2}

`d[uu ord0, uu (inord 1)]_smove = `d[uu (inord 0), uu (inord 1)]_smove
1156
1158
573
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c11511159
k:'I_5

0 < k < 4 -> codom (u1 k) \subset [:: p3; a[p1, p2] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c11511159
cH1:forall k : 'I_5, 0 < k < 4 -> codom (u1 k) \subset [:: p3; a[p1, p2] k]
573
f10
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c11511159
iH:1 < 5

codom (if Ordinal (n:=5) (m:=1) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=1) iH == 1 then s0 else if Ordinal (n:=5) (m:=1) iH == 2 then t0 else if Ordinal (n:=5) (m:=1) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p2]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c11511159
iH:2 < 5
codom (if Ordinal (n:=5) (m:=2) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=2) iH == 1 then s0 else if Ordinal (n:=5) (m:=2) iH == 2 then t0 else if Ordinal (n:=5) (m:=2) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p1]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c11511159
iH:3 < 5
codom (if Ordinal (n:=5) (m:=3) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=3) iH == 1 then s0 else if Ordinal (n:=5) (m:=3) iH == 2 then t0 else if Ordinal (n:=5) (m:=3) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p2]
1195f10
1199
11a0
codom (if Ordinal (n:=5) (m:=2) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=2) iH == 1 then s0 else if Ordinal (n:=5) (m:=2) iH == 2 then t0 else if Ordinal (n:=5) (m:=2) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p1]
11a31195f10
11a9
11a4
codom (if Ordinal (n:=5) (m:=3) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=3) iH == 1 then s0 else if Ordinal (n:=5) (m:=3) iH == 2 then t0 else if Ordinal (n:=5) (m:=3) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p2]
1194
11a4
codom ↓[u (inord 1)] \subset [:: p2; p3]
1194
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c1151115911a531e
x:ordinal_finType n.+1

u (inord 1) (trshift 1 x) \in [:: p2; p3]
1194
11b9
codom (u (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)] -> u (inord 1) (trshift 1 x) \in [:: p2; p3]
1194
1196
573
f0f
1196
(S_[4] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) (u1 ord0) 4 p1 + sp (n:=n.+1) (u1 ord_max) 4 p1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c11511159
P2:(S_[4] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) (u1 ord0) 4 p1 + sp (n:=n.+1) (u1 ord_max) 4 p1
573
f10
11c9
573
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c115111ca
xP:=sd (n:=n.+2) u:nat
P1:2 + sd (n:=n.+1) u1 <= xP

(S_[l.+1] n.+2).*2 <= xP + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c115111d211d3
P2:(S_[4] n.+1).*2 <= sd (n:=n.+1) u1 + \sum_(k < n.+1) (u1 ord0 k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (u1 ord_max k != p1) * (α_[1] k).*2

11d4
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c115111d2
x1P:=sd (n:=n.+1) u1:nat
P1:2 + x1P <= xP
P2:(S_[4] n.+1).*2 <= x1P + \sum_(k < n.+1) (u1 ord0 k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (u1 ord_max k != p1) * (α_[1] k).*2

11d4
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c115111d211de11df

inord 2 = ord_max
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c115111d211de11df
P2:(S_[4] n.+1).*2 <= x1P + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != p1) * (α_[1] k).*2
11d4
f10
11e8
11d4
f0f
11e4
p1 = a[p3, p1] l
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c115111d211de11df
P2:(S_[4] n.+1).*2 <= x1P + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
11d4
f10
11f3
11d4
f0f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f0ef1cf24111f11451146f4ef4f114c115111d211de11df
x1S:=\sum_(H < n.+1) (↓[u ord0] H != p1) * (α_[1] H).*2:nat
x2S:=\sum_(H < n.+1) (↓[u ord_max] H != a[p3, p1] l) * (α_[1] H).*2:nat
P2:(S_[4] n.+1).*2 <= x1P + x1S + x2S

11d4
f0f
11fb
(S_[l.+1] n.+2).*2 <= xP + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + (\sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + α_[l.+1] n.+1)
f0f
11fb
(S_[l.+1] n.+2).*2 <= xP + (x1S + (x2S + α_[l.+1] n.+1))
f0f
11fb
(S_[l.+1] n.+2).*2 <= 2 + x1P + (x1S + (x2S + α_[l.+1] n.+1))
f0f
11fb
(S_[l.+1] n.+2).*2 <= x1P + x1S + x2S + (α_[l.+1] n.+1 + 2)
f0f
11fb
(S_[l.+1] n.+2).*2 <= (S_[4] n.+1).*2 + (α_[l.+1] n.+1 + 2)
f0f
11fb
S_[2] n.+2 + S_[2] n.+1 + α_[2] n.+1 <= (S_[4] n.+1).*2 + (α_[2] n.+1 + 2)
f0f
11fb
S_[2] n.+1 + S_[2] n.+2 <= (S_[4] n.+1).*2 + 2
f0f
f11
573
f11
a = l.+1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f12
aEl:a = l.+1
573
f11
l < a
1222
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95bef09f12

l.-1 < a -> l < a
1222
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95bef12

b != 1 -> l.-1 < a -> l < a
1222
1232
l <= a -> l.+1 - a != 1 -> l < a
1222
1224
573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225
bE0:b = 0

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f0

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f014a

i < l -> [/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[u (inord i.+1)]]].+2]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f0
sitiH:forall i : nat, i < l -> [/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[ u (inord i.+1)]]].+2]
573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f014a
iLl:i < l

5ff
124d
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f014a1255
iLl1:i < l.+1

5ff
124d
1259
608
125960b
125960d
125960f
1259611
124e
125c
1259
60b
126012611262124e
1265
1259
61b
1267
1259
60d
12611262124e
126d
1259
60f
1262124e
1272
1259
611
124d
124f
573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f01250
u1:=[ffun i => if (i : 'I_(3 * l).+2) == (3 * l).+1 :> nat then ↓[u ai] else if i %% 3 == 0 then ↓[u (inord (i %/ 3))] else if i %% 3 == 1 then si (i %/ 3) else ti (i %/ 3)]:{ffun forall x : ordinal_finType (3 * l).+2, (fun=> configuration 4 n.+1) x}

573
127f
67f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683
573
127f
↓[u (inord (0 %/ 3))] = ↓[u ord0]
1284
1286
573
1286
u1 ord_max = ↓[u ord_max]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683
u1mE:u1 ord_max = ↓[u ord_max]
573
1286
↓[u ai] = ↓[u ord_max]
1292
1294
573
1294
l.*2 + sd (n:=n.+1) u1 <= sd (n:=n.+2) u
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f0125012806831295
P1:l.*2 + sd (n:=n.+1) u1 <= sd (n:=n.+2) u
573
1294
l.*2 + (\sum_(i < 3 * l) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[u1 (inord (3 * l)), u1 (inord (3 * l).+1)]_smove) <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + `d[u (inord l), u (inord l.+1)]_smove
12a1
1294
`d[u1 (inord (3 * l)), u1 (inord (3 * l).+1)]_smove <= `d[u (inord l), u (inord l.+1)]_smove
1294
l.*2 + \sum_(i < 3 * l) `d[u1 (inord i), u1 (inord i.+1)]_smove <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
12a2
1294
`d[u1 (inord (3 * l)), u1 (inord (3 * l).+1)]_smove <= `d[↓[u (inord l)], ↓[u (inord l.+1)]]_(move (q:=4) (srel (n:=4)))
12ad
1294
`d[u1 (inord (3 * l)), u1 (inord (3 * l).+1)]_smove = `d[↓[u (inord l)], ↓[u (inord l.+1)]]_(move (q:=4) (srel (n:=4)))
12ad
1294
`d[if 3 * l == (3 * l).+1 then ↓[u ai] else if (3 * l) %% 3 == 0 then ↓[u (inord ((3 * l) %/ 3))] else if (3 * l) %% 3 == 1 then si ((3 * l) %/ 3) else ti ((3 * l) %/ 3), ↓[u ai]]_smove = `d[↓[u (inord l)], ↓[u (inord l.+1)]]_(move (q:=4) (srel (n:=4)))
12ad
1294
`d[↓[u (inord l)], ↓[u ai]]_smove = `d[↓[u (inord l)], ↓[u (inord l.+1)]]_(move (q:=4) (srel (n:=4)))
12ad
1294
ai == inord l.+1
12ad
1294
12af
12a1
1294
l.*2 + \sum_(i < 3 * l) `d[u1 (inord i), u1 (inord i.+1)]_smove = \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
12a1
1294
l.*2 + \sum_(i < l) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
12a1
1294
l.*2 = \sum_(i < l) 2
1294
\sum_(i < l) 2 + \sum_(i < l) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
12a2
1294
\sum_(i < l) 2 + \sum_(i < l) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove
12a1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f0125012806831295fa0

739
12a1
12dd
3 * i < (3 * l).+2
12dd
2 + (`d[if 3 * i == (3 * l).+1 then ↓[u ai] else if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a2
12dd
2 + (`d[if 3 * i == (3 * l).+1 then ↓[u ai] else if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a1
12dd
2 + (`d[if (3 * i <= (3 * l).+1) && ~~ (i <= l) then ↓[u ai] else if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a1
12dd
761
12a1
12dd
(3 * i).+1 < (3 * l).+2
12dd
2 + (`d[↓[u (inord i)], if (3 * i).+1 == (3 * l).+1 then ↓[u ai] else if (3 * i).+1 %% 3 == 0 then ↓[ u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)]_smove + `d[if (3 * i).+1 == (3 * l).+1 then ↓[u ai] else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a2
12dd
2 + (`d[↓[u (inord i)], if (3 * i).+1 == (3 * l).+1 then ↓[u ai] else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)]_smove + `d[if (3 * i).+1 == (3 * l).+1 then ↓[u ai] else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a1
12dd
2 + (`d[↓[u (inord i)], if ~~ (3 * l < 3 * i) && ~~ (i < l) then ↓[u ai] else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)]_smove + `d[if ~~ (3 * l < 3 * i) && ~~ (i < l) then ↓[u ai] else if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a1
12dd
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i.+1))]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a1
12dd
(3 * i).+2 < (3 * l).+2
12dd
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, if (3 * i).+2 == (3 * l).+1 then ↓[u ai] else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)]_smove + `d[if (3 * i).+2 == (3 * l).+1 then ↓[u ai] else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3), u1 (inord (3 * i.+1))]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a2
12dd
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, if (3 * i).+2 == (3 * l).+1 then ↓[u ai] else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)]_smove + `d[if (3 * i).+2 == (3 * l).+1 then ↓[u ai] else if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3), u1 (inord (3 * i.+1))]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a1
12dd
(3 * i).+2 != (3 * l).+1
12dd
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, u1 (inord (3 * i.+1))]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a2
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f0125012806831295fa0
eH:(3 * i).+2 = (3 * l).+1

~~ true
1312
1318
(3 * i).+2 = (3 * l).+1 %[mod 3] -> ~~ true
1312
12dd
1314
12a1
12dd
3 * i.+1 < (3 * l).+2
12dd
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, if 3 * i.+1 == (3 * l).+1 then ↓[u ai] else if (3 * i.+1) %% 3 == 0 then ↓[u (inord ((3 * i.+1) %/ 3))] else if (3 * i.+1) %% 3 == 1 then si ((3 * i.+1) %/ 3) else ti ((3 * i.+1) %/ 3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
12a2
12dd
1328
12a1
12dd
7db
12dd
3 * i.+1 != (3 * l).+1
12a2
12dd
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, ↓[u (inord i.+1)]]_smove) = (`d[↓[u (inord i)], si i]_smove + (`d[si i, ti i]_smove + (`d[ti i, ↓[u (inord i.+1)]]_smove + 0))).+2
132f
12dd
1331
12a1
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f0125012806831295fa0
eH:3 * i.+1 = (3 * l).+1

131a
12a1
133c
3 * i.+1 = (3 * l).+1 %[mod 3] -> ~~ true
12a1
12a3
573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a4
k:'I_(3 * l).+2

0 < k < (3 * l).+1 -> codom (u1 k) \subset [:: p2; a[p1, p3] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a4
cH1:forall k : 'I_(3 * l).+2, 0 < k < (3 * l).+1 -> codom (u1 k) \subset [:: p2; a[p1, p3] k]
573
1348
0 < k < (3 * l).+1 -> codom (if k == (3 * l).+1 then ↓[u ai] else if k %% 3 == 0 then ↓[u (inord (k %/ 3))] else if k %% 3 == 1 then si (k %/ 3) else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
134b
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a41349
kD3l1:k != (3 * l).+1

0 < k < (3 * l).+1 -> codom (if k %% 3 == 0 then ↓[u (inord (k %/ 3))] else if k %% 3 == 1 then si (k %/ 3) else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
134b
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a413491357
km3E0:k %% 3 = 0

0 < k < (3 * l).+1 -> codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a413491357
km3D0:k %% 3 != 0
0 < k < (3 * l).+1 -> codom (if k %% 3 == 1 then si (k %/ 3) else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
134c
135c
0 < k %/ 3 * 3 < (3 * l).+1 -> codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] (k %/ 3 * 3)]
135f
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a413491357135d
k3_gt0:0 < k %/ 3
k3Ll:k %/ 3 <= l

codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] (3 * (k %/ 3))]
135f
136b
codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] (k %/ 3)]
135f
136b
8cf
136b
(0 < k %/ 3 < l.+1 -> codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] (k %/ 3)]) -> codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] (k %/ 3)]
1360134c
136b
1378
135f
1361
1363
134b
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a4134913571362
km3E1:k %% 3 = 1

0 < k < (3 * l).+1 -> codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] k]
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a4134913571362
km3D1:k %% 3 != 1
0 < k < (3 * l).+1 -> codom (ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
134c
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a41349135713621383
H1:k %/ 3 < l

codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] (3 * (k %/ 3)).+1]
1385
138d
codom (si (k %/ 3)) \subset [:: p2; u (inord (k %/ 3).+1) ldisk] -> codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = D[[:: ↓[u (inord (k %/ 3))]; si (k %/ 3); ti (k %/ 3); ↓[u (inord (k %/ 3).+1)]]].+2 -> codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] (3 * (k %/ 3)).+1]
1385
1387
1389
134b
1387
944
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a41349135713621388
km3E2:k %% 3 = 2
1389
134c
139c
1389
134b
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a41349135713621388139d
H1:(k %/ 3 * 3).+1 < 3 * l

codom (ti (k %/ 3)) \subset [:: p2; a[p1, p3] (k %/ 3 * 3).+2]
134b
13a4
k %/ 3 < l
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a41349135713621388139d138e
13a6
134c
13ad
13a6
134b
13ad
codom (ti (k %/ 3)) \subset [:: a[p1, p3] (k %/ 3 * 3).+2; p2]
134b
13ad
codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = D[[:: ↓[u (inord (k %/ 3))]; si (k %/ 3); ti (k %/ 3); ↓[u (inord (k %/ 3).+1)]]].+2 -> codom (ti (k %/ 3)) \subset [:: a[p1, p3] (k %/ 3 * 3).+2; p2]
134b
13ad
codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = D[[:: ↓[u (inord (k %/ 3))]; si (k %/ 3); ti (k %/ 3); ↓[u (inord (k %/ 3).+1)]]].+2 -> codom (ti (k %/ 3)) \subset [:: a[p1, p3] (k %/ 3); p2]
134b
134d
573
134d
(S_[(3 * l).+1] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) (u1 ord0) (3 * l).+1 p1 + sp (n:=n.+1) (u1 ord_max) (3 * l).+1 ( a[p1, p3] (3 * l).+1)
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a4
P2:(S_[(3 * l).+1] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) (u1 ord0) (3 * l).+1 p1 + sp (n:=n.+1) (u1 ord_max) (3 * l).+1 ( a[p1, p3] (3 * l).+1)
573
13c6
573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129512a4
P2:(S_[(3 * l).+1] n.+1).*2 <= sd (n:=n.+1) u1 + \sum_(k < n.+1) (u1 ord0 k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (u1 ord_max k != a[p1, p3] (3 * l).+1) * (α_[1] k).*2

573
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129513cf11d2
P1:l.*2 + sd (n:=n.+1) u1 <= xP

11d4
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129513cf11d211de
P1:l.*2 + x1P <= xP

11d4
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129511d211de13d9

a[p1, p3] (3 * l).+1 = a[p3, p1] l
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129511d211de13d9
P2:(S_[(3 * l).+1] n.+1).*2 <= x1P + \sum_(k < n.+1) (u1 ord0 k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (u1 ord_max k != a[p3, p1] l) * (α_[1] k).*2
11d4
13e1
11d4
13e1
1202
13dd
ai = ord_max
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129511d211de13d9
P2:(S_[(3 * l).+1] n.+1).*2 <= x1P + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1202
13ef
1202
51295565571155815161712131455955a56156856f57057157257958122858958a59359b5a05a55aa5af5b45b95beb1ef09f121225123f5eb5f012501280683129511d211de13d911fc11fd
P2:(S_[(3 * l).+1] n.+1).*2 <= x1P + x1S + x2S

1202
13f7
(S_[l.+1] n.+2).*2 <= xP + x1S + (x2S + α_[l.+1] n.+1)
13f7
S_[l.+1] n.+1 + S_[l.+1] n.+2 <= xP + x1S + x2S
13f7
S_[l.+1] n.+1 + S_[l.+1] n.+2 <= xP + (x1S + x2S)
13f7
S_[l.+1] n.+1 + S_[l.+1] n.+2 <= l.*2 + x1P + (x1S + x2S)
13f7
S_[l.+1] n.+1 + S_[l.+1] n.+2 <= l.*2 + (x1P + x1S + x2S)
13f7
S_[l.+1] n.+1 + S_[l.+1] n.+2 <= l.*2 + (S_[(3 * l).+1] n.+1).*2
13f7
(S_[(l.+1).*2] n.+1).*2 + l.+1 <= l.*2 + (S_[(3 * l).+1] n.+1).*2
13f7
l < l.*2
13f7
(S_[(l.+1).*2] n.+1).*2 <= (S_[(3 * l).+1] n.+1).*2
13f7
141b
13f7
S_[(l.+1).*2] n.+1 <= S_[(3 * l).+1] n.+1
13f7
(l.+1).*2 <= (3 * l).+1
by rewrite doubleS ltnS -mul2n ltn_mul2r l_ggt0. Qed. End Case1. (* This corresponds to the subcase of 4.2 when E is empty *) Section Case2. Variable n : nat. Hypothesis IH: forall (l : nat) (p1 p2 p3 : ordinal_eqType 4) (u : {ffun 'I_l.+1 -> configuration 4 n.+1}), p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] n.+1).*2 <= sd u + sp (u ord0) l (a[p1, p3] 0) + sp (u ord_max) l (a[p1, p3] l).
512955655755811

p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> u ord0 ord_max = p1 -> u ord_max ord_max = a[p3, p1] l -> (forall k : ordinal_finType l.+2, u k ldisk = a[p1, p3] k) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
1428
512955655755811151617121314

(forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> u ord0 ord_max = p1 -> u ord_max ord_max = a[p3, p1] l -> (forall k : ordinal_finType l.+2, u k ldisk = a[p1, p3] k) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
512955655755811151617121314559570
KH2:u ord_max ord_max = a[p3, p1] l
ukLE:forall k : 'I_l.+2, u k ldisk = a[p1, p3] k

573
5129556557558111516171213145595701436143755a

573
143b
55b
5129556557558111516171213145595701436143755a561
573
1441
573
5129556557558111516171213145595701436143755a561228

562
5129556557558111516171213145595701436143755a561
apegpaD2:forall a : nat, a[p1, p3] a != p2
573
144b
573
5129556557558111516171213145595701436143755a561144c228

569
5129556557558111516171213145595701436143755a561144c
apegpaD0:forall a : nat, a[p1, p3] a != p0
573
1456
573
5129556557558111516171213145595701436143755a561144c14575eb

573
5129556557558111516171213145595701436143755a561144c14575eb5f0

573
5129556557558111516171213145595701436143755a561144c14575eb5f014a

i < l.+1 -> [/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[u (inord i.+1)]]].+2]
5129556557558111516171213145595701436143755a561144c14575eb5f0
sitiH:forall i : nat, i < l.+1 -> [/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[ u (inord i.+1)]]].+2]
573
5129556557558111516171213145595701436143755a561144c14575eb5f014a
iLl:i < l.+1

5ff
1468
5129556557558111516171213145595701436143755a561144c14575eb5f014a1470
i1Ll1:i <= l

5ff
1468
1474
a[p1, p3] (inord i) != a[p1, p3] (inord i.+1)
1474
p2 != a[p1, p3] (inord i.+1)
1469
1474
61b
147a
1474
147c
1468
146a
573
5129556557558111516171213145595701436143755a561144c14575eb5f0146b
u1:=[ffun i => if (i : 'I_(3 * l.+1).+1) %% 3 == 0 then ↓[u (inord (i %/ 3))] else if i %% 3 == 1 then si (i %/ 3) else ti (i %/ 3)]:{ffun forall x : ordinal_finType (3 * l.+1).+1, (fun=> configuration 4 n.+1) x}

573
1489
67f
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683
573
1489
128a
148e
1490
573
1490
1291
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683
u1ME:u1 ord_max = ↓[u ord_max]
573
1490
↓[u (inord l.+1)] = ↓[u ord_max]
149a
149c
573
149c
(l.+1).*2 + sd (n:=n.+1) u1 = sd (n:=n.+2) u
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d
P1:(l.+1).*2 + sd (n:=n.+1) u1 = sd (n:=n.+2) u
573
149c
(l.+1).*2 + \sum_(i < 3 * l.+1) `d[u1 (inord i), u1 (inord i.+1)]_smove = \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
14a9
149c
(l.+1).*2 + \sum_(i < l.+1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
14a9
149c
(l.+1).*2 = \sum_(i < l.+1) 2
149c
\sum_(i < l.+1) 2 + \sum_(i < l.+1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
14aa
149c
\sum_(i < l.+1) 2 + \sum_(i < l.+1) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
14a9
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d
i:'I_l.+1

739
14a9
14c3
3 * i < (3 * l.+1).+1
14c3
2 + (`d[if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14aa
14c3
2 + (`d[if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then si ((3 * i) %/ 3) else ti ((3 * i) %/ 3), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14a9
14c3
761
14a9
14c3
(3 * i).+1 < (3 * l.+1).+1
14c3
2 + (`d[↓[u (inord i)], if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)]_smove + `d[if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14aa
14c3
2 + (`d[↓[u (inord i)], if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3)]_smove + `d[if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then si ((3 * i).+1 %/ 3) else ti ((3 * i).+1 %/ 3), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14a9
14c3
799
14a9
14c3
(3 * i).+2 < (3 * l.+1).+1
14c3
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)]_smove + `d[if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14aa
14c3
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3)]_smove + `d[if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then si ((3 * i).+2 %/ 3) else ti ((3 * i).+2 %/ 3), u1 (inord (3 * i).+3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14a9
14c3
7a0
14a9
14c3
(3 * i).+3 < (3 * l.+1).+1
14c3
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, if (3 * i).+3 %% 3 == 0 then ↓[u (inord ((3 * i).+3 %/ 3))] else if (3 * i).+3 %% 3 == 1 then si ((3 * i).+3 %/ 3) else ti ((3 * i).+3 %/ 3)]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14aa
14c3
14f5
14a9
14c3
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, ↓[u (inord (1 + i))]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14a9
14c3
`d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[u (inord i.+1)]]].+2 -> 2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, ti i]_smove + `d[ti i, ↓[u (inord (1 + i))]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
14a9
14ab
573
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac
k:'I_(3 * l.+1).+1

0 < k < 3 * l.+1 -> codom (u1 k) \subset [:: p2; a[p1, p3] k]
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac
cH1:forall k : 'I_(3 * l.+1).+1, 0 < k < 3 * l.+1 -> codom (u1 k) \subset [:: p2; a[p1, p3] k]
573
1507
0 < k < 3 * l.+1 -> codom (if k %% 3 == 0 then ↓[u (inord (k %/ 3))] else if k %% 3 == 1 then si (k %/ 3) else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
150a
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac1508135d

0 < k < 3 * l.+1 -> codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] k]
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac15081362
0 < k < 3 * l.+1 -> codom (if k %% 3 == 1 then si (k %/ 3) else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
150b
1515
0 < k %/ 3 * 3 < 3 * l.+1 -> codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] (k %/ 3 * 3)]
1517
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac1508135d136c
k3Ll:k %/ 3 < l.+1

136e
1517
1522
1372
1517
1522
8cf
15221378
1518150b
1522
1378
1517
1519
151a
150a
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac150813621383

0 < k < 3 * l.+1 -> codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] k]
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac150813621388
0 < k < 3 * l.+1 -> codom (ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
150b
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac150813621383
H1:(k %/ 3 * 3).+1 < 3 * l.+1

codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] (k %/ 3 * 3).+1]
1537
153e
3 * (k %/ 3) < 3 * l.+1
153e
3 * (k %/ 3) < 3 * l.+1 -> codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] (k %/ 3 * 3).+1]
1538150b
153e
1547
1537
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac150813621383153f
k3Ll1:k %/ 3 < l.+1

1540
1537
154e
codom (si (k %/ 3)) \subset [:: p2; u (inord (k %/ 3).+1) ldisk] -> codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> `d[u (inord (k %/ 3)), u (inord (k %/ 3).+1)]_smove = D[[:: ↓[u (inord (k %/ 3))]; si (k %/ 3); ti (k %/ 3); ↓[u (inord (k %/ 3).+1)]]].+2 -> codom (si (k %/ 3)) \subset [:: p2; a[p1, p3] (k %/ 3 * 3).+1]
1537
1539
153a
150a
1539
944
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac150813621388139d
153a
150b
155c
153a
150a
155c
(1 + k %/ 3) * 3 <= 3 * l.+1 -> codom (ti (k %/ 3)) \subset [:: p2; a[p1, p3] (k %/ 3 * 3).+2]
150a
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac150813621388139d
H1:k %/ 3 < l.+1

13a6
150a
1567
13b4
150a
1567
codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> codom (ti (k %/ 3)) \subset [:: a[p1, p3] (k %/ 3 * 3).+2; p2]
150a
150c
573
150c
(S_[3 * l.+1] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) (u1 ord0) (3 * l.+1) p1 + sp (n:=n.+1) (u1 ord_max) (3 * l.+1) ( a[p1, p3] (3 * l.+1))
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac
P2:(S_[3 * l.+1] n.+1).*2 <= sd (n:=n.+1) u1 + sp (n:=n.+1) (u1 ord0) (3 * l.+1) p1 + sp (n:=n.+1) (u1 ord_max) (3 * l.+1) ( a[p1, p3] (3 * l.+1))
573
1579
573
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac
P2:(S_[3 * l.+1] n.+1).*2 <= sd (n:=n.+1) u1 + \sum_(k < n.+1) (u1 ord0 k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (u1 ord_max k != a[p1, p3] (3 * l.+1)) * (α_[1] k).*2

573
1581
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + \sum_(i < n.+1) (u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1) * β_[n.+2, l.+1] i + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
1581
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + \sum_(i < n.+1) (u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1) * β_[n.+2, l.+1] i + \sum_(i < n.+1) (u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l) * β_[n.+2, l.+1] i
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac
x1S:=\sum_(H < n.+1) (u1 ord0 H != p1) * (α_[1] H).*2:nat
x2S:=\sum_(H < n.+1) (u1 ord_max H != a[p1, p3] (3 * l.+1)) * (α_[1] H).*2:nat
P2:(S_[3 * l.+1] n.+1).*2 <= sd (n:=n.+1) u1 + x1S + x2S

158a
158e
\sum_(i < n.+1) (u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1) * β_[n.+2, l.+1] i = x1S
158e
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + x1S + \sum_(i < n.+1) (u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l) * β_[n.+2, l.+1] i
5129556557558111516171213145595701436143755a561144c14575eb5f0146b148a683149d14ac158f15901591
i:'I_n.+1

(u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1) * β_[n.+2, l.+1] i = (u1 ord0 i != p1) * (α_[1] i).*2
1596
159c
(1 < l.+1) && (i == n.+2.-1) = false
159c
(u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1) * (α_[1] i).*2 = (u ord0 (trshift 1 i) != p1) * (α_[1] i).*2
1597
159c
15a5
1596
158e
1598
158e
\sum_(i < n.+1) (u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l) * β_[n.+2, l.+1] i = x2S
158e
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + x1S + x2S
159c
(u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l) * β_[n.+2, l.+1] i = (u1 ord_max i != a[p1, p3] (3 * l.+1)) * (α_[1] i).*2
15b0
15a1
159c
(u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l) * (α_[1] i).*2 = (u ord_max (trshift 1 i) != a[p1, p3] (3 * l.+1)) * (α_[1] i).*2
15b1
159c
15bb
15b0
159c
a[p3, p1] l = a[p1, p3] (3 * l.+1)
15b0
158e
15b2
158e
(S_[l.+1] n.+2).*2 <= sd (n:=n.+1) u1 + x1S + x2S + (l.+1).*2
158e
(S_[l.+1] n.+2).*2 <= (S_[3 * l.+1] n.+1).*2 + (l.+1).*2
by rewrite -doubleD leq_double dsum_alpha3l. Qed. End Case2. (* This corresponds to 4.2 *) Section Case3. Variable n : nat. Hypothesis IH: forall (l : nat) (p1 p2 p3 : ordinal_eqType 4) (u : {ffun 'I_l.+1 -> configuration 4 n.+1}), p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] n.+1).*2 <= sd u + sp (u ord0) l p1 + sp (u ord_max) l (a[p1, p3] l).
5129
IH:forall (l : nat) (p1 p2 p3 : ordinal_eqType 4) (u : {ffun 'I_l.+1 -> configuration 4 n.+1}), p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] n.+1).*2 <= sd (n:=n.+1) u + sp (n:=n.+1) (u ord0) l p1 + sp (n:=n.+1) (u ord_max) l ( a[p1, p3] l)
55755811

p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> u ord0 ord_max = p1 -> u ord_max ord_max = a[p3, p1] l -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
15cf
512915d255755811151617121314

(forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> u ord0 ord_max = p1 -> u ord_max ord_max = a[p3, p1] l -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
512915d2557558111516171213145595701436

573
512915d255755811151617121314559570143655a

573
15e1
55b
512915d255755811151617121314559570143655a561
573
15e7
573
512915d255755811151617121314559570143655a561228

562
512915d255755811151617121314559570143655a561144c
573
15f1
573
512915d255755811151617121314559570143655a561144c228

569
512915d255755811151617121314559570143655a561144c1457
573
15fb
573
512915d255755811151617121314559570143655a561144c1457
pH:(fun i : ordinal_finType l.+2 => u i ldisk != a[p1, p3] i) =1 xpred0

573
512915d255755811151617121314559570143655a561144c1457
x:ordinal_finType l.+2
xH:u x ldisk != a[p1, p3] x
573
512915d255755811151617121314559570143655a561144c1457
ukLE:forall k : ordinal_finType l.+2, u k ldisk = a[p1, p3] k

573
1604
160c
((forall (l : nat) (p1 p2 p3 : ordinal_eqType 4) (u : {ffun 'I_l.+1 -> configuration 4 n.+1}), p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] n.+1).*2 <= sd (n:=n.+1) u + sp (n:=n.+1) (u ord0) l ( a[p1, p3] 0) + sp (n:=n.+1) (u ord_max) l ( a[p1, p3] l)) -> p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
1604
1606
573
1606
exists x : nat, u (inord x) ldisk != a[p1, p3] x
512915d255755811151617121314559570143655a561144c145716071608
exH:exists x : nat, u (inord x) ldisk != a[p1, p3] x
573
1606
inord x = x
1619
161b
573
512915d255755811151617121314559570143655a561144c145716071608228
aH:u (inord a) ldisk != a[p1, p3] a
aMin:forall n0 : nat, u (inord n0) ldisk != a[p1, p3] n0 -> a <= n0

573
1627
exists x : nat, (x <= l) && (u (inord x) ord_max != a[p1, p3] x)
512915d255755811151617121314559570143655a561144c14571607160822816281629
exL:exists x : nat, (x <= l) && (u (inord x) ord_max != a[p1, p3] x)
573
1627
x <= l
1627
u (inord x) ord_max != a[p1, p3] x
162f
1627
x < l.+2 -> x <= l
1636
512915d255755811151617121314559570143655a561144c14571607160822816281629
xEl1:x = l.+1

1635
1636
512915d255755811151617121314559570143655a561144c14571607228162816291641

u x ldisk = a[p1, p3] x
1636
1645
u ord_max ldisk = a[p1, p3] ord_max
1636
1627
1638
162e
1630
573
512915d255755811151617121314559570143655a561144c145716071608228162816291631
y:nat

(y <= l) && (u (inord y) ord_max != a[p1, p3] y) -> y <= l
512915d255755811151617121314559570143655a561144c145716071608228162816291631
exL1:forall y : nat, (y <= l) && (u (inord y) ord_max != a[p1, p3] y) -> y <= l
573
1659
573
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a
a1:=ex_maxn (P:=fun x : nat => (x <= l) && (u (inord x) ord_max != a[p1, p3] x)) (m:=l) exL exL1:nat

573
1661
u (inord a1) ldisk != a[p1, p3] a1
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662
a1H:u (inord a1) ldisk != a[p1, p3] a1
573
1669
573
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a
a1Ll:a1 <= l

573
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a167214a

a1 < i < l.+2 -> u (inord i) ord_max = a[p1, p3] i
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672
a1Max:forall i : nat, a1 < i < l.+2 -> u (inord i) ord_max = a[p1, p3] i
573
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a167214a
a1Li:a1 < i
iEl1:i = l.+1

u (inord i) ord_max = a[p1, p3] i
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a167214a16801470
1682
1679
167f
inord l.+1 = ldisk
1683
1685
1682
1678
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a167214a1470
j:nat

((i <= l) && (u (inord i) ord_max != a[p1, p3] i) -> i <= j) -> j < i -> u (inord i) ord_max = a[p1, p3] i
1678
167a
573
167a
a <= l.+1
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b
573
167a
a < x.+1
169a
512915d255755811151617121314559570143655a561144c14571607160822816281631165a1662166a1672167b

1620
169a
169c
573
(* Showing the symmetry of the problem *)
169c
(forall (u : {ffun 'I_l.+2 -> configuration 4 n.+2}) (p1 p3 : peg 4), p1 != p3 -> p2 != p3 -> p3 != p0 -> (forall a : nat, a[p1, p3] a != p2) -> (forall a : nat, a[p1, p3] a != p0) -> p1 != p2 -> p1 != p0 -> (forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> u ord0 ord_max = p1 -> u ord_max ord_max = a[p3, p1] l -> forall a a1 : nat, u (inord a) ldisk != a[p1, p3] a -> a <= l.+1 -> (forall n0 : nat, u (inord n0) ldisk != a[p1, p3] n0 -> a <= n0) -> u (inord a1) ldisk != a[p1, p3] a1 -> a1 <= l -> (forall i : nat, a1 < i < l.+2 -> u (inord i) ord_max = a[p1, p3] i) -> a <= l.+1 - a1 -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
512915d255726f131607558
p1, p3:peg 4
161714144c145715125595701436
a, a1:nat
162859b1629166a1672167b
aLl1Ba1:a <= l.+1 - a1
573
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b
wH:forall (u : {ffun 'I_l.+2 -> configuration 4 n.+2}) (p1 p3 : peg 4), p1 != p3 -> p2 != p3 -> p3 != p0 -> (forall a : nat, a[p1, p3] a != p2) -> (forall a : nat, a[p1, p3] a != p0) -> p1 != p2 -> p1 != p0 -> (forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> u ord0 ord_max = p1 -> u ord_max ord_max = a[p3, p1] l -> forall a a1 : nat, u (inord a) ldisk != a[p1, p3] a -> a <= l.+1 -> (forall n0 : nat, u (inord n0) ldisk != a[p1, p3] n0 -> a <= n0) -> u (inord a1) ldisk != a[p1, p3] a1 -> a1 <= l -> (forall i : nat, a1 < i < l.+2 -> u (inord i) ord_max = a[p1, p3] i) -> a <= l.+1 - a1 -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)

573
16ac
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616b1

573
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b6
l1Ba1La:l.+1 - a1 < a
573
16ad
16bd
573
16ac
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a0

573
16ac
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a0
u1:=[ ffun i : 'I_l.+2 => u (inord (l.+1 - i))] : {ffun 'I_l.+2 -> configuration 4 n.+2}:{ffun 'I_l.+2 -> configuration 4 n.+2}

573
16ac
16c9
sd (n:=n.+2) u = sd (n:=n.+2) u1
16c9
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u1 + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
16ad
16c9
injective (fun i : 'I_l.+1 => inord (l - i))
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca
F:injective (fun i : 'I_l.+1 => inord (l - i))
16ce
16d016ad
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca
i, j:'I_l.+1

val (inord (l - i)) == val (inord (l - j)) -> i = j
16d6
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca
i, j, i1:'I_l.+1

l - i1 < l.+1
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca16de
lBiLl:forall i1 : 'I_l.+1, l - i1 < l.+1
16df
16d716d016ad
16e8
16df
16d6
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca16de16e9
liE:l - i = l - j

i == j
16d6
16f0
l - (l - i) == j
16d6
16d8
16ce
16cf
16d8
\sum_(j < l.+1) `d[u (inord (inord (l - j))), u (inord (inord (l - j)).+1)]_smove = sd (n:=n.+2) u1
16cf
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca16d914c4

`d[u (inord (inord (l - i))), u (inord (inord (l - i)).+1)]_smove = `d[u (inord (l.+1 - inord i)), u (inord (l.+1 - inord i.+1))]_smove
16cf
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca16d914c4
iLl2:i < l.+2

1702
16cf
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca16d914c41707
lBiLl:l - i < l.+1

1702
16cf
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca16d914c41707170c
iLl:i <= l

1702
16cf
1710
`d[u (inord (inord (l - i)).+1), u (inord (inord (l - i)))]_smove = `d[u (inord (l.+1 - inord i)), u (inord (l.+1 - inord i.+1))]_smove
16cf
1710
inord (inord (l - i)).+1 = inord (l.+1 - inord i)
1710
inord (inord (l - i)) = inord (l.+1 - inord i.+1)
16d016ad
1710
171c
16cf
16c9
16d1
16ac
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca
p1':= a[p1, p3] l:peg 4
p3':= a[p3, p1] l:peg 4

16d1
16ac
1726
sp (n:=n.+2) (u ord0) l.+1 p1 = sp (n:=n.+2) (u1 ord_max) l.+1 ( a[p1', p3'] l)
1726
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u1 + sp (n:=n.+2) (u1 ord_max) l.+1 ( a[p1', p3'] l) + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
16ad
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca17271728
i:ordinal_finType n.+2

(u ord0 i != p1) = (u1 ord_max i != a[p1', p3'] l)
172d
1733
(u ord0 i != p1) = (u1 ord_max i != p1)
172d
1726
172f
16ac
1726
sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l) = sp (n:=n.+2) (u1 ord0) l.+1 p3'
1726
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u1 + sp (n:=n.+2) (u1 ord_max) l.+1 ( a[p1', p3'] l) + sp (n:=n.+2) (u1 ord0) l.+1 p3'
16ad
1733
(u ord_max i != a[p3, p1] l) = (u1 ord0 i != p3')
1741
1733
(u ord_max i != a[p3, p1] l) = (u (inord l.+1) i != p3')
1741
1733
a16
1741
1726
1743
16ac
1726
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u1 + sp (n:=n.+2) (u1 ord0) l.+1 p3' + sp (n:=n.+2) (u1 ord_max) l.+1 ( a[p1', p3'] l)
16ac
1726
l.+1 - a1 <= l.+1 - (l.+1 - a)
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca17271728
FF:l.+1 - a1 <= l.+1 - (l.+1 - a)
1755
16ad
175c
1755
16ac
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16b616be5a016ca17271728175d
a1Ll1:a1 <= l.+1

1755
16ac
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca172717281765

p3' != p1'
1769
p2 != p1'
1769
p1' != p0
1769
forall a : nat, a[p3', p1'] a != p2
1769
forall a : nat, a[p3', p1'] a != p0
1769
p3' != p2
1769
p3' != p0
1769
forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u1 k) \subset [:: p2; a[p3', p1'] k]
1769
u1 ord0 ord_max = p3'
1769
u1 ord_max ord_max = a[p1', p3'] l
1769
u1 (inord (l.+1 - a1)) ldisk != a[p3', p1'] (l.+1 - a1)
1769
l.+1 - a1 <= l.+1
1769
forall n0 : nat, u1 (inord n0) ldisk != a[p3', p1'] n0 -> l.+1 - a1 <= n0
1769
u1 (inord (l.+1 - a)) ldisk != a[p3', p1'] (l.+1 - a)
1769
l.+1 - a <= l
1769
forall i : nat, l.+1 - a < i < l.+2 -> u1 (inord i) ord_max = a[p3', p1'] i
16ad
1767
1769
176d
176e17701772177417761778177a177c177e1780178217841786178816ad
178c
1769
176f
17701772177417761778177a177c177e1780178217841786178816ad
1791
1769
1771
1772177417761778177a177c177e1780178217841786178816ad
1796
1769
1773
177417761778177a177c177e1780178217841786178816ad
179b
1769
1775
17761778177a177c177e1780178217841786178816ad
17a0
1769
1777
1778177a177c177e1780178217841786178816ad
17a5
1769
1779
177a177c177e1780178217841786178816ad
17aa
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca172717281765
k:'I_l.+2
kH1:0 < k
kH2:k < l.+1

codom (u (inord (l.+1 - k))) \subset [:: p2; a[p3', p1'] k]
17ac
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca17271728176517b217b317b4
F1:k <= l.+1

17b5
17ac
17b9
l.+1 - k < l.+2
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca17271728176517b217b317b417ba
F2:l.+1 - k < l.+2
17b5
177a177c177e1780178217841786178816ad
17c1
17b5
17ac
17c1
a[p3', p1'] k = a[p1, p3] (inord (l.+1 - k))
17c1
codom (u (inord (l.+1 - k))) \subset [:: p2; a[p1, p3] (inord (l.+1 - k))]
177a177c177e1780178217841786178816ad
17c1
a[p1, p3] (k + l.+1) = a[p1, p3] (l.+1 - k)
17ca
17c1
17cc
17ac
512915d255755811151617121314570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca17271728176517b217b317b417ba17c2

l.+1 < k + l.+1
17ac
1769
177b
177c177e1780178217841786178816ad
17da
1769
val (inord l.+1) == val ord_max
17dc
1769
177d
177e1780178217841786178816ad
17e3
1769
177f
1780178217841786178816ad
17e8
1769
u (inord (l.+1 - (l.+1 - a1))) ldisk != a[p3', p1'] (l.+1 - a1)
17ea
1769
u (inord a1) ldisk != a[p1, p3] (~~ ~~ odd a1)
17ea
1769
1781
178217841786178816ad
17f5
1769
1783
17841786178816ad
17fa
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca172717281765a81

u (inord (l.+1 - inord k)) ldisk != a[p3', p1'] k -> l.+1 - a1 <= k
17fc
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca172717281765a81
kH:a1 < l.+1 - k

u (inord (l.+1 - inord k)) ldisk != a[p3', p1'] k -> false
17fc
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca172717281765a811807
kLl1:k < l.+1

1808
17fc
180c
u (inord (l.+1 - k)) ldisk != a[p3', p1'] k -> false
17fc
180c
a[p1, p3] (l.+1 - k) != a[p3', p1'] k -> false
17fc
180c
a[p1, p3] (l.+1 + k) = a[p3, p1] (k + l)
17fc
1769
1785
1786178816ad
181b
1769
u (inord (l.+1 - (l.+1 - a))) ldisk != a[p3', p1'] (l.+1 - a)
181d
1769
u (inord a) ldisk != a[p3', p1'] (l.+1 - a)
181d
1769
u (inord a) ldisk != a[p1, p3] (~~ ~~ odd a)
181d
1769
1787
178816ad
182c
1769
1789
16ac
512915d255755811151617121314559570143655a561144c145716071608228162816291631165a1662166a1672167b59b16be5a016ca172717281765a81
l1BaLk:l.+1 - a < k
kLl2:k < l.+2

u (inord (l.+1 - inord k)) ord_max = a[p3', p1'] k
16ac
1836
u (inord (l.+1 - k)) ord_max != a[p3', p1'] k -> false
16ac
1836
u (inord (l.+1 - k)) ord_max != a[p1, p3] (l.+1 - k) -> false
1836
a[p3', p1'] k = a[p1, p3] (l.+1 - k)
16ad
1836
1844
16ac
16ae
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a

573
184e
55b
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a561
573
1854
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a56114a

58f
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a561593
573
185e
573
185e
0 < a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a0
573
185e
0 <= a -> 0 < a
1866
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a561593
aE0:0 = a

1865
1866
1868
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a5

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa

573
187c
a <= a1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa
aLa1:a <= a1
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa
a1La:a1 < a

false
1881
1883
573
1883
u (inord a) ldisk = p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884
uaLEp2:u (inord a) ldisk = p2
573
1883
0 < inord a < l.+1
1883
codom (u (inord a)) \subset [:: p2; a[p1, p3] (inord a)] -> u (inord a) ldisk = p2
1893
1883
189c
1892
1883
u (inord a) ldisk \in [:: p2; a[p1, p3] (inord a)] -> u (inord a) ldisk = p2
1892
1894
573
1894
u (inord a1) ldisk = p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa18841895
ua1LEp2:u (inord a1) ldisk = p2
573
1894
0 < inord a1 < l.+1
1894
codom (u (inord a1)) \subset [:: p2; a[p1, p3] (inord a1)] -> u (inord a1) ldisk = p2
18ac
1894
18b5
18ab
1894
u (inord a1) ldisk \in [:: p2; a[p1, p3] (inord a1)] -> u (inord a1) ldisk = p2
18ab
18ad
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae
a1_gt0:0 < a1

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c4
b:=a1 - a:nat

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c9
c:=l.+1 - a1:nat

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce
c_gt0:0 < c

573
18d2
l.+1 = a + b + c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d3
l1E:l.+1 = a + b + c
573
18da
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f0

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f014a

5f5
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f9
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f014a5fe

5ff
18eb
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f014a5fe604

5ff
18eb
18f5
61b
18f5
p2 != a[p1, p3] i.+1
18ec
18f5
18fb
18eb
18ed
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998e

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8c

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb91

573
190d
b95
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb91b99b9a63f
573
190d
a[p1, p3] a.-1 != a[p1, p3] a
1911
1913
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb91b9a63f
sam1C:codom sam1 \subset [:: pa; p2]

573
191e
666
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f

bc3
1923
1925
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a
u1:=[ffun i => if i %% 3 == 0 then ↓[u (inord (i %/ 3))] else if i %% 3 == 1 then if i == (3 * a.-1).+1 :> nat then sam1 else si (i %/ 3) else if i == (3 * a.-1).+2 :> nat then tam1 else ti (i %/ 3)]:{ffun forall x : ordinal_finType (3 * a).+1, (fun=> configuration 4 n.+1) x}

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683
uiME:u1 ord_max = ↓[u (inord a)]

573
1939
a.*2 + sd (n:=n.+1) u1 = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a
P1:a.*2 + sd (n:=n.+1) u1 = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove
573
1939
a.*2 + \sum_(i < 3 * a) `d[u1 (inord i), u1 (inord i.+1)]_smove = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove
193f
1939
a.*2 + \sum_(i < a) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove
193f
1939
a.*2 = \sum_(i < a) 2
1939
\sum_(i < a) 2 + \sum_(i < a) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove
1940
1939
\sum_(i < a) 2 + \sum_(i < a) (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove) = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove
193f
1939
\sum_(i < a) (2 + (`d[u1 (inord (3 * i)), u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), u1 (inord (3 * i).+3)]_smove)) = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove
193f
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a
i:'I_a

739
193f
195d
73d
195d740
1940
195d
(if (3 * i) %% 3 == 0 then ↓[u (inord ((3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then if 3 * i == (3 * a.-1).+1 then sam1 else si ((3 * i) %/ 3) else if 3 * i == (3 * a.-1).+2 then tam1 else ti ((3 * i) %/ 3)) = ↓[u (inord i)]
1962
195d
761
193f
195d
7d8
195d
2 + (`d[↓[u (inord i)], u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), ↓[ u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
1940
195d
u1 (inord (3 * (1 + i))) = ↓[u (inord i.+1)]
196e
195d
(if (3 * (1 + i)) %% 3 == 0 then ↓[u (inord ((3 * (1 + i)) %/ 3))] else if (3 * (1 + i)) %% 3 == 1 then if 3 * (1 + i) == (3 * a.-1).+1 then sam1 else si ((3 * (1 + i)) %/ 3) else if 3 * (1 + i) == (3 * a.-1).+2 then tam1 else ti ((3 * (1 + i)) %/ 3)) = ↓[u (inord i.+1)]
196e
195d
2 + (`d[↓[u (inord i)], u1 (inord (3 * i).+1)]_smove + `d[u1 (inord (3 * i).+1), u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), ↓[u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
193f
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a195e
iEa:i = a.-1

197c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a195e
iDa:i != a.-1
1970
1940
1980
u1 (inord (3 * i).+1) = sam1
1980
2 + (`d[↓[u (inord i)], sam1]_smove + `d[sam1, u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), ↓[ u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
19831940
1980
(if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then if (3 * i).+1 == (3 * a.-1).+1 then sam1 else si ((3 * i).+1 %/ 3) else if (3 * i).+1 == (3 * a.-1).+2 then tam1 else ti ((3 * i).+1 %/ 3)) = sam1
198a
1980
(if (3 * i).+1 == (3 * a.-1).+1 then sam1 else si i) = sam1
198a
1980
2 + (`d[↓[u (inord i)], sam1]_smove + `d[sam1, u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), ↓[u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
1982
1980
u1 (inord (3 * i).+2) = tam1
1980
2 + (`d[↓[u (inord i)], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
19831940
1980
(3 * i).+2 < (3 * a).+1
1980
(if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then if (3 * i).+2 == (3 * a.-1).+1 then sam1 else si ((3 * i).+2 %/ 3) else if (3 * i).+2 == (3 * a.-1).+2 then tam1 else ti ((3 * i).+2 %/ 3)) = tam1
199e19831940
1980
19a6
199d
1980
(if (3 * i).+2 == (3 * a.-1).+2 then tam1 else ti i) = tam1
199d
1980
199f
1982
1984
197c
193f
1984
765
1984
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), ↓[ u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
1940
1984
(if (3 * i).+1 %% 3 == 0 then ↓[u (inord ((3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then if (3 * i).+1 == (3 * a.-1).+1 then sam1 else si ((3 * i).+1 %/ 3) else if (3 * i).+1 == (3 * a.-1).+2 then tam1 else ti ((3 * i).+1 %/ 3)) = si i
19b7
1984
(if (3 * i).+1 == (3 * a.-1).+1 then sam1 else si i) = si i
19b7
1984
2 + (`d[↓[u (inord i)], si i]_smove + `d[si i, u1 (inord (3 * i).+2)]_smove + `d[u1 (inord (3 * i).+2), ↓[u (inord i.+1)]]_smove) = `d[u (inord i), u (inord i.+1)]_smove
193f
1984
79d
19847db
1940
1984
19a3
1984
(if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then if (3 * i).+2 == (3 * a.-1).+1 then sam1 else si ((3 * i).+2 %/ 3) else if (3 * i).+2 == (3 * a.-1).+2 then tam1 else ti ((3 * i).+2 %/ 3)) = ti i
19ca1940
1984
(if (3 * i).+2 %% 3 == 0 then ↓[u (inord ((3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then if (3 * i).+2 == (3 * a.-1).+1 then sam1 else si ((3 * i).+2 %/ 3) else if (3 * i).+2 == (3 * a.-1).+2 then tam1 else ti ((3 * i).+2 %/ 3)) = ti i
19c9
1984
(if (3 * i).+2 == (3 * a.-1).+2 then tam1 else ti i) = ti i
19c9
1984
7db
193f
1984
i < a.-1
19847fe
1940
1984
i.+1 < a
19e0
1984
i.+1 == a -> i.+1 < a
19e0
1984
7fe
193f
1941
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194214a

a1 < i < l.+1 -> [/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[u (inord i.+1)]]].+2]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a1942
sitiHb:forall i : nat, a1 < i < l.+1 -> [/\ codom (si i) \subset [:: p2; u (inord i.+1) ldisk], codom (ti i) \subset [:: u (inord i) ldisk; p2] & `d[u (inord i), u (inord i.+1)]_smove = D[[:: ↓[u (inord i)]; si i; ti i; ↓[ u (inord i.+1)]]].+2]
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194214a16801470

5ff
19f5
19fc
61b
19fc18fb
19f6
19fc
18fb
19f5
19f7
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f8
sa1:=sgdist1 (n:=n.+1) ( a[p1, p3] a1) (u (inord a1)) (u (inord a1.+1)) : configuration 4 n.+1:configuration 4 n.+1

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c
ta1:=sgdist2 (n:=n.+1) ( a[p1, p3] a1) (u (inord a1)) (u (inord a1.+1)) : configuration 4 n.+1:configuration 4 n.+1

573
1a10
[/\ codom sa1 \subset [:: a[p1, p3] a1; u (inord a1.+1) ldisk], codom ta1 \subset [:: u (inord a1) ldisk; a[p1, p3] a1] & `d[u (inord a1), u (inord a1.+1)]_smove = D[[:: ↓[u (inord a1)]; sa1; ta1; ↓[u (inord a1.+1)]]].+2]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a11
sa1C:codom sa1 \subset [:: a[p1, p3] a1; u (inord a1.+1) ldisk]
ta1C:codom ta1 \subset [:: u (inord a1) ldisk; a[p1, p3] a1]
dua1uad1E:`d[u (inord a1), u (inord a1.+1)]_smove = D[[:: ↓[u (inord a1)]; sa1; ta1; ↓[u (inord a1.+1)]]].+2
573
1a10
a[p1, p3] a1.+1 != a[p1, p3] a1
1a16
1a18
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a191a1b
ta1C:codom ta1 \subset [:: p2; a[p1, p3] a1]

573
1a26
codom sa1 \subset [:: p1; p3]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a27
sa1C:codom sa1 \subset [:: p1; p3]
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a27

codom sa1 \subset [:: a[p1, p3] a1; a[p1, p3] a1.+1] -> codom sa1 \subset [:: p1; p3]
1a2c
1a2e
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f
u2:=[ffun i => if i %% 3 == 0 then ↓[u (inord (a1 + i %/ 3))] else if i %% 3 == 1 then if i == 1 :> nat then sa1 else si (a1 + i %/ 3) else if i == 2 :> nat then ta1 else ti (a1 + i %/ 3)]:{ffun forall x : ordinal_finType (3 * c).+1, (fun=> configuration 4 n.+1) x}

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c
u20E:u2 ord0 = ↓[u (inord a1)]

573
1a40
u2 ord_max = ↓[u ord_max]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a41
u2ME:u2 ord_max = ↓[u ord_max]
573
1a40
14a1
1a40
a1 <= l.+1
1a47
1a40
1a4f
1a46
1a48
573
1a48
c.*2 + sd (n:=n.+1) u2 = \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a49
P2:c.*2 + sd (n:=n.+1) u2 = \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
573
1a48
\sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a48
c.*2 + sd (n:=n.+1) u2 = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5b
1a48
\sum_(i < l.+1 - a1) `d[u (inord (i + a1)), u (inord (i + a1).+1)]_smove = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a62
1a48
c.*2 + sd (n:=n.+1) u2 = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
1a48
c.*2 + \sum_(i < 3 * c) `d[u2 (inord i), u2 (inord i.+1)]_smove = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
1a48
c.*2 + \sum_(i < c) (`d[u2 (inord (3 * i)), u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), u2 (inord (3 * i).+3)]_smove) = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
1a48
c.*2 = \sum_(i < c) 2
1a48
\sum_(i < c) 2 + \sum_(i < c) (`d[u2 (inord (3 * i)), u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), u2 (inord (3 * i).+3)]_smove) = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5b
1a48
\sum_(i < c) 2 + \sum_(i < c) (`d[u2 (inord (3 * i)), u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), u2 (inord (3 * i).+3)]_smove) = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
1a48
\sum_(i < c) (2 + (`d[u2 (inord (3 * i)), u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), u2 (inord (3 * i).+3)]_smove)) = \sum_(i < c) `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a49
i:'I_c

2 + (`d[u2 (inord (3 * i)), u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), u2 (inord (3 * i).+3)]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
1a87
u2 (inord (3 * i)) = ↓[u (inord (a1 + i))]
1a87
2 + (`d[↓[u (inord (a1 + i))], u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), u2 (inord (3 * i).+3)]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5b
1a87
(if (3 * i) %% 3 == 0 then ↓[u (inord (a1 + (3 * i) %/ 3))] else if (3 * i) %% 3 == 1 then if 3 * i == 1 then sa1 else si (a1 + (3 * i) %/ 3) else if 3 * i == 2 then ta1 else ti (a1 + (3 * i) %/ 3)) = ↓[u (inord (a1 + i))]
1a8e
1a87
2 + (`d[↓[u (inord (a1 + i))], u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), u2 (inord (3 * i).+3)]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
1a87
u2 (inord (3 * i).+3) = ↓[u (inord (a1 + i).+1)]
1a87
2 + (`d[↓[u (inord (a1 + i))], u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), ↓[ u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5b
1a87
u2 (inord (3 * (1 + i))) = ↓[u (inord (a1 + i).+1)]
1a9d
1a87
(if (3 * (1 + i)) %% 3 == 0 then ↓[u (inord (a1 + (3 * (1 + i)) %/ 3))] else if (3 * (1 + i)) %% 3 == 1 then if 3 * (1 + i) == 1 then sa1 else si (a1 + (3 * (1 + i)) %/ 3) else if 3 * (1 + i) == 2 then ta1 else ti (a1 + (3 * (1 + i)) %/ 3)) = ↓[u (inord (a1 + i).+1)]
1a9d
1a87
2 + (`d[↓[u (inord (a1 + i))], u2 (inord (3 * i).+1)]_smove + `d[u2 (inord (3 * i).+1), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), ↓[u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a88
iEa:i = 0

1aab
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a88
iDa:i != 0
1a9f
1a5b
1aaf
u2 (inord (3 * i).+1) = sa1
1aaf
2 + (`d[↓[u (inord (a1 + i))], sa1]_smove + `d[sa1, u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), ↓[ u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1ab21a5b
1aaf
(if (3 * i).+1 %% 3 == 0 then ↓[u (inord (a1 + (3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then if (3 * i).+1 == 1 then sa1 else si (a1 + (3 * i).+1 %/ 3) else if (3 * i).+1 == 2 then ta1 else ti (a1 + (3 * i).+1 %/ 3)) = sa1
1ab9
1aaf
(if (3 * i).+1 == 1 then sa1 else si (a1 + (3 * i).+1 %/ 3)) = sa1
1ab9
1aaf
2 + (`d[↓[u (inord (a1 + i))], sa1]_smove + `d[sa1, u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), ↓[u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1ab1
1aaf
u2 (inord (3 * i).+2) = ta1
1aaf
2 + (`d[↓[u (inord (a1 + i))], sa1]_smove + `d[sa1, ta1]_smove + `d[ta1, ↓[u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1ab21a5b
1aaf
(3 * i).+2 < (3 * c).+1
1aaf
(if (3 * i).+2 %% 3 == 0 then ↓[u (inord (a1 + (3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then if (3 * i).+2 == 1 then sa1 else si (a1 + (3 * i).+2 %/ 3) else if (3 * i).+2 == 2 then ta1 else ti (a1 + (3 * i).+2 %/ 3)) = ta1
1acd1ab21a5b
1aaf
1ad5
1acc
1aaf
(if (3 * i).+2 == 2 then ta1 else ti (a1 + (3 * i).+2 %/ 3)) = ta1
1acc
1aaf
1ace
1ab1
1ab3
1aab
1a5a
1ab3
u2 (inord (3 * i).+1) = si (a1 + i)
1ab3
2 + (`d[↓[u (inord (a1 + i))], si (a1 + i)]_smove + `d[si (a1 + i), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), ↓[ u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5b
1ab3
(if (3 * i).+1 %% 3 == 0 then ↓[u (inord (a1 + (3 * i).+1 %/ 3))] else if (3 * i).+1 %% 3 == 1 then if (3 * i).+1 == 1 then sa1 else si (a1 + (3 * i).+1 %/ 3) else if (3 * i).+1 == 2 then ta1 else ti (a1 + (3 * i).+1 %/ 3)) = si (a1 + i)
1ae7
1ab3
(if (3 * i).+1 == 1 then sa1 else si (a1 + i)) = si (a1 + i)
1ae7
1ab3
2 + (`d[↓[u (inord (a1 + i))], si (a1 + i)]_smove + `d[si (a1 + i), u2 (inord (3 * i).+2)]_smove + `d[u2 (inord (3 * i).+2), ↓[u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
1ab3
u2 (inord (3 * i).+2) = ti (a1 + i)
1ab3
2 + (`d[↓[u (inord (a1 + i))], si (a1 + i)]_smove + `d[si (a1 + i), ti (a1 + i)]_smove + `d[ti (a1 + i), ↓[u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5b
1ab3
1ad2
1ab3
(if (3 * i).+2 %% 3 == 0 then ↓[u (inord (a1 + (3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then if (3 * i).+2 == 1 then sa1 else si (a1 + (3 * i).+2 %/ 3) else if (3 * i).+2 == 2 then ta1 else ti (a1 + (3 * i).+2 %/ 3)) = ti (a1 + i)
1afb1a5b
1ab3
(if (3 * i).+2 %% 3 == 0 then ↓[u (inord (a1 + (3 * i).+2 %/ 3))] else if (3 * i).+2 %% 3 == 1 then if (3 * i).+2 == 1 then sa1 else si (a1 + (3 * i).+2 %/ 3) else if (3 * i).+2 == 2 then ta1 else ti (a1 + (3 * i).+2 %/ 3)) = ti (a1 + i)
1afa
1ab3
(if (3 * i).+2 == 2 then ta1 else ti (a1 + i)) = ti (a1 + i)
1afa
1ab3
2 + (`d[↓[u (inord (a1 + i))], si (a1 + i)]_smove + `d[si (a1 + i), ti (a1 + i)]_smove + `d[ti (a1 + i), ↓[u (inord (a1 + i).+1)]]_smove) = `d[u (inord (a1 + i)), u (inord (a1 + i).+1)]_smove
1a5a
1ab3
a1 < a1 + i < l.+1
1ab3
2 + (`d[↓[u (inord (a1 + i))], si (a1 + i)]_smove + `d[si (a1 + i), ti (a1 + i)]_smove + `d[ti (a1 + i), ↓[u (inord (a1 + i).+1)]]_smove) = D[[:: ↓[u (inord (a1 + i))]; si (a1 + i); ti (a1 + i); ↓[u (inord (a1 + i).+1)]]].+2
1a5b
1ab3
a1 + i < l.+1 - a1 + a1
1ab31a4f
1b141a5b
1ab3
1a4f
1b13
1ab3
2 + (`d[↓[u (inord (a1 + i))], si (a1 + i)]_smove + `d[si (a1 + i), ti (a1 + i)]_smove + `d[ti (a1 + i), ↓[u (inord (a1 + i).+1)]]_smove) = D[[:: ↓[u (inord (a1 + i))]; si (a1 + i); ti (a1 + i); ↓[u (inord (a1 + i).+1)]]].+2
1a5a
1a5c
573
1a5c
\sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove <= \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d
P3:\sum_(a <= i < a1) `d[↓[u (inord i)], ↓[ u (inord i.+1)]]_smove <= \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d14a

`d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove <= `d[u (inord i), u (inord i.+1)]_smove
1b2a
1b2c
573
1b2c
1 < l -> (S_[l.+1] n.+2).*2 <= S_[l.+1] n.+2 + S_[l] n.+1 + (α_[1] n.+1).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d
SH:1 < l -> (S_[l.+1] n.+2).*2 <= S_[l.+1] n.+2 + S_[l] n.+1 + (α_[1] n.+1).*2
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d
l_gt2:1 < l

(S_[l.+1] n.+2).*2 <= S_[l.+1] n.+2 + S_[l] n.+1 + (α_[1] n.+1).*2
1b3a
1b41
S_[l.+1] n.+2 <= S_[l] n.+1 + (α_[1] n.+1).*2
1b3a
1b3c
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c3
c_gt1:1 < c

573
1b3c
~~ ((1 < a) && (1 < c)) -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
(* This is 4.2.1 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f
l_gt0:0 < l

573
1b50
1b56
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b57
u1l:=[ ffun i : 'I_(3 * a).-2.+1 => u1 (inord i)]:{ffun forall x : ordinal_finType (3 * a).-2.+1, (fun i : 'I_(3 * a).-2.+1 => (fun=> configuration 4 n.+1) (inord i)) x}

1b5b
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b60
a3_gt1:1 < (3 * a).-2

1b5b
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b65
c3_gt1:1 < (3 * c).-2

1b5b
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a848

0 < k < (3 * a).-2 -> codom (u1l k) \subset [:: p2; a[p1, p3] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a
cH1:forall k : 'I_(3 * a).-2.+1, 0 < k < (3 * a).-2 -> codom (u1l k) \subset [:: p2; a[p1, p3] k]
1b5b
1b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a848852
k3L3a:k < (3 * a).-2

codom (u1l k) \subset [:: p2; a[p1, p3] k]
1b70
1b77
863
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b78
k3La1:k %/ 3 <= a.-1
1b79
1b711b51
1b77
858
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b78
kL3a:k <= 3 * a.-1
863
1b7e1b711b51
1b77
k < 3 * a - 2
1b77
2 < 3 * a
1b851b7e1b711b51
1b77
1b8e
1b84
1b86
863
1b7d
1b7f
1b79
1b70
1b7f
13aa
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b80
k3Ll:k %/ 3 < l
1b79
1b711b51
1b7f
a.-1.+2 < a + b + c
1b7f
(k %/ 3).+1 < a.-1.+3
1b9c1b711b51
1b7f
a + 2 <= a + c
1b7f
a + c <= a + c + b
1ba41b9c1b711b51
1b7f
1bac
1ba3
1b7f
1ba5
1b9b
1b9d
1b79
1b70
1b9d
k < (3 * a).+1
1b9d
codom (if k %% 3 == 0 then ↓[u (inord (k %/ 3))] else if k %% 3 == 1 then if k == (3 * a.-1).+1 then sam1 else si (k %/ 3) else if k == (3 * a.-1).+2 then tam1 else ti (k %/ 3)) \subset [:: p2; a[p1, p3] k]
1b711b51
1b9d
3 * a < 2 + (3 * a).+1
1b9d979
1bbb1b711b51
1b9d
979
1bba
1b9d
1bbc
1b70
1b9d
codom (if k %% 3 == 0 then ↓[u (inord (k %/ 3))] else if k %% 3 == 1 then if k == (3 * a.-1).+1 then sam1 else si (k %/ 3) else if k == (3 * a.-1).+2 then tam1 else ti (k %/ 3)) \subset [:: p2; a[ a[p1, p3] (k %% 3), a[p3, p1] (k %% 3)] (k %/ 3)]
1b70
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e135d

codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[ a[p1, p3] (k %% 3), a[p3, p1] (k %% 3)] (k %/ 3)]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e1362
codom (if k %% 3 == 1 then if k == (3 * a.-1).+1 then sam1 else si (k %/ 3) else if k == (3 * a.-1).+2 then tam1 else ti (k %/ 3)) \subset [:: p2; a[ a[p1, p3] (k %% 3), a[p3, p1] (k %% 3)] (k %/ 3)]
1b711b51
1bd0
0 < k %/ 3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e135d136c
codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[ a[p1, p3] (k %% 3), a[p3, p1] (k %% 3)] (k %/ 3)]
1bd31b711b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8481b781b801b9e
k1:nat

0 < k1.+3 %/ 3
1bda
1bdc
1bd1
1bd2
1bdc
1372
1bd2
1bdc
0 < inord (k %/ 3) < l.+1
1bdc
codom (u' (inord (k %/ 3))) \subset [:: p2; a[p1, p3] (inord (k %/ 3))] -> codom ↓[u (inord (k %/ 3))] \subset [:: p2; a[p1, p3] (k %/ 3)]
1bd31b711b51
1bdc
8d9
1bdc8cf
1bef1bd31b711b51
1bdc
8cf
1bee
1bdc
1bf0
1bd2
1bd4
codom (if k %% 3 == 1 then if k == (3 * a.-1).+1 then sam1 else si (k %/ 3) else if k == (3 * a.-1).+2 then tam1 else ti (k %/ 3)) \subset [:: p2; a[ a[p1, p3] (k %% 3), a[p3, p1] (k %% 3)] (k %/ 3)]
1b70
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e13621383

codom (if k == (3 * a.-1).+1 then sam1 else si (k %/ 3)) \subset [:: p2; a[ a[p1, p3] (k %% 3), a[p3, p1] (k %% 3)] (k %/ 3)]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e13621388
codom (if k == (3 * a.-1).+2 then tam1 else ti (k %/ 3)) \subset [:: p2; a[ a[p1, p3] (k %% 3), a[p3, p1] (k %% 3)] (k %/ 3)]
1b711b51
1c03
codom sam1 \subset [:: p2; a[p3, p1] ((3 * a.-1).+1 %/ 3)]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e13621383
kE3a1:k <> (3 * a.-1).+1
codom (si (k %/ 3)) \subset [:: p2; a[p3, p1] (k %/ 3)]
1c061b711b51
1c03
codom sam1 \subset [:: p2; a[p3, p1] ((a.-1 * 3 + 1) %/ 3)]
1c0d
1c03
codom sam1 \subset [:: p2; a[p3, p1] a.-1]
1c0d
1c0f
1c11
1c05
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b9e136213831c10
k3Ea1:k %/ 3 = a.-1

1c11
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b9e136213831c10
k3La:k %/ 3 < a.-1
1c11
1c061b711b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b9e136213831c21

k = (3 * a.-1).+1
1c22
1c24
1c11
1c05
1c24
codom (si (k %/ 3)) \subset [:: p2; u (inord (k %/ 3).+1) ldisk] -> codom (si (k %/ 3)) \subset [:: p2; a[p3, p1] (k %/ 3)]
1c05
1c07
codom (if k == (3 * a.-1).+2 then tam1 else ti (k %/ 3)) \subset [:: p2; a[ a[p1, p3] (k %% 3), a[p3, p1] (k %% 3)] (k %/ 3)]
1b70
1c07
944
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e13621388139d
1c08
1b711b51
1c3b
1c35
1b70
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e13621388139d
kE3a1:k = (3 * a.-1).+2

codom tam1 \subset [:: p2; a[p1, p3] (k %/ 3)]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b801b9e13621388139d
kD3a1:k <> (3 * a.-1).+2
codom (ti (k %/ 3)) \subset [:: p2; a[p1, p3] (k %/ 3)]
1b711b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b801b9e13621388139d1c43

(3 * a).-2 <= k
1c45
1c47
1c49
1b70
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b9e13621388139d1c481c21

1c49
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b9e13621388139d1c481c25
1c49
1b711b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a8488521b781b9e13621388139d1c21

k = (3 * a.-1).+2
1c56
1c58
1c49
1b70
1c58
codom (ti (k %/ 3)) \subset [:: a[p1, p3] (k %/ 3); p2]
1b70
1c58
codom (ti (k %/ 3)) \subset [:: u (inord (k %/ 3)) ldisk; p2] -> codom (ti (k %/ 3)) \subset [:: a[p1, p3] (k %/ 3); p2]
1b70
1b72
1b5b
1b50
1b72
(S_[(3 * a).-2] n.+1).*2 <= \sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+1) (↓[u ord0] k != p1) * β_[n.+1, (3 * a).-2] k + \sum_(k < n.+1) (sam1 k != pa) * β_[n.+1, (3 * a).-2] k
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a
P4:(S_[(3 * a).-2] n.+1).*2 <= \sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+1) (↓[u ord0] k != p1) * β_[n.+1, (3 * a).-2] k + \sum_(k < n.+1) (sam1 k != pa) * β_[n.+1, (3 * a).-2] k
1b5b
1b51
1b72
sd (n:=n.+1) u1l + sp (n:=n.+1) (u1l ord0) (3 * a).-2 p1 + sp (n:=n.+1) (u1l ord_max) (3 * a).-2 ( a[p1, p3] (3 * a).-2) <= \sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+1) (↓[u ord0] k != p1) * β_[n.+1, (3 * a).-2] k + \sum_(k < n.+1) (sam1 k != pa) * β_[n.+1, (3 * a).-2] k
1c70
1b72
sd (n:=n.+1) u1l + sp (n:=n.+1) (u1l ord0) (3 * a).-2 p1 + sp (n:=n.+1) (u1l ord_max) (3 * a).-2 ( a[p1, p3] (3 * a).-2) = \sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+1) (↓[u ord0] k != p1) * β_[n.+1, (3 * a).-2] k + \sum_(k < n.+1) (sam1 k != pa) * β_[n.+1, (3 * a).-2] k
1c70
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a1b73
i:ordinal_finType (3 * a).-2

`d[u1l (inord i), u1l (inord i.+1)]_smove = `d[u1 (inord i), u1 (inord i.+1)]_smove
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a1b731054
(u1l ord0 i != p1) * β_[n.+1, (3 * a).-2] i = (↓[u ord0] i != p1) * β_[n.+1, (3 * a).-2] i
1c84
(u1l ord_max i != a[p1, p3] (3 * a).-2) * β_[n.+1, (3 * a).-2] i = (sam1 i != pa) * β_[n.+1, (3 * a).-2] i
1c711b51
1c7d
1c84
1c85
1c861c711b51
1c8a
1c84
1c87
1c70
1c84
(3 * a).-2 < (3 * a).+1
1c84
((if (3 * a).-2 %% 3 == 0 then ↓[u (inord ((3 * a).-2 %/ 3))] else if (3 * a).-2 %% 3 == 1 then if (3 * a).-2 == (3 * a.-1).+1 then sam1 else si ((3 * a).-2 %/ 3) else if (3 * a).-2 == (3 * a.-1).+2 then tam1 else ti ((3 * a).-2 %/ 3)) i != a[p1, p3] (3 * a).-2) * β_[n.+1, (3 * a).-2] i = (sam1 i != pa) * β_[n.+1, (3 * a).-2] i
1c711b51
1c84
((if (3 * a).-2 %% 3 == 0 then ↓[u (inord ((3 * a).-2 %/ 3))] else if (3 * a).-2 %% 3 == 1 then if (3 * a).-2 == (3 * a.-1).+1 then sam1 else si ((3 * a).-2 %/ 3) else if (3 * a).-2 == (3 * a.-1).+2 then tam1 else ti ((3 * a).-2 %/ 3)) i != a[p1, p3] (3 * a).-2) * β_[n.+1, (3 * a).-2] i = (sam1 i != pa) * β_[n.+1, (3 * a).-2] i
1c70
1c84
(3 * a).-2 = (3 * a.-1).+1
1c84
((if (3 * a.-1).+1 %% 3 == 0 then ↓[u (inord ((3 * a.-1).+1 %/ 3))] else if (3 * a.-1).+1 %% 3 == 1 then if (3 * a.-1).+1 == (3 * a.-1).+1 then sam1 else si ((3 * a.-1).+1 %/ 3) else if (3 * a.-1).+1 == (3 * a.-1).+2 then tam1 else ti ((3 * a.-1).+1 %/ 3)) i != a[p1, p3] (3 * a.-1).+1) * β_[n.+1, (3 * a.-1).+1] i = (sam1 i != pa) * β_[n.+1, (3 * a.-1).+1] i
1c711b51
1c84
1ca2
1c70
1c84
(sam1 i != a[p1, p3] (3 * a.-1).+1) * β_[n.+1, (3 * a.-1).+1] i = (sam1 i != pa) * β_[n.+1, (3 * a.-1).+1] i
1c70
1c72
1b5b
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a
P4:(S_[(3 * a).-2] n.+1).*2 <= \sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (sam1 k != pa) * β_[n.+1, (3 * a).-2] k

1b5b
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc
x2S:=\sum_(H < n.+1) (sam1 H != pa) * β_[n.+1, (3 * a).-2] H:nat
P4:(S_[(3 * a).-2] n.+1).*2 <= \sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + x1S + x2S

1b5b
1b50
1cb5
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb7
u2r:=[ ffun i : 'I_(3 * c).-2.+1 => u2 (inord i.+2)]:{ffun forall x : ordinal_finType (3 * c).-2.+1, (fun i : 'I_(3 * c).-2.+1 => (fun=> configuration 4 n.+1) (inord i.+2)) x}

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc0
pa1:= a[p1, p3] a1:peg 4

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc5
pa1S:= a[p1, p3] a1.+1:peg 4

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca
k:'I_(3 * c).-2.+1

0 < k < (3 * c).-2 -> codom (u2r k) \subset [:: p2; a[pa1, pa1S] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca
cH1:forall k : 'I_(3 * c).-2.+1, 0 < k < (3 * c).-2 -> codom (u2r k) \subset [:: p2; a[pa1, pa1S] k]
1cbb
1b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf852
k3L3a:k < (3 * c).-2

codom (u2r k) \subset [:: p2; a[pa1, pa1S] k]
1cd1
1cd8
k.+2 < 3 * c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd9
k2L3c:k.+2 < 3 * c
1cda
1cd21b51
1ce1
1cda
1cd1
1ce1
codom (if k.+2 %% 3 == 0 then ↓[u (inord (a1 + k.+2 %/ 3))] else if k.+2 %% 3 == 1 then if k.+2 == 1 then sa1 else si (a1 + k.+2 %/ 3) else if k.+2 == 2 then ta1 else ti (a1 + k.+2 %/ 3)) \subset [:: p2; a[pa1, pa1S] k]
1cd1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce2
km3E0:k.+2 %% 3 = 0

codom ↓[u (inord (a1 + k.+2 %/ 3))] \subset [:: p2; a[pa1, pa1S] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce2
km3D0:k.+2 %% 3 != 0
codom (if k.+2 %% 3 == 1 then if k.+2 == 1 then sa1 else si (a1 + k.+2 %/ 3) else if k.+2 == 2 then ta1 else ti (a1 + k.+2 %/ 3)) \subset [:: p2; a[pa1, pa1S] k]
1cd21b51
1ced
0 < k.+2 %/ 3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cee
k3_gt0:0 < k.+2 %/ 3
1cef
1cf11cd21b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf1cd91ce21be2

1be3
1cf9
1cfb
1cef
1cf0
1cfb
a1 + k.+2 %/ 3 < l.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cee1cfc
a1k3Ll1:a1 + k.+2 %/ 3 < l.+1
1cef
1cf11cd21b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91cee1cfc

k.+2 < 3 * c -> a1 + k.+2 %/ 3 < l.+1
1d08
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91cee1cfc
k2L3c:k.+2 %/ 3 < c

1d07
1d08
1d14
a1 + k.+2 %/ 3 < l.+1 - a1 + a1
1d08
1d0a
1cef
1cf0
1d0a
a[pa1, pa1S] k = a[p1, p3] (a1 + k.+2 %/ 3)
1d0a
codom ↓[u (inord (a1 + k.+2 %/ 3))] \subset [:: p2; a[p1, p3] (a1 + k.+2 %/ 3)]
1cf11cd21b51
1d0a
a[p1, p3] (a1 + k.+2) = a[p1, p3] (a1 + k.+2 %/ 3)
1d21
1d0a
a[p3, p1] (~~ odd (a1 + k.+2 %/ 3 * 3)) = a[p1, p3] (a1 + k.+2 %/ 3)
1d21
1d0a
1d23
1cf0
1d0a
0 < inord (a1 + k.+2 %/ 3) < l.+1
1d0a
codom (u' (inord (a1 + k.+2 %/ 3))) \subset [:: p2; a[p1, p3] (inord (a1 + k.+2 %/ 3))] -> codom ↓[u (inord (a1 + k.+2 %/ 3))] \subset [:: p2; a[p1, p3] (a1 + k.+2 %/ 3)]
1cf11cd21b51
1d0a
a1 + k.+2 %/ 3 < l.+2
1d33
1d0a
1d35
1cf0
1cf2
1cf4
1cd1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf3
km3E1:k.+2 %% 3 = 1

codom (if k.+2 == 1 then sa1 else si (a1 + k.+2 %/ 3)) \subset [:: p2; a[pa1, pa1S] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf3
km3D1:k.+2 %% 3 != 1
codom (if k.+2 == 2 then ta1 else ti (a1 + k.+2 %/ 3)) \subset [:: p2; a[pa1, pa1S] k]
1cd21b51
1d43
codom (si (a1 + k.+2 %/ 3)) \subset [:: p2; a[pa1, pa1S] k]
1d46
1d43
a1 < a1 + k.+2 %/ 3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf31d44
a1La1k:a1 < a1 + k.+2 %/ 3
1d4e
1d471cd21b51
1d55
1d4e
1d46
1d55
1d07
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf31d441d56
a1k3Ll:a1 + k.+2 %/ 3 < l.+1
1d4e
1d471cd21b51
1d55
k.+1 < 3 * c -> a1 + k.+2 %/ 3 < l.+1
1d5d
1d55
k.+2 %/ 3 < c -> a1 + k.+2 %/ 3 < l.+1
1d5d
1d55
k.+2 %/ 3 < c -> a1 + k.+2 %/ 3 < l.+1 - a1 + a1
1d5d
1d5f
1d4e
1d46
1d5f
a[pa1, pa1S] k = a[p1, p3] (a1 + k.+2)
1d5f
codom (si (a1 + k.+2 %/ 3)) \subset [:: p2; a[p1, p3] (a1 + k.+2)]
1d471cd21b51
1d5f
1d76
1d46
1d5f
a[p1, p3] (a1 + k.+2) = a[p3, p1] (a1 + k.+2 %/ 3)
1d5f
codom (si (a1 + k.+2 %/ 3)) \subset [:: p2; a[p3, p1] (a1 + k.+2 %/ 3)]
1d471cd21b51
1d5f
a[p3, p1] (~~ (odd a1 (+) ~~ odd (k.+2 %/ 3))) = a[p3, p1] (a1 + k.+2 %/ 3)
1d7e
1d5f
1d80
1d46
1d5f
a1 < a1 + k.+2 %/ 3 < l.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf31d441d561d60
siH:codom (si (a1 + k.+2 %/ 3)) \subset [:: p2; u (inord (a1 + k.+2 %/ 3).+1) ldisk]
1d80
1d471cd21b51
1d8e
1d80
1d46
1d48
1d4a
1cd1
1d48
k.+2 %% 3 = 2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf31d49
km3E2:k.+2 %% 3 = 2
1d4a
1cd21b51
1d9c
1d4a
1cd1
1d9c
codom (ti (a1 + k.+2 %/ 3)) \subset [:: p2; a[pa1, pa1S] k]
1cd1
1d9c
1d52
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf31d491d9d1d56
1da4
1cd21b51
1daa
1da4
1cd1
1daa
1d07
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf31d491d9d1d561d60
1da4
1cd21b51
1daa
k.+2 %/ 3 * 3 < 3 * c
1daa
k.+2 %/ 3 * 3 < 3 * c -> a1 + k.+2 %/ 3 < l.+1
1db21cd21b51
1daa
(k.+2 %/ 3 * 3).+1 < 3 * c
1db8
1daa
k.+1 < 3 * c -> (k.+2 %/ 3 * 3).+1 < 3 * c
1db8
1daa
1dba
1db1
1daa
1d68
1db1
1daa
1d6c
1db1
1db3
1da4
1cd1
1db3
1d73
1db3
codom (ti (a1 + k.+2 %/ 3)) \subset [:: p2; a[p1, p3] (a1 + k.+2)]
1cd21b51
1db3
1dd4
1cd1
1db3
1d27
1db3
codom (ti (a1 + k.+2 %/ 3)) \subset [:: p2; a[p1, p3] (a1 + k.+2 %/ 3)]
1cd21b51
1db3
a[p3, p1] (~~ (odd a1 (+) (odd (k.+2 %/ 3) (+) odd (k.+2 %% 3)))) = a[p1, p3] (a1 + k.+2 %/ 3)
1ddb
1db3
1ddd
1cd1
1db3
codom (ti (a1 + k.+2 %/ 3)) \subset [:: a[p1, p3] (a1 + k.+2 %/ 3); p2]
1cd1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1ccf8521cd91ce21cf31d491d9d1d561d60
tiH:codom (ti (a1 + k.+2 %/ 3)) \subset [:: u (inord (a1 + k.+2 %/ 3)) ldisk; p2]

1de8
1cd1
1cd3
1cbb
1b50
1cd3
(S_[(3 * c).-2] n.+1).*2 <= \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove + sp (n:=n.+1) ta1 (3 * c).-2 pa1 + sp (n:=n.+1) ↓[u ord_max] (3 * c).-2 ( a[p3, p1] l)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1cd4
P5:(S_[(3 * c).-2] n.+1).*2 <= \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove + sp (n:=n.+1) ta1 (3 * c).-2 pa1 + sp (n:=n.+1) ↓[u ord_max] (3 * c).-2 ( a[p3, p1] l)
1cbb
1b51
1cc9
a[p1, p3] a1 != a[p1, p3] a1.+1
1cc9
p2 != a[p1, p3] a1.+1
1cc9
sd (n:=n.+1) u2r + sp (n:=n.+1) (u2r ord0) (3 * c).-2 ( a[p1, p3] a1) + sp (n:=n.+1) (u2r ord_max) (3 * c).-2 ( a[ a[p1, p3] a1, a[p1, p3] a1.+1] (3 * c).-2) <= \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove + sp (n:=n.+1) ta1 (3 * c).-2 ( a[p1, p3] a1) + sp (n:=n.+1) ↓[u ord_max] (3 * c).-2 ( a[p3, p1] l)
1df61b51
1dfa
1cc9
1dff
1e001df61b51
1e04
1cc9
sd (n:=n.+1) u2r + sp (n:=n.+1) (u2r ord0) (3 * c).-2 ( a[p1, p3] a1) + sp (n:=n.+1) (u2r ord_max) (3 * c).-2 ( a[ a[p1, p3] a1, a[p1, p3] a1.+1] (3 * c).-2) <= \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove + sp (n:=n.+1) ta1 (3 * c).-2 ( a[p1, p3] a1) + sp (n:=n.+1) ↓[u ord_max] (3 * c).-2 ( a[p3, p1] l)
1df5
1cc9
sd (n:=n.+1) u2r = \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
1cc9
sp (n:=n.+1) (u2r ord0) (3 * c).-2 ( a[p1, p3] a1) = sp (n:=n.+1) ta1 (3 * c).-2 ( a[p1, p3] a1)
1cc9
sp (n:=n.+1) (u2r ord_max) (3 * c).-2 ( a[ a[p1, p3] a1, a[p1, p3] a1.+1] (3 * c).-2) = sp (n:=n.+1) ↓[u ord_max] (3 * c).-2 ( a[p3, p1] l)
1df61b51
1e0d
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca
i:ordinal_finType (3 * c).-2

`d[u2r (inord i), u2r (inord i.+1)]_smove = `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
1e10
1cc9
1e12
1e131df61b51
1e1d
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1054

u2r ord0 i = ta1 i
1e1f
1e24
2 < (3 * c).+1
1e1f
1cc9
sp (n:=n.+1) (u2r ord_max) (3 * c).-2 ( a[ a[p1, p3] a1, a[p1, p3] a1.+1] (3 * c).-2) = sp (n:=n.+1) ↓[u ord_max] (3 * c).-2 ( a[p3, p1] l)
1df5
1e24
u2r ord_max i = ↓[u ord_max] i
1e24
a[ a[p1, p3] a1, a[p1, p3] a1.+1] (3 * c).-2 = a[p3, p1] l
1df61b51
1e24
0 < (3 * c).-1
1e24
(if inord (3 * c) %% 3 == 0 then ↓[u (inord (a1 + inord (3 * c) %/ 3))] else if inord (3 * c) %% 3 == 1 then if inord (3 * c) == 1 then sa1 else si (a1 + inord (3 * c) %/ 3) else if inord (3 * c) == 2 then ta1 else ti (a1 + inord (3 * c) %/ 3)) i = u ord_max (trshift 1 i)
1e331df61b51
1e24
1e3b
1e32
1e24
1a4f
1e24
↓[u (inord l.+1)] i = u ord_max (trshift 1 i)
1e331df61b51
1e24
1e44
1e32
1e24
1e34
1df5
1e24
a[ a[p1, p3] a1, a[p1, p3] a1.+1] (3 * c).-2 = a[p1, p3] (c + a1)
1e241a4f
1df61b51
1e24
a[p3, p1] (~~ (odd (3 * c) (+) odd 2 (+) odd a1)) = a[p1, p3] (c + a1)
1e24
1 < 3 * c
1e501df61b51
1e24
1e57
1e4f
1e411df5
1df7
1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1df8

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca
P5:(S_[(3 * c).-2] n.+1).*2 <= \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove + sp (n:=n.+1) ta1 (3 * c).-2 pa1 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca
y1S:=\sum_(H < (3 * c).-2) `d[u2 (inord H.+2), u2 (inord H.+3)]_smove:nat
y2S:=sp (n:=n.+1) ta1 (3 * c).-2 pa1:nat
P5:(S_[(3 * c).-2] n.+1).*2 <= y1S + y2S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d1

1cbb
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f
b_le2:b < 2
1cbb
1b51
(* subcase b >= 2 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d1
u3:=[ffun i => if i == 0 :> nat then sam1 else if i == 1 :> nat then tam1 else ↓[u (inord a)]]:{ffun forall x : ordinal_finType 3, (fun=> configuration 4 n.+1) x}

1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c994

0 < k < 2 -> codom (u3 k) \subset [:: p1; a[p2, p3] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c
cH6:forall k : 'I_3, 0 < k < 2 -> codom (u3 k) \subset [:: p1; a[p2, p3] k]
1cbb
1e751b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c994852
k_lt2:k < 2

codom (u3 k) \subset [:: p1; a[p2, p3] k]
1e82
1e89
codom (if k == 0 then sam1 else if k == 1 then tam1 else ↓[u (inord a)]) \subset [:: p1; a[p2, p3] k]
1e82
1e84
1cbb
1e74
1e84
(S_[2] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + sp (n:=n.+1) sam1 2 p2 + sp (n:=n.+1) ↓[u (inord a)] 2 p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1e85
P6:(S_[2] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + sp (n:=n.+1) sam1 2 p2 + sp (n:=n.+1) ↓[u (inord a)] 2 p2
1cbb
1e751b51
1e84
p2 != p1
1e84
sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) 2 p2 + sp (n:=n.+1) (u3 ord_max) 2 ( a[p2, p3] 2) <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + sp (n:=n.+1) sam1 2 p2 + sp (n:=n.+1) ↓[u (inord a)] 2 p2
1e981e751b51
1e84
1ea1
1e97
1e84
sd (n:=n.+1) u3 = `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove
1e84
sp (n:=n.+1) (u3 ord0) 2 p2 = sp (n:=n.+1) sam1 2 p2
1e84
sp (n:=n.+1) (u3 ord_max) 2 ( a[p2, p3] 2) = sp (n:=n.+1) ↓[u (inord a)] 2 p2
1e981e751b51
1ea6
1e84
1eab
1eac1e981e751b51
1eb0
1e84
1ead
1e97
1e99
1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1e9a

1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c
x3S:=sp (n:=n.+1) sam1 2 p2:nat
y3S:=sp (n:=n.+1) ↓[u (inord a)] 2 p2:nat
P6:(S_[2] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + x3S + y3S

1cbb
1e74
1ec1
x2S + x3S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 2] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec4
x2Sx3SE:x2S + x3S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 2] n
1cbb
1e751b51
1ecb
1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec4
x2Sx3SE:x2S + x3S <= (S_[1] n).*2 + α_[(3 * a).-2] n

1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed4
u4:=[ffun i => ↓[u (inord (a + i))]]:{ffun forall x : ordinal_finType b.+1, (fun=> configuration 4 n.+1) x}

1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f

1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f9c1

0 < k < b -> codom (u4 k) \subset [:: p2; a[pa, paS] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f
cH7:forall k : 'I_b.+1, 0 < k < b -> codom (u4 k) \subset [:: p2; a[pa, paS] k]
1cbb
1e751b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f9c1852
k_ltb:k < b

codom (u4 k) \subset [:: p2; a[pa, paS] k]
1ee3
1eea
a + k < l.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f9c18521eeb
akLl:a + k < l.+1
1eec
1ee41e751b51
1eea
a + k <= a1
1ef1
1ef3
1eec
1ee3
1ef3
codom ↓[u (inord (a + k))] \subset [:: p2; a[pa, paS] k]
1ee3
1ef3
0 < inord (a + k) < l.+1
1ef3
codom (u' (inord (a + k))) \subset [:: p2; a[p1, p3] (inord (a + k))] -> codom ↓[u (inord (a + k))] \subset [:: p2; a[pa, paS] k]
1ee41e751b51
1ef3
a + k < l.+2
1f04
1ef3
1f06
1ee3
1ef3
codom ↓[u (inord (a + k))] \subset [:: p2; a[p1, p3] (a + k)] -> codom ↓[u (inord (a + k))] \subset [:: p2; a[pa, paS] k]
1ee3
1ee5
1cbb
1e74
1ee5
(S_[b] n.+1).*2 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[u (inord (a + i).+1)]]_smove + sp (n:=n.+1) ↓[u (inord a)] b pa + sp (n:=n.+1) ↓[u (inord a1)] b ( a[p1, p3] a1)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee6
P7:(S_[b] n.+1).*2 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[ u (inord (a + i).+1)]]_smove + sp (n:=n.+1) ↓[u (inord a)] b pa + sp (n:=n.+1) ↓[u (inord a1)] b ( a[p1, p3] a1)
1cbb
1e751b51
1ee5
a[p1, p3] a.+1 != a[p1, p3] a
1ee5
sd (n:=n.+1) u4 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[ u (inord (a + i).+1)]]_smove
1ee5
sp (n:=n.+1) (u4 ord0) b ( a[p1, p3] a) <= sp (n:=n.+1) ↓[u (inord a)] b ( a[p1, p3] a)
1ee5
sp (n:=n.+1) (u4 ord_max) b ( a[ a[p1, p3] a, a[p1, p3] a.+1] b) <= sp (n:=n.+1) ↓[u (inord a1)] b ( a[p1, p3] a1)
1f1a1e751b51
1f1e
1ee5
sd (n:=n.+1) u4 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[u (inord (a + i).+1)]]_smove
1f241f261f1a1e751b51
1f2a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee6821

i.+1 < b.+1
1f32
i < b.+1
1f241f261f1a1e751b51
1f32
1f36
1f2d
1ee5
1f25
1f261f1a1e751b51
1f3b
1ee5
1f27
1f19
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61054

(u (inord a1) (trshift 1 i) != a[ a[p1, p3] a, a[p1, p3] a.+1] b) * β_[n.+1, b] i <= (u (inord a1) (trshift 1 i) != a[p1, p3] a1) * β_[n.+1, b] i
1f19
1f1b
1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee6
x4S:=sp (n:=n.+1) ↓[u (inord a)] b pa:nat
y4S:=sp (n:=n.+1) ↓[u (inord a1)] b ( a[p1, p3] a1):nat
P7:(S_[b] n.+1).*2 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[ u (inord (a + i).+1)]]_smove + x4S + y4S

1cbb
1e74
1f4d
y3S + x4S <= (S_[1] n).*2 + α_[maxn 2 b] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f50
y3Sx4SE:y3S + x4S <= (S_[1] n).*2 + α_[maxn 2 b] n
1cbb
1e751b51
1f4d
codom ↓[u (inord a)] \subset [:: p2; pa]
1f55
1f4d
codom (u (inord a)) \subset [:: p2; pa]
1f55
1f4d
0 < a < l.+1
1f55
1f57
1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f50
y3Sx4SE:y3S + x4S <= (S_[1] n).*2 + α_[b] n

1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c
u5:=[ffun i => if i == 0 :> nat then ↓[u (inord a1)] else if i == 1 :> nat then sa1 else ta1]:{ffun forall x : ordinal_finType 3, (fun=> configuration 4 n.+1) x}

1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f71994

0 < k < 2 -> codom (u5 k) \subset [:: p1; a[p2, p3] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f71
cH8:forall k : 'I_3, 0 < k < 2 -> codom (u5 k) \subset [:: p1; a[p2, p3] k]
1cbb
1e751b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f719948521e8a

codom (u5 k) \subset [:: p1; a[p2, p3] k]
1f77
1f7e
codom (if k == 0 then ↓[u (inord a1)] else if k == 1 then sa1 else ta1) \subset [:: p1; a[p2, p3] k]
1f77
1f79
1cbb
1e74
1f79
(S_[2] n.+1).*2 <= `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) ↓[u (inord a1)] 2 p2 + sp (n:=n.+1) ta1 2 p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a
P8:(S_[2] n.+1).*2 <= `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) ↓[u (inord a1)] 2 p2 + sp (n:=n.+1) ta1 2 p2
1cbb
1e751b51
1f79
sd (n:=n.+1) u5 + sp (n:=n.+1) (u5 ord0) 2 p2 + sp (n:=n.+1) (u5 ord_max) 2 ( a[p2, p3] 2) <= `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) ↓[u (inord a1)] 2 p2 + sp (n:=n.+1) ta1 2 p2
1f8b
1f79
sd (n:=n.+1) u5 = `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove
1f79
sp (n:=n.+1) (u5 ord0) 2 p2 = sp (n:=n.+1) ↓[u (inord a1)] 2 p2
1f79
sp (n:=n.+1) (u5 ord_max) 2 ( a[p2, p3] 2) = sp (n:=n.+1) ta1 2 p2
1f8c1e751b51
1f94
1f79
1f99
1f9a1f8c1e751b51
1f9e
1f79
1f9b
1f8b
1f8d
1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a
x5S:=sp (n:=n.+1) ↓[u (inord a1)] 2 p2:nat
y5S:=sp (n:=n.+1) ta1 2 p2:nat
P8:(S_[2] n.+1).*2 <= `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + x5S + y5S

1cbb
1e74
1fab
y4S + x5S <= (S_[1] n).*2 + α_[maxn b 2] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae
y4Sx5SE:y4S + x5S <= (S_[1] n).*2 + α_[maxn b 2] n
1cbb
1e751b51
1fab
codom ↓[u (inord a1)] \subset [:: a[p1, p3] a1; p2]
1fb3
1fab
codom (u (inord a1)) \subset [:: p2; a[p1, p3] a1]
1fb3
1fab
(0 < a1 < l.+1 -> codom (u (inord a1)) \subset [:: p2; a[p1, p3] a1]) -> codom (u (inord a1)) \subset [:: p2; a[p1, p3] a1]
1fab
a1 < l.+2
1fb41e751b51
1fab
1fc5
1fb3
1fb5
1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae
y4Sx5SE:y4S + x5S <= (S_[1] n).*2 + α_[b] n

1cbb
1e74
1fcf
y2S + y5S <= (S_[1] n).*2 + α_[maxn (3 * c).-2 2] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd0
y2Sy5SE:y2S + y5S <= (S_[1] n).*2 + α_[maxn (3 * c).-2 2] n
1cbb
1e751b51
1fcf
codom ta1 \subset [:: pa1; p2]
1fd5
1fd7
1cbb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd0
y2Sy5SE:y2S + y5S <= (S_[1] n).*2 + α_[(3 * c).-2] n

1cbb
1e74
1fe3
sd (n:=n.+2) u = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
1fe3
(S_[l.+1] n.+2).*2 <= \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1e751b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd01fe4
f:=fun i : nat => `d[u (inord i), u (inord i.+1)]_smove:nat -> nat

1fe8
1fe9
1fef
\sum_(0 <= i < l.+1) f i = \sum_(0 <= i < a) f i + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
1fe9
1fe3
1feb
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd01fe4

(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + sd (n:=n.+1) u2) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1e74
1ffb
sd (n:=n.+1) u1 = \sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove
1ffb
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[ u (inord a)]]_smove) + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + sd (n:=n.+1) u2) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1e751b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd01fe4
f:=fun i : nat => `d[u1 (inord i), u1 (inord i.+1)]_smove:nat -> nat

2000
2001
2007
\sum_(0 <= i < 3 * a) f i = \sum_(0 <= i < (3 * a).-2) f i + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove
2001
2007
979
2007
\sum_(0 <= i < 3 * a - 2 + 2) f i = \sum_(0 <= i < (3 * a).-2) f i + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove
20021e751b51
2007
2012
2001
2007
`d[u1 (inord (3 * a).-2), u1 (inord (3 * a).-2.+1)]_smove = `d[sam1, tam1]_smove
2007
`d[u1 (inord (3 * a).-2.+1), u1 (inord (3 * a).-2.+2)]_smove = `d[tam1, ↓[u (inord a)]]_smove
20021e751b51
2007
1c9f
2007
`d[if inord (3 * a.-1).+1 %% 3 == 0 then ↓[u (inord (inord (3 * a.-1).+1 %/ 3))] else if inord (3 * a.-1).+1 %% 3 == 1 then if inord (3 * a.-1).+1 == (3 * a.-1).+1 then sam1 else si (inord (3 * a.-1).+1 %/ 3) else if inord (3 * a.-1).+1 == (3 * a.-1).+2 then tam1 else ti (inord (3 * a.-1).+1 %/ 3), u1 (inord (3 * a.-1).+2)]_smove = `d[sam1, tam1]_smove
201b20021e751b51
2007
`d[if inord (3 * a.-1).+1 %% 3 == 0 then ↓[u (inord (inord (3 * a.-1).+1 %/ 3))] else if inord (3 * a.-1).+1 %% 3 == 1 then if inord (3 * a.-1).+1 == (3 * a.-1).+1 then sam1 else si (inord (3 * a.-1).+1 %/ 3) else if inord (3 * a.-1).+1 == (3 * a.-1).+2 then tam1 else ti (inord (3 * a.-1).+1 %/ 3), u1 (inord (3 * a.-1).+2)]_smove = `d[sam1, tam1]_smove
201a
2007
`d[if (3 * a.-1).+1 %% 3 == 0 then ↓[u (inord ((3 * a.-1).+1 %/ 3))] else if (3 * a.-1).+1 %% 3 == 1 then if (3 * a.-1).+1 == (3 * a.-1).+1 then sam1 else si ((3 * a.-1).+1 %/ 3) else if (3 * a.-1).+1 == (3 * a.-1).+2 then tam1 else ti ((3 * a.-1).+1 %/ 3), u1 (inord (3 * a.-1).+2)]_smove = `d[sam1, tam1]_smove
201a
2007
`d[sam1, u1 (inord (3 * a.-1).+2)]_smove = `d[sam1, tam1]_smove
201a
2007
(3 * a.-1).+2 < (3 * a).+1
2007
`d[sam1, if (3 * a.-1).+2 %% 3 == 0 then ↓[u (inord ((3 * a.-1).+2 %/ 3))] else if (3 * a.-1).+2 %% 3 == 1 then if (3 * a.-1).+2 == (3 * a.-1).+1 then sam1 else si ((3 * a.-1).+2 %/ 3) else if (3 * a.-1).+2 == (3 * a.-1).+2 then tam1 else ti ((3 * a.-1).+2 %/ 3)]_smove = `d[sam1, tam1]_smove
201b20021e751b51
2007
2035
201a
2007
`d[u1 (inord (3 * a).-2.+1), u1 (inord (3 * a).-2.+2)]_smove = `d[tam1, ↓[u (inord a)]]_smove
2001
201f
2007
`d[if inord (3 * a.-1).+2 %% 3 == 0 then ↓[u (inord (inord (3 * a.-1).+2 %/ 3))] else if inord (3 * a.-1).+2 %% 3 == 1 then if inord (3 * a.-1).+2 == (3 * a.-1).+1 then sam1 else si (inord (3 * a.-1).+2 %/ 3) else if inord (3 * a.-1).+2 == (3 * a.-1).+2 then tam1 else ti (inord (3 * a.-1).+2 %/ 3), u1 (inord (3 * a.-1).+3)]_smove = `d[tam1, ↓[u (inord a)]]_smove
20021e751b51
2007
`d[if inord (3 * a.-1).+2 %% 3 == 0 then ↓[u (inord (inord (3 * a.-1).+2 %/ 3))] else if inord (3 * a.-1).+2 %% 3 == 1 then if inord (3 * a.-1).+2 == (3 * a.-1).+1 then sam1 else si (inord (3 * a.-1).+2 %/ 3) else if inord (3 * a.-1).+2 == (3 * a.-1).+2 then tam1 else ti (inord (3 * a.-1).+2 %/ 3), u1 (inord (3 * a.-1).+3)]_smove = `d[tam1, ↓[u (inord a)]]_smove
2001
2031
2007
`d[if (3 * a.-1).+2 %% 3 == 0 then ↓[u (inord ((3 * a.-1).+2 %/ 3))] else if (3 * a.-1).+2 %% 3 == 1 then if (3 * a.-1).+2 == (3 * a.-1).+1 then sam1 else si ((3 * a.-1).+2 %/ 3) else if (3 * a.-1).+2 == (3 * a.-1).+2 then tam1 else ti ((3 * a.-1).+2 %/ 3), u1 (inord (3 * a.-1).+3)]_smove = `d[tam1, ↓[u (inord a)]]_smove
20021e751b51
2007
`d[if (3 * a.-1).+2 %% 3 == 0 then ↓[u (inord ((3 * a.-1).+2 %/ 3))] else if (3 * a.-1).+2 %% 3 == 1 then if (3 * a.-1).+2 == (3 * a.-1).+1 then sam1 else si ((3 * a.-1).+2 %/ 3) else if (3 * a.-1).+2 == (3 * a.-1).+2 then tam1 else ti ((3 * a.-1).+2 %/ 3), u1 (inord (3 * a.-1).+3)]_smove = `d[tam1, ↓[u (inord a)]]_smove
2001
2007
`d[tam1, u1 (inord (3 * a.-1).+3)]_smove = `d[tam1, ↓[u (inord a)]]_smove
2001
2007
(3 * a.-1).+3 < (3 * a).+1
2007
`d[tam1, if (3 * a.-1).+3 %% 3 == 0 then ↓[u (inord ((3 * a.-1).+3 %/ 3))] else if (3 * a.-1).+3 %% 3 == 1 then if (3 * a.-1).+3 == (3 * a.-1).+1 then sam1 else si ((3 * a.-1).+3 %/ 3) else if (3 * a.-1).+3 == (3 * a.-1).+2 then tam1 else ti ((3 * a.-1).+3 %/ 3)]_smove = `d[tam1, ↓[u (inord a)]]_smove
20021e751b51
2007
2059
2001
1ffb
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + sd (n:=n.+1) u2) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1e74
1ffb
sd (n:=n.+1) u2 = `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
1ffb
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[ u (inord a)]]_smove) + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove)) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1e751b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd01fe4
f:=fun i : nat => `d[u2 (inord i), u2 (inord i.+1)]_smove:nat -> nat

2064
2065
206b
\sum_(0 <= i < 3 * c) f i = `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
2065
206b
1e57
206b
\sum_(0 <= i < 3 * c - 2 + 2) f i = `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
20661e751b51
206b
2076
2065
206b
`d[u2 (inord 0), u2 (inord 1)]_smove = `d[↓[u (inord a1)], sa1]_smove
206b
`d[u2 (inord 1), u2 (inord 2)]_smove = `d[sa1, ta1]_smove
206b
\sum_(0 <= i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove = \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
20661e751b51
207b
206b
1 < (3 * c).+1
207e
206b
2080
208120661e751b51
2089
206b
1e29
206b2087
208120661e751b51
2086208b
206b
2082
2065
1ffb
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove)) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1e74
1ffb
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + y1S)) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd01fe4
z1S:=\sum_(H < (3 * a).-2) `d[u1 (inord H), u1 (inord H.+1)]_smove:nat
z2S:=\sum_(H < n.+1) (↓[u ord_max] H != a[p3, p1] l) * (α_[1] H).*2:nat

(S_[l.+1] n.+2).*2 <= a.*2 + (z1S + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + y1S)) + x1S + z2S
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd01fe420a320a4
z3S:=\sum_(a <= H < a1) `d[u (inord H), u (inord H.+1)]_smove:nat

(S_[l.+1] n.+2).*2 <= a.*2 + (z1S + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + z3S + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + y1S)) + x1S + z2S
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ec41ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd01fe420a320a420aa
P4:(S_[(3 * a).-2] n.+1).*2 <= z1S + x1S + x2S
P5:(S_[(3 * c).-2] n.+1).*2 <= y1S + y2S + z2S
P3:\sum_(a <= i < a1) `d[↓[u (inord i)], ↓[ u (inord i.+1)]]_smove <= z3S

20ab
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fae1fd01fe420a320a420aa20b020b120b2
d1:=`d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove:nat
P6:(S_[2] n.+1).*2 <= d1 + x3S + y3S

(S_[l.+1] n.+2).*2 <= a.*2 + (z1S + d1) + z3S + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + y1S)) + x1S + z2S
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b220b720b8
d2:=`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove:nat
P8:(S_[2] n.+1).*2 <= d2 + x5S + y5S

(S_[l.+1] n.+2).*2 <= a.*2 + (z1S + d1) + z3S + (c.*2 + (d2 + y1S)) + x1S + z2S
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f501f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf
xS:=\sum_(a <= H < a1) `d[↓[u (inord H)], ↓[ u (inord H.+1)]]_smove:nat
P3:xS <= z3S

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c6

\sum_(i < b) `d[↓[u (inord (a + i))], ↓[u (inord (a + i).+1)]]_smove = xS
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c6
P7:(S_[b] n.+1).*2 <= xS + x4S + y4S
20c0
1e751b51
20ca
\sum_(i < b) `d[↓[u (inord (a + i))], ↓[u (inord (a + i).+1)]]_smove = \sum_(i < b) `d[↓[u (inord (i + a))], ↓[u (inord (i + a).+1)]]_smove
20cc
20ce
20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf
F1:S_[(3 * a).-2] n.+1 = S_[(3 * a).-2] n + α_[(3 * a).-2] n

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db
F2:S_[(3 * c).-2] n.+1 = S_[(3 * c).-2] n + α_[(3 * c).-2] n

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e0
F3:S_[b] n.+1 = S_[b] n + α_[b] n

20c0
1e74
20e4
2 * a = 2 + a.-1 + a.-1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e5
F4_a:2 * a = 2 + a.-1 + a.-1
20c0
1e751b51
20ec
20c0
1e74
20ec
2 * c = 2 + c.-1 + c.-1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed
F4_c:2 * c = 2 + c.-1 + c.-1
20c0
1e751b51
20f7
20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f8
i, k:nat

0 < i -> S_[i.-1] k.+1 <= S_[(3 * i).-2] k + i.-1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f8
F4:forall i k : nat, 0 < i -> S_[i.-1] k.+1 <= S_[(3 * i).-2] k + i.-1
20c0
1e751b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82100
i_gt0:0 < i

S_[3 * i.-1] k + i.-1 <= S_[(3 * i).-2] k + i.-1
2102
2109
S_[3 * i.-1] k <= S_[(3 * i).-2] k
2102
2109
3 * i.-1 <= (3 * i).-2
2102
2104
20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105
F4an:S_[a.-1] n.+1 <= S_[(3 * a).-2] n + a.-1

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b
F4an1:S_[a.-1] n.+2 <= S_[(3 * a).-2] n.+1 + a.-1

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b2120
F4cn:S_[c.-1] n.+1 <= S_[(3 * c).-2] n + c.-1

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125
F4cn1:S_[c.-1] n.+2 <= S_[(3 * c).-2] n.+1 + c.-1

20c0
1e74
2129
1 < l
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4
20c0
1e751b51
2131
20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4
F5:(S_[l.+1] n.+2).*2 <= S_[l.+1] n.+2 + S_[l] n.+1 + (α_[1] n.+1).*2

20c0
1e74
2138
S_[l.+1] n.+2 + S_[1] n.+2 <= S_[a.-1] n.+2 + S_[(b + c).+2] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e42139
F6:S_[l.+1] n.+2 + S_[1] n.+2 <= S_[a.-1] n.+2 + S_[(b + c).+2] n.+2
20c0
1e751b51
2138
S_[l.+1] n.+2 + S_[1] n.+2 <= S_[(b + c).+2] n.+2 + S_[a.-1] n.+2
213e
2138
l.+1 = 1 + a.-2 + (b + c).+1
2138
S_[1 + a.-2 + (b + c).+1] n.+2 + S_[1] n.+2 <= S_[(b + c).+2] n.+2 + S_[a.-1] n.+2
213f1e751b51
2138
l.+1 = a + (a1 - a + (l.+1 - a1))
214a
2138
214c
213e
2138
a.-1 = 1 + a.-2
2138
S_[1 + (1 + a.-2).-1 + (b + c).+1] n.+2 + S_[1] n.+2 <= S_[(b + c).+2] n.+2 + S_[1 + a.-2] n.+2
213f1e751b51
2138
215a
213e
2140
20c0
1e74
2140
S_[l] n.+1 + S_[1] n.+1 <= S_[a.-1] n.+1 + S_[(b + c).+1] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e421392141
F7:S_[l] n.+1 + S_[1] n.+1 <= S_[a.-1] n.+1 + S_[(b + c).+1] n.+1
20c0
1e751b51
2140
S_[l] n.+1 + S_[1] n.+1 <= S_[(b + c).+1] n.+1 + S_[a.-1] n.+1
2165
2140
l = 1 + a.-2 + (b + c)
2140
S_[1 + a.-2 + (b + c)] n.+1 + S_[1] n.+1 <= S_[(b + c).+1] n.+1 + S_[a.-1] n.+1
21661e751b51
2140
l = a.-2.+2 + (a1 - a + (l - a1))
2171
2140
l = a + (a1 - a + (l - a1))
2171
2140
2173
2165
2140
2157
2140
S_[1 + (1 + a.-2).-1 + (b + c)] n.+1 + S_[1] n.+1 <= S_[(b + c).+1] n.+1 + S_[1 + a.-2] n.+1
21661e751b51
2140
2184
2165
2167
20c0
1e74
2167
S_[(b + c).+2] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[b.+4] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4213921412168
F8:S_[(b + c).+2] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[b.+4] n.+2
20c0
1e751b51
2167
(b + c).+2 = 1 + b.+3 + c.-2
2167
S_[1 + b.+3 + c.-2] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[b.+4] n.+2
21901e751b51
2167
2199
218f
2167
c.-1 = 1 + c.-2
2167
S_[1 + b.+3 + (1 + c.-2).-1] n.+2 + S_[1] n.+2 <= S_[1 + c.-2] n.+2 + S_[b.+4] n.+2
21901e751b51
2167
21a3
218f
2191
20c0
1e74
2191
S_[(b + c).+1] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[b.+3] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e42139214121682192
F9:S_[(b + c).+1] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[b.+3] n.+1
20c0
1e751b51
2191
(b + c).+1 = 1 + b.+2 + c.-2
2191
S_[1 + b.+2 + c.-2] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[b.+3] n.+1
21af1e751b51
2191
21b8
21ae
2191
21a0
2191
S_[1 + b.+2 + (1 + c.-2).-1] n.+1 + S_[1] n.+1 <= S_[1 + c.-2] n.+1 + S_[b.+3] n.+1
21af1e751b51
2191
21c1
21ae
21b0
20c0
1e74
21b0
S_[b.+4] n.+2 <= S_[b.+3] n.+1 + (α_[1] n.+1).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4213921412168219221b1
F10:S_[b.+4] n.+2 <= S_[b.+3] n.+1 + (α_[1] n.+1).*2
20c0
1e751b51
21ce
20c0
1e74
21ce
S_[b.+3] n.+1 <= S_[b.+2] n + (α_[1] n).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4213921412168219221b121cf
F11:S_[b.+3] n.+1 <= S_[b.+2] n + (α_[1] n).*2
20c0
1e751b51
21d9
20c0
1e74
21d9
S_[b.+2] n + S_[1] n <= S_[b] n + S_[3] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4213921412168219221b121cf21da
F12:S_[b.+2] n + S_[1] n <= S_[b] n + S_[3] n
20c0
1e751b51
21d9
b.+2 = 1 + 2 + b.-1
21d9
S_[1 + 2 + b.-1] n + S_[1] n <= S_[b] n + S_[3] n
21e31e751b51
21d9
21ec
21e2
21d9
S_[1 + 2 + b.-1] n + S_[1] n <= S_[b.-1.+1] n + S_[3] n
21e2
21e4
20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4213921412168219221b121cf21da21e5
F13:S_[1] n.+1 = (S_[3] n).+1

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4213921412168219221b121cf21da21e521fb
F14:S_[1] n.+1 + S_[1] n.+2 <= (S_[2] n.+1).*2.+1

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4213921412168219221b121cf21da21e521fb2200
F15n:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

20c0
1e74
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e5d11e7c1ec21ec31ed41ed998f1ee61f4e1f4f1f6c1f711f7a1fac1fad1fd01fe420a320a420aa20b020b120b720b820be20bf20c520c620cf20db20e020e520ed20f82105211b21202125212a4e4213921412168219221b121cf21da21e521fb22002205
F15n1:S_[1] n.+1 = S_[1] n + α_[1] n

20c0
1e74
1e76
1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb23

1cbb
1e6c
b.+1 < 2 -> (S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b51
(* subcase b = 1 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb23
a1E:a1 = a.+1

1cbb
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219
u3:=[ffun i => if i == 0 :> nat then sam1 else if i == 1 :> nat then tam1 else if i == 2 :> nat then ↓[u (inord a)] else ↓[u (inord a.+1)]]:{ffun forall x : ordinal_finType 4, (fun=> configuration 4 n.+1) x}

1cbb
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221ee34

0 < k < 3 -> codom (u3 k) \subset [:: pa1S; a[p2, pa1] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e
cH6:forall k : 'I_4, 0 < k < 3 -> codom (u3 k) \subset [:: pa1S; a[p2, pa1] k]
1cbb
22131b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221ee34852
k_lt3:k < 3

codom (u3 k) \subset [:: pa1S; a[p2, pa1] k]
2224
222b
codom (if k == 1 then tam1 else if k == 2 then ↓[u (inord a)] else ↓[u (inord a.+1)]) \subset [:: pa1S; a[p2, pa1] k]
2224
222b
codom tam1 \subset [:: pa1S; a[p2, pa1] 1]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221ee34852222c
kD1:k != 1
codom (if k == 2 then ↓[u (inord a)] else ↓[u (inord a.+1)]) \subset [:: pa1S; a[p2, pa1] k]
222522131b51
2238
223a
2224
2238
k = 2
2238
codom ↓[u (inord a)] \subset [:: pa1S; a[p2, pa1] 2]
222522131b51
2238
2244
2224
2238
codom (u (inord a)) \subset [:: a[p2, pa1] 2; pa1S]
2224
2238
1899
2238
codom (u (inord a)) \subset [:: p2; a[p1, p3] (inord a)] -> codom (u (inord a)) \subset [:: a[p2, pa1] 2; pa1S]
222522131b51
2238
1f64
224f
2238
2251
2224
2226
1cbb
2212
2226
(S_[3] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove + sp (n:=n.+1) sam1 3 p2 + sp (n:=n.+1) ↓[u (inord a.+1)] 3 ( a[p1, p3] a1)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e2227
P6:(S_[3] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove + sp (n:=n.+1) sam1 3 p2 + sp (n:=n.+1) ↓[u (inord a.+1)] 3 ( a[p1, p3] a1)
1cbb
22131b51
2226
1dff
2226
p2 != a[p1, p3] a1
22261a1f
2226
sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) 3 p2 + sp (n:=n.+1) (u3 ord_max) 3 ( a[p2, a[p1, p3] a1] 3) <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove + sp (n:=n.+1) sam1 3 p2 + sp (n:=n.+1) ↓[u (inord a.+1)] 3 ( a[p1, p3] a1)
226022131b51
2264
2226
2268
2269226a226022131b51
226e
2226
1a1f
226a226022131b51
2273
2226
226b
225f
2226
sd (n:=n.+1) u3 = `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove
2226
sp (n:=n.+1) (u3 ord0) 3 p2 = sp (n:=n.+1) sam1 3 p2
2226
sp (n:=n.+1) (u3 ord_max) 3 ( a[p2, a[p1, p3] a1] 3) = sp (n:=n.+1) ↓[u (inord a.+1)] 3 ( a[p1, p3] a1)
226022131b51
227b
2226
2280
2281226022131b51
2285
2226
2282
225f
2261
1cbb
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e2227
x3S:=sp (n:=n.+1) sam1 3 p2:nat
y3S:=sp (n:=n.+1) ↓[u (inord a.+1)] 3 ( a[p1, p3] a1):nat
P6:(S_[3] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove + x3S + y3S

1cbb
2212
2292
x2S + x3S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 3] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e2227229322942295
x2Sx3SE:x2S + x3S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 3] n
1cbb
22131b51
229c
1cbb
2212
2292
e9c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed4
1cbb
22131b51
22a6
1cbb
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f71

1cbb
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f71994

1f76
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a
1cbb
22131b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f719948521e8a

1f7f
22b2
22b8
1f83
22b2
22b4
1cbb
2212
22b4
(S_[2] n.+1).*2 <= `d[↓[u (inord a.+1)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) ↓[u (inord a.+1)] 2 p2 + sp (n:=n.+1) ta1 2 p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a
P8:(S_[2] n.+1).*2 <= `d[↓[u (inord a.+1)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) ↓[u (inord a.+1)] 2 p2 + sp (n:=n.+1) ta1 2 p2
1cbb
22131b51
22b4
1e9e
22b4
sd (n:=n.+1) u5 + sp (n:=n.+1) (u5 ord0) 2 p2 + sp (n:=n.+1) (u5 ord_max) 2 ( a[p2, p3] 2) <= `d[↓[u (inord a.+1)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) ↓[u (inord a.+1)] 2 p2 + sp (n:=n.+1) ta1 2 p2
22c422131b51
22b4
22cc
22c3
22b4
sd (n:=n.+1) u5 = `d[↓[u (inord a.+1)], sa1]_smove + `d[sa1, ta1]_smove
22b4
sp (n:=n.+1) (u5 ord0) 2 p2 = sp (n:=n.+1) ↓[u (inord a.+1)] 2 p2
22b41f9b
22c422131b51
22d1
22b4
22d6
22d722c422131b51
22da
22b4
1f9b
22c3
22c5
1cbb
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a
x5S:=sp (n:=n.+1) ↓[u (inord a.+1)] 2 p2:nat
1fad
P8:(S_[2] n.+1).*2 <= `d[↓[u (inord a.+1)], sa1]_smove + `d[sa1, ta1]_smove + x5S + y5S

1cbb
2212
22e7
y3S + x5S <= (S_[1] n).*2 + α_[3] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a22e81fad22e9
y3Sx5SE:y3S + x5S <= (S_[1] n).*2 + α_[3] n
1cbb
22131b51
22e7
codom ↓[u (inord a.+1)] \subset [:: a[p1, p3] a1; p2]
22ee
22e7
codom (u (inord a.+1)) \subset [:: p2; a[p1, p3] a1]
22ee
22e7
(0 < a.+1 < l.+1 -> codom (u (inord a.+1)) \subset [:: p2; a[p1, p3] a.+1]) -> codom (u (inord a.+1)) \subset [:: p2; a[p1, p3] a.+1]
22e7
a.+1 < l.+2
22ef22131b51
22e7
2300
22ee
22f0
1cbb
2212
22f0
y5S + y2S <= (S_[1] n).*2 + α_[maxn 2 (3 * c).-2] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a22e81fad22e922f1
y5Sy2SE:y5S + y2S <= (S_[1] n).*2 + α_[maxn 2 (3 * c).-2] n
1cbb
22131b51
230d
1cbb
2212
22f0
1 < (3 * c).-2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a22e81fad22e922f1
y5Sy2SE:y5S + y2S <= (S_[1] n).*2 + α_[(3 * c).-2] n
1cbb
22131b51
2318
1cbb
2212
2318
1fe8
23181feb
22131b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a22e81fad22e922f123191ff0

1fe8
2320
2325
1ff4
2320
2318
1feb
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a22e81fad22e922f12319

2 * S_[1 + l] (2 + n) <= 2 * a + sd (n:=1 + n) u1 + 2 * c + sd (n:=1 + n) u2 + x1S + \sum_(k < 1 + n) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove
2212
232f
2000
232f
2 * S_[1 + l] (2 + n) <= 2 * a + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[ u (inord a)]]_smove) + 2 * c + sd (n:=1 + n) u2 + x1S + \sum_(k < 1 + n) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[ u (inord i.+1)]]_smove
22131b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a22e81fad22e922f123192008

2000
2334
233a
200c
2334
233a
979
233a2012
233522131b51
233a
2012
2334
233a
2019
233a201c
233522131b51
233a
1c9f
233a2022
234a233522131b51
233a
2026
2349
233a
202a
2349
233a
202e
2349
233a
2032
233a2035
234a233522131b51
233a
2035
2349
233a
203c
2334
234d
233a2041
233522131b51
233a
2045
2334
235b
233a204a
233522131b51
233a
204e
2334
233a
2052
2334
233a
2056
233a2059
233522131b51
233a
2059
2334
232f
2 * S_[1 + l] (2 + n) <= 2 * a + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + 2 * c + sd (n:=1 + n) u2 + x1S + \sum_(k < 1 + n) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove
2212
232f
2064
232f
2 * S_[1 + l] (2 + n) <= 2 * a + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[ u (inord a)]]_smove) + 2 * c + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove) + x1S + \sum_(k < 1 + n) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[ u (inord i.+1)]]_smove
22131b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6fb232219221e22272293229422951ed41f711f7a22e81fad22e922f12319206c

2064
2384
238a
2070
2384
238a
1e57
238a2076
238522131b51
238a
2076
2384
238a
`d[u2 (inord 0), u2 (inord 1)]_smove + `d[u2 (inord 1), u2 (inord 2)]_smove + \sum_(0 <= i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove = `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
2384
238a
207d
238a2080
238a2082
238522131b51
239b
238a
2087
239d
238a
2080
239f238522131b51
23a5
238a
1e29
238a2087
239f238522131b51
23a323a7
238a
2082
2384
232f
2 * S_[1 + l] (2 + n) <= 2 * a + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + 2 * c + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove) + x1S + \sum_(k < 1 + n) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove
2212
232f
\sum_(a <= H < a1) `d[↓[u (inord H)], ↓[u (inord H.+1)]]_smove = `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove
232f
2 * S_[1 + l] (2 + n) <= 2 * a + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[ u (inord a)]]_smove) + 2 * c + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove) + x1S + \sum_(k < 1 + n) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove
22131b51
232f
2 * S_[1 + l] (2 + n) <= 2 * a + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + 2 * c + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove) + x1S + \sum_(k < 1 + n) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e22272293229422951ed41f711f7a22e81fad22e922f1231920a320b020a420b1

23c1
2212
23c5
2 * S_[1 + l] (2 + n) <= 2 * a + (z1S + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + 2 * c + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove) + x1S + z2S + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e22272293229422951ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf

2 * S_[1 + l] (2 + n) <= 2 * a + (z1S + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + 2 * c + (d2 + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove) + x1S + z2S + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf
d1:=`d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove:nat
P6:(S_[3] n.+1).*2 <= d1 + x3S + y3S

23ce
2212
23d2
2 * S_[1 + l] (2 + n) <= 2 * a + (z1S + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + 2 * c + (d2 + y1S) + x1S + z2S + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove
2212
23d2
2 * S_[1 + l] (2 + n) <= 2 * a + 2 * c + x1S + y1S + z1S + z2S + d2 + (`d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], ↓[u (inord a.+1)]]_smove)
2212
23d2
2 * S_[1 + l] (2 + n) <= 2 * a + 2 * c + x1S + y1S + z1S + z2S + d2 + d1
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e0

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e0
F3:S_[3] n.+1 = S_[3] n + α_[3] n

23e0
2212
23ec
20e9
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed
23e0
22131b51
23f3
23e0
2212
23f3
20f4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f8
23e0
22131b51
23fc
23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82100

2101
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105
23e0
22131b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82100210a

210b
2404
240a
210f
2404
240a
2113
2404
2406
23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b2120

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a

23e0
2212
2423
212e
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e4
23e0
22131b51
2429
23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e42139

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e42139
F6n:S_[1] n.+1 = (S_[3] n).+1

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435
F6n1:S_[1] n.+2 = (S_[3] n.+1).+1

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b

23e0
2212
243e
S_[1] n.+2 + S_[l.+1] n.+2 <= S_[a.-1] n.+2 + S_[c.+3] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b
F7n1:S_[1] n.+2 + S_[l.+1] n.+2 <= S_[a.-1] n.+2 + S_[c.+3] n.+2
23e0
22131b51
243e
l.+1 = 1 + c.+2 + a.-2
243e
S_[1 + c.+2 + a.-2] n.+2 + S_[1] n.+2 <= S_[a.-1] n.+2 + S_[c.+3] n.+2
244422131b51
243e
244d
2443
243e
S_[1 + c.+2 + a.-2] n.+2 + S_[1] n.+2 <= S_[1 + a.-2] n.+2 + S_[c.+3] n.+2
2443
2445
23e0
2212
2445
S_[1] n.+1 + S_[l] n.+1 <= S_[a.-1] n.+1 + S_[c.+2] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446
F7n:S_[1] n.+1 + S_[l] n.+1 <= S_[a.-1] n.+1 + S_[c.+2] n.+1
23e0
22131b51
2445
l = 1 + c.+1 + a.-2
2445
S_[1 + c.+1 + a.-2] n.+1 + S_[1] n.+1 <= S_[a.-1] n.+1 + S_[c.+2] n.+1
245d22131b51
2445
2466
245c
2445
S_[1 + c.+1 + a.-2] n.+1 + S_[1] n.+1 <= S_[1 + a.-2] n.+1 + S_[c.+2] n.+1
245c
245e
23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f
cm1_gt0:0 < c.-1

23e0
2212
2474
S_[1] n.+2 + S_[c.+3] n.+2 <= S_[c.-1] n.+2 + S_[5] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f2475
F8n1:S_[1] n.+2 + S_[c.+3] n.+2 <= S_[c.-1] n.+2 + S_[5] n.+2
23e0
22131b51
2474
c.+3 = 1 + 4 + c.-2
2474
S_[1 + 4 + c.-2] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[5] n.+2
247b22131b51
2474
2484
247a
2474
S_[1 + 4 + c.-2] n.+2 + S_[1] n.+2 <= S_[1 + c.-2] n.+2 + S_[5] n.+2
247a
247c
23e0
2212
247c
S_[1] n.+1 + S_[c.+2] n.+1 <= S_[c.-1] n.+1 + S_[4] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f2475247d
F8n:S_[1] n.+1 + S_[c.+2] n.+1 <= S_[c.-1] n.+1 + S_[4] n.+1
23e0
22131b51
247c
c.+2 = 1 + 3 + c.-2
247c
S_[1 + 3 + c.-2] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[4] n.+1
249422131b51
247c
249d
2493
247c
S_[1 + 3 + c.-2] n.+1 + S_[1] n.+1 <= S_[1 + c.-2] n.+1 + S_[4] n.+1
2493
2495
23e0
2212
2495
S_[5] n.+2 <= S_[4] n.+1 + (α_[1] n.+1).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f2475247d2496
F9:S_[5] n.+2 <= S_[4] n.+1 + (α_[1] n.+1).*2
23e0
22131b51
24ae
23e0
2212
24ae
S_[4] n.+1 <= S_[3] n + (α_[1] n).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f2475247d249624af
F10:S_[4] n.+1 <= S_[3] n + (α_[1] n).*2
23e0
22131b51
24b9
23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f2475247d249624af24ba
F11:S_[1] n.+1 = (S_[3] n).+1

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f2475247d249624af24ba24c2
F12:S_[1] n.+1 + S_[1] n.+2 <= (S_[2] n.+1).*2.+1

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f2475247d249624af24ba24c224c7
F13n1:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

23e0
2212
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6eb232219221e2227229322941ed41f711f7a22e81fad22f1231920a320b020a420b120be20bf23d323d420db20e023ed20ed20f82105211b21202125212a4e421392435243ab2b2446245f2475247d249624af24ba24c224c724cc
F13n:S_[1] n.+1 = S_[1] n + α_[1] n

23e0
2212
24d0
2 * S_[l.+1] n.+2 <= 2 * a + 2 * c + x1S + y1S + z1S + z2S + d2 + d1
2212
1e6c
2214
1b50
(* subcase b = 0 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f
a1E:a1 = a

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e1
u3:=[ffun i => if i == 0 :> nat then sam1 else if i == 1 :> nat then tam1 else if i == 2 :> nat then ↓[u (inord a)] else if i == 3 :> nat then sa1 else ta1]:{ffun forall x : ordinal_finType 5, (fun=> configuration 4 n.+1) x}

1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e61192

0 < k < 4 -> codom (u3 k) \subset [:: pa1; a[p2, pa1S] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e6
cH6:forall k : 'I_5, 0 < k < 4 -> codom (u3 k) \subset [:: pa1; a[p2, pa1S] k]
1cbb
1b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e61192852
k_lt3:k < 4

codom (u3 k) \subset [:: pa1; a[p2, pa1S] k]
24ec
24f3
codom (if k == 1 then tam1 else if k == 2 then ↓[u (inord a)] else if k == 3 then sa1 else ta1) \subset [:: pa1; a[p2, pa1S] k]
24ec
24f3
codom tam1 \subset [:: pa1; a[p2, pa1S] 1]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e6119285224f42239
codom (if k == 2 then ↓[u (inord a)] else if k == 3 then sa1 else ta1) \subset [:: pa1; a[p2, pa1S] k]
24ed1b51
2500
2501
24ec
2500
codom ↓[u (inord a)] \subset [:: pa1; a[p2, pa1S] 2]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e6119285224f42239
kD2:k != 2
codom (if k == 3 then sa1 else ta1) \subset [:: pa1; a[p2, pa1S] k]
24ed1b51
2500
codom (u (inord a)) \subset [:: a[p2, pa1S] 2; pa1]
2509
2500
1899
2500
codom (u (inord a)) \subset [:: p2; a[p1, p3] (inord a)] -> codom (u (inord a)) \subset [:: a[p2, pa1S] 2; pa1]
250a24ed1b51
2500
2517
2509
250b
250d
24ec
250b
k = 3
250b
codom sa1 \subset [:: pa1; a[p2, pa1S] 3]
24ed1b51
250b
2524
24ec
24ee
1cbb
1b50
24ee
(S_[4] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) sam1 4 p2 + sp (n:=n.+1) ta1 4 p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef
P6:(S_[4] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) sam1 4 p2 + sp (n:=n.+1) ta1 4 p2
1cbb
1b51
24ee
2268
24ee1dff
24ee1dfc
24ee
sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) 4 p2 + sp (n:=n.+1) (u3 ord_max) 4 ( a[p2, a[p1, p3] a1.+1] 4) <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) sam1 4 p2 + sp (n:=n.+1) ta1 4 p2
25301b51
2534
24ee
1dff
2538253925301b51
253d
24ee
1dfc
253925301b51
2542
24ee
sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) 4 p2 + sp (n:=n.+1) (u3 ord_max) 4 ( a[p2, a[p1, p3] a1.+1] 4) <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) sam1 4 p2 + sp (n:=n.+1) ta1 4 p2
252f
24ee
sd (n:=n.+1) u3 = `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove
24ee
sp (n:=n.+1) (u3 ord0) 4 p2 = sp (n:=n.+1) sam1 4 p2
24ee
sp (n:=n.+1) (u3 ord_max) 4 ( a[p2, a[p1, p3] a1.+1] 4) = sp (n:=n.+1) ta1 4 p2
25301b51
254b
24ee
2550
255125301b51
2555
24ee
sp (n:=n.+1) (u3 ord_max) 4 ( a[p2, a[p1, p3] a1.+1] 4) = sp (n:=n.+1) ta1 4 p2
252f
2531
1cbb
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef
x3S:=sp (n:=n.+1) sam1 4 p2:nat
y3S:=sp (n:=n.+1) ta1 4 p2:nat
P6:(S_[4] n.+1).*2 <= `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove + x3S + y3S

1cbb
1b50
2563
x2S + x3S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 4] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef256425652566
x2Sx3SE:x2S + x3S <= (S_[1] n).*2 + α_[maxn (3 * a).-2 4] n
1cbb
1b51
256d
1cbb
1b50
2563
3 < (3 * a).-2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef2564256525661ed4
1cbb
1b51
2578
1cbb
1b50
2578
y2S + y3S <= (S_[1] n).*2 + α_[maxn (3 * c).-2 4] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef2564256525661ed4
y2Sy3SE:y2S + y3S <= (S_[1] n).*2 + α_[maxn (3 * c).-2 4] n
1cbb
1b51
2578
1fdc
2580
2582
1cbb
1b50
2578
3 < (3 * c).-2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef2564256525661ed4
y2Sy3SE:y2S + y3S <= (S_[1] n).*2 + α_[(3 * c).-2] n
1cbb
1b51
2590
1cbb
1b50
2590
sd (n:=n.+2) u = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
2590
(S_[l.+1] n.+2).*2 <= \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef2564256525661ed425911ff0

2598
2599
2590
259b
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef2564256525661ed42591

(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + (c.*2 + sd (n:=n.+1) u2) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b50
25a6
2000
25a6
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[ u (inord a)]]_smove) + (c.*2 + sd (n:=n.+1) u2) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef2564256525661ed425912008

2000
25ab
25b1
200c
25ab
25b1
979
25b12012
25ac1b51
25b1
2012
25ab
25b1
2019
25b1201c
25ac1b51
25b1
1c9f
25b12022
25c125ac1b51
25b1
2026
25c0
25b1
202a
25c0
25b1
202e
25c0
25b1
2032
25b12035
25c125ac1b51
25b1
2035
25c0
25b1
203c
25ab
25c4
25b12041
25ac1b51
25b1
2045
25ab
25d2
25b1204a
25ac1b51
25b1
204e
25ab
25b1
2052
25ab
25b1
2056
25b12059
25ac1b51
25b1
2059
25ab
25a6
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + (c.*2 + sd (n:=n.+1) u2) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b50
25a6
2064
25a6
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[ u (inord a)]]_smove) + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove)) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cb71cc01cc51cca1e6d1e6e1e6f123f24e124e624ef2564256525661ed42591206c

2064
25fb
2601
2070
25fb
2601
1e57
26012076
25fc1b51
2601
2076
25fb
2601
207d
26012080
26012082
25fc1b51
260e
2601
2087
2610
2601
2080
261225fc1b51
2618
2601
1e29
26012087
261225fc1b51
2616261a
2601
2082
25fb
25a6
(S_[l.+1] n.+2).*2 <= a.*2 + (\sum_(i < (3 * a).-2) `d[u1 (inord i), u1 (inord i.+1)]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove)) + x1S + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef2564256525661ed4259120a320b020a420b1

2629
1b50
262d
(S_[l.+1] n.+2).*2 <= a.*2 + (z1S + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove)) + x1S + z2S
1b50
262d
(S_[l.+1] n.+2).*2 <= a.*2 + (z1S + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove) + (c.*2 + (`d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove + y1S)) + x1S + z2S
1b50
262d
(S_[l.+1] n.+2).*2 <= a.*2 + c.*2 + (`d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove) + x1S + y1S + z1S + z2S
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1
d1:=`d[sam1, tam1]_smove + `d[tam1, ↓[u (inord a)]]_smove + `d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove:nat
P6:(S_[4] n.+1).*2 <= d1 + x3S + y3S

(S_[l.+1] n.+2).*2 <= a.*2 + c.*2 + d1 + x1S + y1S + z1S + z2S
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0
F3:S_[4] n.+1 = S_[4] n + α_[4] n

2640
1b50
264c
20e9
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed
2640
1b51
2653
2640
1b50
2653
20f4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f8
2640
1b51
265c
2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82100

2101
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105
2640
1b51
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82100210a

210b
2664
266a
210f
2664
266a
2113
2664
2666
2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b2120

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a

2640
1b50
2683
212e
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e4
2640
1b51
2689
2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b

2640
1b50
2694
S_[1] n.+2 + S_[l.+1] n.+2 <= S_[a.-1] n.+2 + S_[c.+2] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b
F6n1:S_[1] n.+2 + S_[l.+1] n.+2 <= S_[a.-1] n.+2 + S_[c.+2] n.+2
2640
1b51
2694
l.+1 = 1 + c.+1 + a.-2
2694
S_[1 + c.+1 + a.-2] n.+2 + S_[1] n.+2 <= S_[a.-1] n.+2 + S_[c.+2] n.+2
269a1b51
2694
26a3
2699
2694
S_[1 + c.+1 + a.-2] n.+2 + S_[1] n.+2 <= S_[1 + a.-2] n.+2 + S_[c.+2] n.+2
2699
269b
2640
1b50
269b
S_[1] n.+1 + S_[l] n.+1 <= S_[a.-1] n.+1 + S_[c.+1] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c
F6n:S_[1] n.+1 + S_[l] n.+1 <= S_[a.-1] n.+1 + S_[c.+1] n.+1
2640
1b51
269b
l = 1 + c + a.-2
269b
S_[1 + c + a.-2] n.+1 + S_[1] n.+1 <= S_[a.-1] n.+1 + S_[c.+1] n.+1
26b31b51
269b
l = (l - a.-1).+1 + a.-2
26ba
269b
26bc
26b2
269b
S_[1 + c + a.-2] n.+1 + S_[1] n.+1 <= S_[1 + a.-2] n.+1 + S_[c.+1] n.+1
26b2
26b4
2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b52475

2640
1b50
26ce
S_[1] n.+2 + S_[c.+2] n.+2 <= S_[c.-1] n.+2 + S_[4] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b52475
F7n1:S_[1] n.+2 + S_[c.+2] n.+2 <= S_[c.-1] n.+2 + S_[4] n.+2
2640
1b51
26ce
249a
26ce
S_[1 + 3 + c.-2] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[4] n.+2
26d41b51
26ce
26dc
26d3
26ce
S_[1 + 3 + c.-2] n.+2 + S_[1] n.+2 <= S_[1 + c.-2] n.+2 + S_[4] n.+2
26d3
26d5
2640
1b50
26d5
S_[1] n.+1 + S_[c.+1] n.+1 <= S_[c.-1] n.+1 + S_[3] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b5247526d6
F7n:S_[1] n.+1 + S_[c.+1] n.+1 <= S_[c.-1] n.+1 + S_[3] n.+1
2640
1b51
26d5
c.+1 = 1 + 2 + c.-2
26d5
S_[1 + 2 + c.-2] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[3] n.+1
26ec1b51
26d5
26f5
26eb
26d5
S_[1 + 2 + c.-2] n.+1 + S_[1] n.+1 <= S_[1 + c.-2] n.+1 + S_[3] n.+1
26eb
26ed
2640
1b50
26ed
S_[4] n.+2 <= S_[3] n.+1 + (α_[1] n.+1).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b5247526d626ee
F8:S_[4] n.+2 <= S_[3] n.+1 + (α_[1] n.+1).*2
2640
1b51
2706
2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b5247526d626ee2707
F9:S_[3] n.+1 <= S_[4] n.+1

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b5247526d626ee2707270f
F10n1:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b5247526d626ee2707270f2714
F10n:S_[1] n.+1 = S_[1] n + α_[1] n

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b5247526d626ee2707270f27142719
F11:α_[2] n <= (α_[1] n).*2

2640
1b50
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d5c31b4f1b571b601b651b6a11fc1cb61cc01cc51cca1e6d1e6e123f24e124e624ef256425651ed4259120a320b020a420b1263e263f20db20e0264d20ed20f82105211b21202125212a4e42139b2b269c26b5247526d626ee2707270f27142719271e
F12:α_[1] n.+1 <= (α_[1] n).*2

2640
1b50
1b3c
1b52
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d
acH:(a <= 1) || (c <= 1)

573
(* subcase a = 1 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b
aLc:a <= c

573
272f
a = 1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d
n1:nat

n1.+1 < c -> 0 < n1.+2 -> c <= 1 -> n1.+2 = 1
2735
2737
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0ea81

5 * S_[1] k.+1 + S_[1] k.+2 <= 6 * S_[4] k + 9
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e
leq_S4:forall k : nat, 5 * S_[1] k.+1 + S_[1] k.+2 <= 6 * S_[4] k + 9
573
2744
4 * S_[3] k + 2 * S_[6] k <= 6 * S_[4] k
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0ea81
F3:4 * S_[3] k + 2 * S_[6] k <= 6 * S_[4] k
2745
2747
2744
2 * (2 * S_[3] k + S_[6] k) <= 2 * (3 * S_[4] k)
274e
2744
2 * S_[3] k + S_[6] k + S_[5] k <= 3 * S_[4] k + S_[5] k
274e
2744
S_[6] k + S_[3] k + (S_[5] k + S_[3] k) <= 3 * S_[4] k + S_[5] k
274e
2744
S_[6] k + S_[3] k + (S_[5] k + S_[3] k) <= S_[5] k + S_[4] k + (S_[4] k + S_[4] k)
274e
2750
2745
2746
2744
5 * S_[1] (1 + k) + S_[1] (2 + k) <= 9 + (4 * S_[3] k + 2 * S_[6] k)
2746
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0ea81
F3k:S_[1] k.+1 <= S_[3] k + 1

2768
2746
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0ea81276d
F3k1:S_[2] k.+1 <= S_[6] k + 2

2768
2746
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18d318db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0ea81276d2772
F4:S_[1] k.+1 + S_[1] k.+2 <= (S_[2] k.+1).*2.+1

2768
2746
2748
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e2749
cE1:c = 1

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f
573
(* This is 4.2.2 a = 1, b = 1 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d

573
2780
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b57

573
2780
278a
a1 = l
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b57
a1El:a1 = l
573
2781
2791
573
2780
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b5727925d1

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792
b_lt2:b < 2
573
2781
(* subcase b >= 2*)
2799
1fe8
2799
(S_[l.+1] n.+2).*2 <= \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
279b2781
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b5727925d11ff0

1fe8
27a1
27a7
1ff4
27a1
2799
27a3
279a
2799
(S_[l.+1] n.+2).*2 <= \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d1

(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove + (c.*2 + sd (n:=n.+1) u2) + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d1
x2S:=sd (n:=n.+1) u2:nat
x0S:=sd (n:=n.+1) u1:nat

(S_[l.+1] n.+2).*2 <= a.*2 + x0S + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove + (c.*2 + x2S) + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc
u3:=[ffun i => ↓[u (inord (a + i))]]:{ffun forall x : ordinal_finType b.+1, (fun=> configuration 4 n.+1) x}

27bd
279a
27c1
\sum_(a <= H < a1) `d[↓[u (inord H)], ↓[u (inord H.+1)]]_smove = \sum_(i < b) `d[u3 (inord i), u3 (inord i.+1)]_smove
27c1
(S_[l.+1] n.+2).*2 <= a.*2 + x0S + \sum_(i < b) `d[u3 (inord i), u3 (inord i.+1)]_smove + (c.*2 + x2S) + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
279b2781
27c1
\sum_(i < b) `d[↓[u (inord (i + a))], ↓[u (inord (i + a).+1)]]_smove = \sum_(i < b) `d[u3 (inord i), u3 (inord i.+1)]_smove
27c7
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c2821

`d[↓[u (inord (i + a))], ↓[u (inord (i + a).+1)]]_smove = `d[u3 (inord i), u3 (inord i.+1)]_smove
27c7
27c1
27c9
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f

27c9
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f9c1

9c2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f
cH3:forall k : 'I_b.+1, 0 < k < b -> codom (u3 k) \subset [:: p2; a[pa, paS] k]
27c9
279b2781
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f9c18521eeb

9d0
27de
27e5
1ef0
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f9c18521eeb1ef4
9d0
27df279b2781
27e5
1ef8
27e9
27eb
9d0
27de
27eb
1eff
27de
27eb
1f03
27eb1f06
27df279b2781
27eb
1f0a
27f8
27eb
1f06
27de
27eb
1f11
27de
27e0
27c9
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5

27c9
279a
2809
(S_[b] n.+1).*2 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[u (inord (a + i).+1)]]_smove + sp (n:=n.+1) ↓[u (inord a)] b pa + sp (n:=n.+1) ↓[u (inord a1)] b pa1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5
P3:(S_[b] n.+1).*2 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[ u (inord (a + i).+1)]]_smove + sp (n:=n.+1) ↓[u (inord a)] b pa + sp (n:=n.+1) ↓[u (inord a1)] b pa1
27c9
279b2781
2809
1f20
2809
sd (n:=n.+1) u3 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[ u (inord (a + i).+1)]]_smove
2809
sp (n:=n.+1) (u3 ord0) b ( a[p1, p3] a) <= sp (n:=n.+1) ↓[u (inord a)] b ( a[p1, p3] a)
2809
sp (n:=n.+1) (u3 ord_max) b ( a[ a[p1, p3] a, a[p1, p3] a.+1] b) <= sp (n:=n.+1) ↓[u (inord a1)] b pa1
280f279b2781
2813
2809
sd (n:=n.+1) u3 <= \sum_(i < b) `d[↓[u (inord (a + i))], ↓[u (inord (a + i).+1)]]_smove
2818281a280f279b2781
281e
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5821

1f33
28261f36
2818281a280f279b2781
2826
1f36
2821
2809
2819
281a280f279b2781
282d
2809
281b
280e
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc51054

(u (inord a1) (trshift 1 i) != a[ a[p1, p3] a, a[p1, p3] a.+1] b) * β_[n.+1, b] i <= (u (inord a1) (trshift 1 i) != pa1) * β_[n.+1, b] i
280e
2810
27c9
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5
x1S:=\sum_(H < b) `d[↓[u (inord (a + H))], ↓[ u (inord (a + H).+1)]]_smove:nat
y2S:=sp (n:=n.+1) ↓[u (inord a)] b pa:nat
P3:(S_[b] n.+1).*2 <= x1S + y2S + sp (n:=n.+1) ↓[u (inord a1)] b pa1

27c9
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc528402841
y3S:=sp (n:=n.+1) ↓[u (inord a1)] b pa1:nat
P3:(S_[b] n.+1).*2 <= x1S + y2S + y3S

27c9
279a
2846
\sum_(H < b) `d[u3 (inord H), u3 (inord H.+1)]_smove = x1S
2846
(S_[l.+1] n.+2).*2 <= a.*2 + x0S + x1S + (c.*2 + x2S) + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2
279b2781
2846
284f
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc52840284128472848
y0S:=\sum_(H < n.+1) (↓[u ord0] H != p1) * (α_[1] H).*2:nat
y5S:=\sum_(H < n.+1) (↓[u ord_max] H != a[p3, p1] l) * (α_[1] H).*2:nat

(S_[l.+1] n.+2).*2 <= a.*2 + x0S + x1S + (c.*2 + x2S) + y0S + y5S
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858
k:'I_(3 * a).+1

0 < k < 3 * a -> codom (u1 k) \subset [:: p3; a[p1, p2] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858
cH1:forall k : 'I_(3 * a).+1, 0 < k < 3 * a -> codom (u1 k) \subset [:: p3; a[p1, p2] k]
2859
279b2781
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858285e852
k_ltb:k < 3 * a

codom (u1 k) \subset [:: p3; a[p1, p2] k]
2860
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858285e852
k_ltb:k < 3

2869
2860
286d
codom (if k == 0 then ↓[u ord0] else if k == 1 then if k == (3 * a.-1).+1 then sam1 else si 0 else if k == (3 * a.-1).+2 then tam1 else ti 0) \subset [:: p3; a[p1, p2] k]
2860
286d
codom (if k == 0 then ↓[u ord0] else if k == 1 then if k == (3 * 0).+1 then sam1 else si 0 else if k == (3 * 0).+2 then tam1 else ti 0) \subset [:: p3; a[p1, p2] k]
2860
285d
codom sam1 \subset [:: p3; a[p1, p2] 1]
285d
codom tam1 \subset [:: p3; a[p1, p2] 2]
2861279b2781
285d
codom sam1 \subset [:: p3; p2]
287b
285d
287d
2860
2862
2859
279a
2862
(S_[3 * a] n.+1).*2 <= x0S + sp (n:=n.+1) ↓[u ord0] 3 p1 + sp (n:=n.+1) ↓[u (inord a)] 3 p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc52840284128472848285728582863
P1:(S_[3 * a] n.+1).*2 <= x0S + sp (n:=n.+1) ↓[u ord0] 3 p1 + sp (n:=n.+1) ↓[u (inord a)] 3 p2
2859
279b2781
2862
sp (n:=n.+1) (u1 ord0) (3 * a) p1 <= sp (n:=n.+1) ↓[u ord0] 3 p1
2862
sp (n:=n.+1) (u1 ord_max) (3 * a) ( a[p1, p2] (3 * a)) <= sp (n:=n.+1) ↓[u (inord a)] 3 p2
288d279b2781
2862
2896
288c
288e
2859
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc52840284128472848285728582863
P1:(S_[3 * a] n.+1).*2 <= x0S + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+1) ↓[u (inord a)] 3 p2

2859
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc52840284128472848285728582863
y1S:=sp (n:=n.+1) ↓[u (inord a)] 3 p2:nat
P1:(S_[3 * a] n.+1).*2 <= x0S + y0S + y1S

2859
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a6
P1:(S_[3] n.+1).*2 <= x0S + y0S + y1S

2859
279a
28ab
y1S + y2S <= (S_[1] n).*2 + α_[maxn 3 b] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac
y1Sy2SE:y1S + y2S <= (S_[1] n).*2 + α_[maxn 3 b] n
2859
279b2781
28ab
1f5c
28b1
28ab
1f60
28b1
28ab
codom (u (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)] -> codom (u (inord a)) \subset [:: p2; pa]
28b1
28b3
2859
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b4
k:'I_(3 * c).+1

0 < k < 3 * c -> codom (u2 k) \subset [:: a[p1, p3] a1; a[p2, a[p1, p3] a1.+1] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b4
cH2:forall k : 'I_(3 * c).+1, 0 < k < 3 * c -> codom (u2 k) \subset [:: a[p1, p3] a1; a[p2, a[p1, p3] a1.+1] k]
2859
279b2781
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428c6852
k_ltb:k < 3 * c

codom (u2 k) \subset [:: a[p1, p3] a1; a[p2, a[p1, p3] a1.+1] k]
28c8
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428c6852286e

28d1
28c8
28d5
codom (if k == 0 then ↓[u (inord a1)] else if k == 1 then if k == 1 then sa1 else si a1 else if k == 2 then ta1 else ti a1) \subset [:: a[p1, p3] a1; a[p2, a[p1, p3] a1.+1] k]
28c8
28c5
codom sa1 \subset [:: a[p1, p3] a1; a[p2, a[p1, p3] a1.+1] 1]
28c5
codom ta1 \subset [:: a[p1, p3] a1; a[p2, a[p1, p3] a1.+1] 2]
28c9279b2781
28c5
28e0
28c8
28ca
2859
279a
28ca
(S_[3 * c] n.+1).*2 <= x2S + sp (n:=n.+1) ↓[u (inord a1)] 3 p2 + sp (n:=n.+1) ↓[u ord_max] 3 ( a[p3, p1] l)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb
P2:(S_[3 * c] n.+1).*2 <= x2S + sp (n:=n.+1) ↓[u (inord a1)] 3 p2 + sp (n:=n.+1) ↓[u ord_max] 3 ( a[p3, p1] l)
2859
279b2781
28ca
1a1f
28ca
sp (n:=n.+1) (u2 ord0) (3 * c) p2 <= sp (n:=n.+1) ↓[u (inord a1)] 3 p2
28ca
sp (n:=n.+1) (u2 ord_max) (3 * c) ( a[p2, a[p1, p3] a1.+1] (3 * c)) <= sp (n:=n.+1) ↓[u ord_max] 3 ( a[p3, p1] l)
28ec279b2781
28f0
28ca
28f4
28f528ec279b2781
28f9
28ca
sp (n:=n.+1) (u2 ord_max) (3 * c) ( a[p2, a[p1, p3] a1.+1] (3 * c)) <= sp (n:=n.+1) ↓[u ord_max] 3 ( a[p3, p1] l)
28eb
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb1054

(↓[u (inord (a1 + 1))] i != a[p2, a[p1, p3] a1.+1] 3) * β_[n.+1, 3] i <= (↓[u ord_max] i != a[p3, p1] l) * β_[n.+1, 3] i
28eb
2904
a16
28eb
28ed
2859
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb
P2:(S_[3 * c] n.+1).*2 <= x2S + sp (n:=n.+1) ↓[u (inord a1)] 3 p2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2

2859
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb
y4S:=sp (n:=n.+1) ↓[u (inord a1)] 3 p2:nat
P2:(S_[3 * c] n.+1).*2 <= x2S + y4S + y5S

2859
279a
2914
y3S + y4S <= (S_[1] n).*2 + α_[maxn b 3] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916
y3Sy4SE:y3S + y4S <= (S_[1] n).*2 + α_[maxn b 3] n
2859
279b2781
2914
1fba
291b
2914
1fbe
291b
2914
codom (u (inord l)) \subset [:: p2; a[p1, p3] (inord l)] -> codom (u (inord a1)) \subset [:: p2; a[p1, p3] a1]
291b
291d
2859
279a
291d
l = b.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e
Eb1:l = b.+1
2859
279b2781
2932
2859
279a
2932
(S_[b.+2] n.+2).*2 <= a.*2 + x0S + x1S + (c.*2 + x2S) + y0S + y5S
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933
F1b:S_[b] n.+1 = S_[b] n + α_[b] n

293a
279a
293e
(S_[3] n.+1).+1 = S_[1] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f
F1n31:(S_[3] n.+1).+1 = S_[1] n.+2
293a
279b2781
2946
293a
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f2947
F1n1:S_[1] n.+1 = S_[1] n + α_[1] n

293a
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f2947294f
F1n2:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

293a
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f2947294f2954f17

293a
279a
2958
S_[b.+2] n.+2 <= S_[b.+1] n.+1 + (α_[1] n.+1).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f2947294f2954f17
F2n1:S_[b.+2] n.+2 <= S_[b.+1] n.+1 + (α_[1] n.+1).*2
293a
279b2781
295f
293a
279a
295f
S_[b.+1] n.+1 <= S_[b] n + (α_[1] n).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f2947294f2954f172960
F2n:S_[b.+1] n.+1 <= S_[b] n + (α_[1] n).*2
293a
279b2781
296a
293a
279a
296a
2703
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f2947294f2954f172960296b
F3n:S_[4] n.+2 <= S_[3] n.+1 + (α_[1] n.+1).*2
293a
279b2781
2974
293a
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f2947294f2954f172960296b2975
F4n:α_[3] n = α_[1] n.+1

293a
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628ac28b428cb29152916291e2933293f2947294f2954f172960296b2975297d
F5:S_[1] n.+1 + S_[1] n.+2 <= (S_[2] n.+1).*2.+1

293a
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628b428cb2915291e2933293f2947294f2954f172960296b2975297d298228ac
P2:(S_[3] n.+1).*2 <= x2S + y4S + y5S

293a
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b5727925d127bb27bc27c298f27e11cc5284028412847284828572858286328a628b428cb29152933293f2947294f2954f172960296b2975297d298228ac2987
y3Sy4SE:y3S + y4S <= (S_[1] n).*2 + α_[maxn 3 b] n

293a
279a
298b
S_[b.+2] n.+2 + (S_[1] n).*2 + α_[maxn 3 b] n <= ((S_[3] n.+1).+1).*2 + S_[b] n.+1
279a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b57279227bb27bc27c298f27e11cc5284028412847284828572858286328a628b428cb29152933293f2947294f2954f172960296b2975297d298228ac2987298c10c0

2990
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b57279227bb27bc27c298f27e11cc5284028412847284828572858286328a628b428cb29152933293f2947294f2954f172960296b2975297d298228ac2987298c
S_[4] n.+2 + (S_[1] n).*2 + α_[maxn 3 2] n <= ((S_[3] n.+1).+1).*2 + S_[2] n.+1
279b2781
(* Subcase b >= 3 *)
2994
S_[b.+2] n.+2 + (S_[1] n).*2 + α_[b] n <= ((S_[3] n.+1).+1).*2 + S_[b] n.+1
2995
2997
2998
279a
(* Subcase b = 2*)
2997
S_[4] n.+2 + (S_[1] n).*2 + α_[3] n <= ((S_[3] n.+1).+1).*2 + S_[2] n.+1
279a
2997
2 * S_[1] n + 2 * α_[1] n.+1 <= S_[1] n.+1 + S_[2] n.+1 + 1
279a
2997
n < 4 -> 2 * S_[1] n + 2 * α_[1] n.+1 <= S_[1] n.+1 + S_[2] n.+1 + 1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b57279227bb27bc27c298f27e11cc5284028412847284828572858286328a628b428cb29152933293f2947294f2954f172960296b2975297d298228ac2987298c
n_gt3:3 < n
29a7
279b2781
29ae
29a7
279a
279c
573
2780
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b23

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792
b_lt1:b.+1 < 2
573
2781
(* subcase b = 1 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b23
u1l:=[ffun i => if (i : 'I_5) == 0 :> nat then ↓[u ord0] else if i == 1 :> nat then sam1 else if i == 2 :> nat then tam1 else if i == 3 :> nat then ↓[u (inord 1)] else ↓[u (inord 2)]]:{ffun forall x : ordinal_finType 5, (fun=> configuration 4 n.+1) x}

573
29ba
29c1
a1 = 2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c2
a1E2:a1 = 2
573
29bb2781
29c9
573
29ba
29c9
a.*2 + sd (n:=n.+1) u1l <= \sum_(i < a1) `d[u (inord i), u (inord i.+1)]_smove
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca
P1l1:a.*2 + sd (n:=n.+1) u1l <= \sum_(i < a1) `d[u (inord i), u (inord i.+1)]_smove
573
29bb2781
29c9
1.*2 + (`d[u1l (inord 0), u1l (inord 1)]_smove + `d[u1l (inord 1), u1l (inord 2)]_smove + `d[u1l (inord 2), u1l (inord 3)]_smove + `d[u1l (inord 3), u1l (inord 4)]_smove) <= `d[u (inord 0), u (inord 1)]_smove + `d[u (inord 1), u (inord 2)]_smove
29d2
29c9
`d[↓[u (inord 1)], ↓[u (inord 2)]]_smove <= `d[u (inord 1), u (inord 2)]_smove
29c9
(`d[↓[u ord0], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord 1)]]_smove).+1 < `d[u (inord 0), u (inord 1)]_smove
29d329bb2781
29c9
29e0
29d2
29c9
(`d[↓[u ord0], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord 1)]]_smove).+1 < `d[u ord0, u (inord 1)]_smove
29d2
29c9
ord0 = inord a.-1
29c9
(`d[↓[u (inord a.-1)], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[ u (inord 1)]]_smove).+1 < `d[u (inord a.-1), u (inord 1)]_smove
29d329bb2781
29c9
(`d[↓[u (inord a.-1)], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord 1)]]_smove).+1 < `d[u (inord a.-1), u (inord 1)]_smove
29d2
29d4
573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d51192

0 < k < 4 -> codom (u1l k) \subset [:: p3; a[p1, p2] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d5
cH1:forall k : 'I_5, 0 < k < 4 -> codom (u1l k) \subset [:: p3; a[p1, p2] k]
573
29bb2781
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d5119c

codom (if Ordinal (n:=5) (m:=1) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=1) iH == 1 then sam1 else if Ordinal (n:=5) (m:=1) iH == 2 then tam1 else if Ordinal (n:=5) (m:=1) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p2]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d511a1
codom (if Ordinal (n:=5) (m:=2) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=2) iH == 1 then sam1 else if Ordinal (n:=5) (m:=2) iH == 2 then tam1 else if Ordinal (n:=5) (m:=2) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p1]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d511a5
codom (if Ordinal (n:=5) (m:=3) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=3) iH == 1 then sam1 else if Ordinal (n:=5) (m:=3) iH == 2 then tam1 else if Ordinal (n:=5) (m:=3) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p2]
29fc29bb2781
2a00
2a06
codom (if Ordinal (n:=5) (m:=2) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=2) iH == 1 then sam1 else if Ordinal (n:=5) (m:=2) iH == 2 then tam1 else if Ordinal (n:=5) (m:=2) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p1]
2a0829fc29bb2781
2a0d
2a09
codom (if Ordinal (n:=5) (m:=3) iH == 0 then ↓[u ord0] else if Ordinal (n:=5) (m:=3) iH == 1 then sam1 else if Ordinal (n:=5) (m:=3) iH == 2 then tam1 else if Ordinal (n:=5) (m:=3) iH == 3 then ↓[u (inord 1)] else ↓[u (inord 2)]) \subset [:: p3; p2]
29fb
2a09
codom (u (inord 1)) \subset [:: p2; p3]
29fb
2a09
codom (u (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)] -> codom (u (inord 1)) \subset [:: p2; p3]
29fb
29fd
573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d529fe
lE2:l = 2

573
29ba
2a24
(S_[4] n.+1).*2 <= sd (n:=n.+1) u1l + sp (n:=n.+1) ↓[u ord0] 4 p1 + sp (n:=n.+1) ↓[u (inord a1)] 4 p1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a25
P4:(S_[4] n.+1).*2 <= sd (n:=n.+1) u1l + sp (n:=n.+1) ↓[u ord0] 4 p1 + sp (n:=n.+1) ↓[u (inord a1)] 4 p1
573
29bb2781
2a24
1008
2a24
sd (n:=n.+1) u1l + sp (n:=n.+1) (u1l ord0) 4 p1 + sp (n:=n.+1) (u1l ord_max) 4 ( a[p1, p2] 4) <= sd (n:=n.+1) u1l + sp (n:=n.+1) ↓[u ord0] 4 p1 + sp (n:=n.+1) ↓[u (inord a1)] 4 p1
2a2b29bb2781
2a24
2a33
2a2a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d529fe2a251054

(u (inord 2) (trshift 1 i) != a[p1, p2] 4) * β_[n.+1, 4] i <= (u (inord a1) (trshift 1 i) != p1) * β_[n.+1, 4] i
2a2a
2a2c
573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a25
P4:(S_[4] n.+1).*2 <= sd (n:=n.+1) u1l + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+1) ↓[u (inord a1)] 4 p1

573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a25
x1S:=sd (n:=n.+1) u1l:nat
P4:(S_[4] n.+1).*2 <= x1S + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+1) ↓[u (inord a1)] 4 p1

573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a48
y1S:=\sum_(H < n.+1) (↓[u ord0] H != p1) * (α_[1] H).*2:nat
y2S:=sp (n:=n.+1) ↓[u (inord a1)] 4 p1:nat
P4:(S_[4] n.+1).*2 <= x1S + y1S + y2S

573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028c6

28c7
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028cb
573
29bb2781
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028c685228d0

28d1
2a55
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028c6852286e

28d1
2a55
2a5f
28d9
2a55
2a54
28dd
2a5428e0
2a5629bb2781
2a54
28e0
2a55
2a57
573
29ba
2a57
(S_[3 * c] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) ↓[u (inord a1)] 3 p2 + sp (n:=n.+1) ↓[u ord_max] 3 ( a[p3, p1] l)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028cb
P5:(S_[3 * c] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) ↓[u (inord a1)] 3 p2 + sp (n:=n.+1) ↓[u ord_max] 3 ( a[p3, p1] l)
573
29bb2781
2a57
1a1f
2a5728f4
2a5728f6
2a7329bb2781
2a77
2a57
28f4
2a7b2a7329bb2781
2a7e
2a57
2900
2a72
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028cb1054

2905
2a72
2a88
a16
2a72
2a74
573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028cb
P5:(S_[3 * c] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) ↓[u (inord a1)] 3 p2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2

573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028cb
P5:(S_[3] n.+1).*2 <= sd (n:=n.+1) u2 + sp (n:=n.+1) ↓[u (inord a1)] 3 p2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2

573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028cb27bb
P5:(S_[3] n.+1).*2 <= x2S + sp (n:=n.+1) ↓[u (inord a1)] 3 p2 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2

573
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b572792b2329c229ca29d52a252a482a4e2a4f2a5028cb27bb
y3S:=sp (n:=n.+1) ↓[u (inord a1)] 3 p2:nat
y4S:=\sum_(H < n.+1) (↓[u ord_max] H != a[p3, p1] l) * (α_[1] H).*2:nat
P5:(S_[3] n.+1).*2 <= x2S + y3S + y4S

573
29ba
2aa1
(S_[l.+1] n.+2).*2 <= \sum_(0 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
29ba
2aa1
(S_[l.+1] n.+2).*2 <= \sum_(0 <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)
29ba
2aa1
(S_[l.+1] n.+2).*2 <= \sum_(i < a1) `d[u (inord i), u (inord i.+1)]_smove + (\sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + (sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)))
29ba
2aa1
(S_[l.+1] n.+2).*2 <= a.*2 + x1S + (\sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + (sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p3, p1] l)))
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa4

(S_[3] n.+2).*2 <= a.*2 + x1S + (c.*2 + x2S + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + (u ord0 ord_max != p1) * α_[l.+1] n.+1 + (\sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2 + (u ord_max ord_max != a[p3, p1] l) * α_[l.+1] n.+1)))
29ba
2ab8
(S_[3] n.+2).*2 <= 1.*2 + x1S + (c.*2 + x2S + (y1S + y4S))
29ba
2ab8
y2S + y3S <= (S_[1] n).*2 + α_[4] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa4
y2Sy3SE:y2S + y3S <= (S_[1] n).*2 + α_[4] n
2abd
29bb2781
2ab8
codom ↓[u (inord a1)] \subset [:: p1; p2]
2ac2
2ab8
codom (u (inord a1)) \subset [:: p2; p1]
2ac2
2ab8
codom (u (inord a1)) \subset [:: p2; a[p1, p3] (inord a1)] -> codom (u (inord a1)) \subset [:: p2; p1]
2ac2
2ac4
2abd
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac5
P1:2 + sd (n:=n.+1) u1 = \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove

2abd
29ba
2ad8
(S_[3] n.+2).*2 <= 2 + x1S + (2 + x2S + (y1S + y4S))
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad9
F1n4:S_[4] n.+1 = S_[4] n + α_[4] n

2add
29ba
2ae1
(S_[3] n.+2).+1 = S_[1] n.+3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae2
F1n3:(S_[3] n.+2).+1 = S_[1] n.+3
2add
29bb2781
2ae9
2add
29ba
2ae9
2943
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea
F1n13:(S_[3] n.+1).+1 = S_[1] n.+2
2add
29bb2781
2af3
2add
29ba
2af3
(S_[1] n.+3).*2 + (S_[1] n).*2 <= 4 + S_[4] n + S_[4] n.+1 + (S_[1] n.+2).*2 -> (S_[3] n.+2).*2 <= 2 + x1S + (2 + x2S + (y1S + y4S))
2af3
(S_[1] n.+3).*2 + (S_[1] n).*2 <= 4 + S_[4] n + S_[4] n.+1 + (S_[1] n.+2).*2
29bb2781
2af3
2afe
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c

(S_[1] n1.+3.+4).*2 + (S_[1] n1.+4).*2 <= 4 + S_[4] n1.+4 + S_[4] n1.+1.+4 + (S_[1] n1.+2.+4).*2
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c
m1:=n1.+3:nat

(S_[1] m1.+4).*2 + (S_[1] m1.+1).*2 <= 4 + S_[4] m1.+1 + S_[4] m1.+2 + (S_[1] m1.+3).*2
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c2b0b
F:5 * S_[1] m1.+2 + S_[1] m1.+3 <= 6 * S_[4] m1.+1 + 9

2b0c
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c2b0b2b11
F1:5 * S_[1] m1.+3 + S_[1] m1.+4 <= 6 * S_[4] m1.+2 + 9

2b0c
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c2b0b2b112b16
F3n3:S_[1] m1.+4 = S_[1] m1.+3 + α_[1] m1.+3

2b0c
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c2b0b2b112b162b1b
F3n2:S_[1] m1.+3 = S_[1] m1.+2 + α_[1] m1.+2

2b0c
29ba
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c2b0b2b112b162b1b2b20
F3n1:S_[1] m1.+2 = S_[1] m1.+1 + α_[1] m1.+1

2b0c
29ba
2b24
12 * α_[1] m1.+3 <= 16 * α_[1] m1.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c2b0b2b112b162b1b2b202b25
F4m1:12 * α_[1] m1.+3 <= 16 * α_[1] m1.+2
2b0c
29bb2781
2b24
4 * (3 * α_[1] m1.+3) <= (4 * 3).+4 * α_[1] m1.+2
2b2a
2b24
3 * α_[1] m1.+3 <= 4 * α_[1] m1.+2
2b2a
2b2c
2b0c
29ba
2b2c
9 * α_[1] m1.+2 <= 12 * α_[1] m1.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f1b2d1b572792b2329c229ca2a252a482a4e2a4f2a5028cb27bb2aa22aa32aa42ac52ad92ae22aea2af4273c2b0b2b112b162b1b2b202b252b2d
F4m2:9 * α_[1] m1.+2 <= 12 * α_[1] m1.+1
2b0c
29bb2781
2b2c
9 * α_[1] m1.+2 <= 3 * (4 * α_[1] m1.+1)
2b3d
2b2c
3 * α_[1] m1.+2 <= 4 * α_[1] m1.+1
2b3d
2b3f
2b0c
29ba
29bc
573
2780
(* subcase b = 1 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b57279229bd123f

573
2780
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b57279229bd123f
lE1:l = 1

573
2780
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b57279229bd123f2b57
a1E1:a1 = 1

573
2780
2b5b
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + sp (n:=n.+2) (u ord0) l.+1 p1 + sp (n:=n.+2) (u ord_max) l.+1 ( a[p2, p1] l)
2780
2b5b
p1 != a[p1, p3] ?a
2b5b
forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: a[p1, p3] ?a; a[p1, p2] k]
2b5b
u ord_max ord_max = a[p2, p1] l
2b5b
forall k : ordinal_finType l.+2, u k ldisk = a[p1, p2] k
2781
2b62
2b5b
forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u k) \subset [:: a[p1, p3] 1; a[p1, p2] k]
2b682b6a2781
2b6e
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b57279229bd123f2b572b5c17b2
hK:0 < k < 2

codom (u k) \subset [:: a[p1, p3] 1; a[p1, p2] k]
2b71
2b76
k = inord 1
2b76
codom (u (inord 1)) \subset [:: a[p1, p3] 1; a[p1, p2] (inord 1)]
2b682b6a2781
2b76
k == 1
2b7d
2b76
2b7f
2b71
2b76
2a19
2b71
2b76
(0 < inord 1 < l.+1 -> codom (u (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)]) -> codom (u (inord 1)) \subset [:: p2; p3]
2b71
2b76
(0 < 1 < l.+1 -> codom (u (inord 1)) \subset [:: p2; p3]) -> codom (u (inord 1)) \subset [:: p2; p3]
2b71
2b5b
2b69
2b6a2781
2b93
2b5b
2b6b
2780
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e2749277f19421a5d1b2d1b57279229bd123f2b572b5c
k:ordinal_finType l.+2

u k ldisk = a[p1, p2] k
2780
2b9d
k = ord0 \/ k = inord 1 \/ k = inord 2
2b9d
u (inord 1) ldisk = a[p1, p2] (inord 1)
2b9d
u (inord 2) ldisk = a[p1, p2] (inord 2)
2781
2ba1
2b5b
forall k : ordinal_finType 3, k = ord0 \/ k = inord 1 \/ k = inord 2
2ba4
2b5b
forall (n : nat) (i : n.+1 < 3), Ordinal (n:=3) (m:=n.+1) i = ord0 \/ Ordinal (n:=3) (m:=n.+1) i = inord 1 \/ Ordinal (n:=3) (m:=n.+1) i = inord 2
2ba4
2b5b
forall i : 1 < 3, Ordinal (n:=3) (m:=1) i = ord0 \/ Ordinal (n:=3) (m:=1) i = inord 1 \/ Ordinal (n:=3) (m:=1) i = inord 2
2b5b
forall (n : nat) (i : n.+2 < 3), Ordinal (n:=3) (m:=n.+2) i = ord0 \/ Ordinal (n:=3) (m:=n.+2) i = inord 1 \/ Ordinal (n:=3) (m:=n.+2) i = inord 2
2ba52ba72781
2b5b
2bb8
2ba4
2b5b
forall i : 2 < 3, Ordinal (n:=3) (m:=2) i = ord0 \/ Ordinal (n:=3) (m:=2) i = inord 1 \/ Ordinal (n:=3) (m:=2) i = inord 2
2ba4
2b9d
2ba6
2ba72781
2b9d
2ba8
2780
2b9d
11e5
2b9d
u ord_max ldisk = a[p1, p2] (inord 2)
2781
2b9d
2bcc
2780
2782
573
(* This is 4.2.3 a = 1, c >= 2 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc0

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc5

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf

1cd0
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca
cH8:forall k : 'I_(3 * c).-2.+1, 0 < k < (3 * c).-2 -> codom (u2r k) \subset [:: p2; a[pa1, pa1S] k]
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd9

1cda
2be3
2bea
1cde
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce2
1cda
2be4
2bf0
1cda
2be3
2bf0
1ce9
2be3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cee

1cef
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf3
1cf4
2be4
2bfa
1cf8
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cee1cfc
1cef
2bfc2be4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf1cd91ce21be2

1be3
2c01
2c03
1cef
2bfb
2c03
1d07
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cee1cfc1d0b
1cef
2bfc2be4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91cee1cfc

1d10
2c0e
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91cee1cfc1d15

1d07
2c0e
2c18
1d19
2c0e
2c10
1cef
2bfb
2c10
1d73
2c10
codom ↓[u (inord (a1 + k.+2 %/ 3))] \subset [:: p2; a[p1, p3] (a1 + k.+2)]
2bfc2be4
2c10
2c24
2bfb
2c10
1d27
2c101d23
2bfc2be4
2c10
a[p3, p1] (~~ (odd a1 (+) odd (k.+2 %/ 3 + k.+2 %% 3))) = a[p1, p3] (a1 + k.+2 %/ 3)
2c2b
2c10
1d23
2bfb
2c10
1d32
2c101d35
2bfc2be4
2c10
1d39
2c37
2c10
1d35
2bfb
2bfd
1cf4
2be3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d44

1d45
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d49
1d4a
2be4
2c45
1d4e
2c46
2c45
1d52
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d441d56
1d4e
2c472be4
2c51
1d4e
2c46
2c51
1d07
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d441d561d60
1d4e
2c472be4
2c51
1d64
2c58
2c51
1d68
2c58
2c51
1d6c
2c58
2c5a
1d4e
2c46
2c5a
1d73
2c5a1d76
2c472be4
2c5a
1d76
2c46
2c5a
a[p1, p3] (a1 + k.+2) = a[p1, p3] (a1 + k.+2 %/ 3).+1
2c5a
codom (si (a1 + k.+2 %/ 3)) \subset [:: p2; a[p1, p3] (a1 + k.+2 %/ 3).+1]
2c472be4
2c5a
a[p3, p1] (~~ (odd a1 (+) (odd (k.+2 %/ 3) (+) odd (k.+2 %% 3)))) = a[p3, p1] (a1 + k.+2 %/ 3)
2c73
2c5a
2c75
2c46
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d441d561d601d8f

2c75
2c46
2c48
1d4a
2be3
2c48
1d99
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d491d9d
1d4a
2be4
2c89
1d4a
2be3
2c89
1da4
2be3
2c89
1d52
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d491d9d1d56
1da4
2be4
2c95
1da4
2be3
2c95
1d07
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d491d9d1d561d60
1da4
2be4
2c95
1db7
2c951dba
2c9d2be4
2c95
1dbe
2ca2
2c95
1dc2
2ca2
2c95
1dba
2c9c
2c95
1d68
2c9c
2c95
1d6c
2c9c
2c9e
1da4
2be3
2c9e
1d73
2c9e1dd4
2be4
2c9e
1dd4
2be3
2c9e
1d27
2c9e1ddd
2be4
2c9e
1de1
2cc1
2c9e
1ddd
2be3
2c9e
1de8
2be3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca1ccf8521cd91ce21cf31d491d9d1d561d601ded

1de8
2be3
2be5
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca2be618d3

573
2cd6
1df4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca2be618d3
P8:(S_[(3 * c).-2] n.+1).*2 <= \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove + sp (n:=n.+1) ta1 (3 * c).-2 pa1 + sp (n:=n.+1) ↓[u ord_max] (3 * c).-2 ( a[p3, p1] l)
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d3

1dfc
2ce11dff
2ce11e01
2cdb
2cdf
2ce1
1dff
2ce42cdb
2ce7
2ce1
1e0b
2cda
2ce1
1e0f
2ce11e12
2ce11e14
2cdb
2cef
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d31e1a

1e1b
2cf1
2ce1
1e12
2cf32cdb
2cfa
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d31054

1e25
2cfc
2d01
1e29
2cfc
2ce1
1e2d
2cda
2d01
1e31
2d011e34
2cdb
2d01
1e38
2d011e3b
2d0c2cdb
2d01
1e3b
2d0b
2d01
1a4f
2d011e44
2d0c2cdb
2d01
1e44
2d0b
2d01
1e34
2cda
2d01
1e4e
2d011a4f
2cdb
2d01
1e54
2d011e57
2d242cdb
2d01
1e57
2d23
2d172cda
2cdc
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d32cdd

573
2d35
0 < l
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d32cdd1b57
573
2d3c
573
2d3c
2315
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d32cdd1b57
c3m2_gt1:1 < (3 * c).-2
573
2d45
573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d46
P8:(S_[(3 * c).-2] n.+1).*2 <= \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove + sp (n:=n.+1) ta1 (3 * c).-2 pa1 + \sum_(k < n.+1) (↓[u ord_max] k != a[p3, p1] l) * (α_[1] k).*2

573
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a194219f81a0c1a111a1b1a271a2f1a3c1a411a491a5d1b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d46
y7S:=sp (n:=n.+1) ta1 (3 * c).-2 pa1:nat
y8S:=\sum_(H < n.+1) (↓[u ord_max] H != a[p3, p1] l) * (α_[1] H).*2:nat
P8:(S_[(3 * c).-2] n.+1).*2 <= \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove + y7S + y8S

573
2d52
(S_[l.+1] n.+2).*2 <= sd (n:=n.+2) u + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S
2d52
1fe8
2d52
(S_[l.+1] n.+2).*2 <= \sum_(i < a) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S
2d52
\sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove = \sum_(0 <= i < a) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(a1 <= i < l.+1) `d[u (inord i), u (inord i.+1)]_smove
2d5d
2d52
2d5f
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b2d1b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d55

(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + sd (n:=n.+1) u2) + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d551b2d

2d6b
2d6f
(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[u (inord i), u (inord i.+1)]_smove + (c.*2 + sd (n:=n.+1) u2 + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d55

(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove + (c.*2 + sd (n:=n.+1) u2 + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2d77
`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove = \sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d55
du2E:`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove = \sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove
(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[ u (inord i.+1)]]_smove + (c.*2 + sd (n:=n.+1) u2 + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2d77
1e29
2d772087
2d7e
2d77
2087
2d7d
2d7f
2d78
2d7f
2064
2d7f
(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[ u (inord i.+1)]]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2d7f
\sum_(i < 3 * c) `d[u2 (inord i), u2 (inord i.+1)]_smove = \sum_(i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
2d90
2d7f
\sum_(0 <= i < 3 * c) `d[u2 (inord i), u2 (inord i.+1)]_smove = \sum_(0 <= i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
2d90
2d7f
\sum_(0 <= i < 3 * c) `d[u2 (inord i), u2 (inord i.+1)]_smove = \sum_(0 <= i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + \sum_(0 <= i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove
2d90
2d7f
\sum_(0 <= i < 3 * c) `d[u2 (inord i), u2 (inord i.+1)]_smove = \sum_(0 <= i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + \sum_(0 <= i < (3 * c).-2) `d[u2 (inord (i + 2)), u2 (inord (i + 2).+1)]_smove
2d90
2d7f
\sum_(0 <= i < 3 * c) `d[u2 (inord i), u2 (inord i.+1)]_smove = \sum_(0 <= i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + \sum_(0 <= i < 3 * c - 2) `d[u2 (inord (i + 2)), u2 (inord (i + 2).+1)]_smove
2d90
2d7f
\sum_(0 <= i < 3 * c) `d[u2 (inord i), u2 (inord i.+1)]_smove = \sum_(0 <= i < 2) `d[u2 (inord i), u2 (inord i.+1)]_smove + \sum_(0 + 2 <= i < 3 * c) `d[u2 (inord i), u2 (inord i.+1)]_smove
2d90
2d7f
1e57
2d90
2d7f
(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + \sum_(i < (3 * c).-2) `d[u2 (inord i.+2), u2 (inord i.+3)]_smove) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d80
x3S:=\sum_(H < (3 * c).-2) `d[u2 (inord H.+2), u2 (inord H.+3)]_smove:nat
P8:(S_[(3 * c).-2] n.+1).*2 <= x3S + y7S + y8S

(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17

2db8
2db5
b <= 0 -> (S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i0 < a1) `d[↓[u (inord i0)], ↓[ u (inord i0.+1)]]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
(* subcase 1 <= b *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17285e

285f
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f172863
(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[ u (inord i.+1)]]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2dbe
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17285e8522868

2869
2dc4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17285e852286e

2869
2dc4
2dcf
2872
2dc4
2dcf
2876
2dc4
2dc3
287a
2dc3287d
2dc52dbe
2dc3
2881
2dd9
2dc3
287d
2dc4
2dc6
2db8
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc

(S_[l.+1] n.+2).*2 <= a.*2 + x0S + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[u (inord i.+1)]]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2dbd
2de7
288b
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc
P4:(S_[3 * a] n.+1).*2 <= x0S + sp (n:=n.+1) ↓[u ord0] 3 p1 + sp (n:=n.+1) ↓[u (inord a)] 3 p2
(S_[l.+1] n.+2).*2 <= a.*2 + x0S + \sum_(a <= i < a1) `d[↓[u (inord i)], ↓[ u (inord i.+1)]]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2dbe
2de7
2893
2de72896
2ded2dbe
2de7
2896
2dec
2dee
2de8
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc
P4:(S_[3 * a] n.+1).*2 <= x0S + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+1) ↓[u (inord a)] 3 p2

2de8
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a6
P4:(S_[3 * a] n.+1).*2 <= x0S + y0S + y1S

2de8
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d1

2de8
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77
2df0
2dbe
(* subcase b >= 2 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a7

2de8
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f

2de8
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f9c1

9c2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f
cH6:forall k : 'I_b.+1, 0 < k < b -> codom (u3 k) \subset [:: p2; a[pa, paS] k]
2df0
2e0b2dbe
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f9c1852
kLb:k < b

9d0
2e19
2e20
9d4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f9c18522e219d8
9d0
2e1a2e0b2dbe
2e20
9dc
2e25
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f9c1852

1a4f
2e25
2e27
9d0
2e19
2e27
9e3
2e19
2e27
9e7
2e19
2e27
9eb
2e27
(0 < k + a < l.+1 -> codom (u (inord (k + a))) \subset [:: p2; a[p1, p3] (k + a)]) -> codom (u (inord (k + a))) \subset [:: p2; a[p1, p3] (k + a)]
2e1a2e0b2dbe
2e27
2e3d
2e19
2e1b
2de8
2e0a
2e1b
(S_[b] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) b pa + sp (n:=n.+1) (u3 ord_max) b ( a[pa, paS] b)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f
P6:(S_[b] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) b pa + sp (n:=n.+1) (u3 ord_max) b ( a[pa, paS] b)
2df0
2e0b2dbe
2e14
9fa
2e48
2e4a
2de8
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e4b
x1S:=\sum_(a <= H < a1) `d[↓[u (inord H)], ↓[ u (inord H.+1)]]_smove:nat

(S_[l.+1] n.+2).*2 <= a.*2 + x0S + x1S + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e56

sd (n:=n.+1) u3 = x1S
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e56
P6:(S_[b] n.+1).*2 <= x1S + sp (n:=n.+1) ↓[u (inord (ord0 + a))] b pa + sp (n:=n.+1) ↓[u (inord (ord_max + a))] b ( a[pa, paS] b)
2e57
2e0b2dbe
2e5b
sd (n:=n.+1) u3 = \sum_(i < b) `d[↓[u (inord (i + a))], ↓[u (inord (i + a).+1)]]_smove
2e5d
2e5f
2e57
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e56
P6:(S_[b] n.+1).*2 <= x1S + sp (n:=n.+1) ↓[u (inord a)] b pa + sp (n:=n.+1) ↓[u (inord a1)] b ( a[pa, paS] b)

2e57
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e562841
y3S:=sp (n:=n.+1) ↓[u (inord a1)] b ( a[pa, paS] b):nat
P6:(S_[b] n.+1).*2 <= x1S + y2S + y3S

2e57
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc

2e57
2e0a
2e76
28b0
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b4
2e57
2e0b2dbe
2e76
1f5c
2e7a
2e76
1f60
2e7a
2e76
codom (u (inord a)) \subset [:: p2; a[p1, p3] (inord a)] -> codom (u (inord a)) \subset [:: p2; pa]
2e7a
2e7c
2e57
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f71

2e57
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f71994

1f76
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f71
cH7:forall k : 'I_3, 0 < k < 2 -> codom (u5 k) \subset [:: p1; a[p2, p3] k]
2e57
2e0b2dbe
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f719948521e8a

1f7f
2e92
2e99
1f83
2e92
2e94
2e57
2e0a
2e94
1f8a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f712e95
P7:(S_[2] n.+1).*2 <= `d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + sp (n:=n.+1) ↓[u (inord a1)] 2 p2 + sp (n:=n.+1) ta1 2 p2
2e57
2e0b2dbe
2e94
1e9e
2e941f92
2ea42e0b2dbe
2e94
1f92
2ea3
2e94
1f96
2e941f99
2e941f9b
2ea42e0b2dbe
2eb0
2e94
1f99
2eb42ea42e0b2dbe
2eb7
2e94
1f9b
2ea3
2ea5
2e57
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f712e95
x2S:=`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove:nat
P7:(S_[2] n.+1).*2 <= x2S + sp (n:=n.+1) ↓[u (inord a1)] 2 p2 + sp (n:=n.+1) ta1 2 p2

(S_[l.+1] n.+2).*2 <= a.*2 + x0S + x1S + (c.*2 + (x2S + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f712e952ec5
y4S:=sp (n:=n.+1) ↓[u (inord a1)] 2 p2:nat
1fad
P7:(S_[2] n.+1).*2 <= x2S + y4S + y5S

2ec7
2e0a
2ecb
y3S + y4S <= (S_[1] n).*2 + α_[maxn b 2] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f712e952ec52ecc1fad2ecd
y3Sy4SE:y3S + y4S <= (S_[1] n).*2 + α_[maxn b 2] n
2ec7
2e0b2dbe
2ecb
a[pa, paS] b != p2
2ecb
codom ↓[u (inord a1)] \subset [:: a[pa, paS] b; p2]
2ed32e0b2dbe
2ecb
2edc
2ed2
2ecb
codom (u (inord a1)) \subset [:: p2; a[pa, paS] b]
2ed2
2ecb
18b2
2ecb
codom (u (inord a1)) \subset [:: p2; a[p1, p3] (inord a1)] -> codom (u (inord a1)) \subset [:: p2; a[pa, paS] b]
2ed32e0b2dbe
2ecb
2ee9
2ed2
2ecb
codom (u (inord a1)) \subset [:: p2; a[p1, p3] a1] -> codom (u (inord a1)) \subset [:: p2; a[pa, paS] b]
2ed2
2ed4
2ec7
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f712e952ec52ecc1fad2ecd
y3Sy4SE:y3S + y4S <= (S_[1] n).*2 + α_[b] n

2ec7
2e0a
2ef7
y5S + y7S <= (S_[1] n).*2 + α_[maxn 2 (3 * c).-2] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f712e952ec52ecc1fad2ecd2ef8
y5Sy7SE:y5S + y7S <= (S_[1] n).*2 + α_[maxn 2 (3 * c).-2] n
2ec7
2e0b2dbe
2eff
2ec7
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e055d16a798f2e5628412e712e725cc28b41f712e952ec52ecc1fad2ecd2ef8
y5Sy7SE:y5S + y7S <= (S_[1] n).*2 + α_[(3 * c).-2] n

2ec7
2e0a
2f07
(S_[l.+1] n.+2).*2 <= a.*2 + x0S + x1S + (c.*2 + (x2S + x3S) + (y0S + y8S))
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f08
P4:(S_[3] n.+1).*2 <= x0S + y0S + y1S
2e722ecd2db7

2f0c
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db7
F1:S_[(3 * c).-2] n.+1 = S_[(3 * c).-2] n + α_[(3 * c).-2] n

2f0c
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162100

2101
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f16
F2:forall i k : nat, 0 < i -> S_[i.-1] k.+1 <= S_[(3 * i).-2] k + i.-1
2f0c
2e0b2dbe
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162100210a

210b
2f1b
2f22
210f
2f1b
2f22
2113
2f1b
2f1d
2f0c
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162f1e
F2n:S_[c.-1] n.+1 <= S_[(3 * c).-2] n + c.-1

2f0c
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162f1e2f30
F2n1:S_[c.-1] n.+2 <= S_[(3 * c).-2] n.+1 + c.-1

2f0c
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162f1e2f302f35
F3:c = c.-1.+1

2f0c
2e0a
2f39
212e
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162f1e2f302f352f3a4e4
2f0c
2e0b2dbe
2f40
2f0c
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162f1e2f302f352f3a4e4
F4:(S_[l.+1] n.+2).*2 <= S_[l.+1] n.+2 + S_[l] n.+1 + (α_[1] n.+1).*2

2f0c
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162f1e2f302f352f3a4e42f48
cB1_gt0:0 < c.-1

2f0c
2e0a
2f4c
S_[l.+1] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[b.+3] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162f1e2f302f352f3a4e42f482f4d
F5:S_[l.+1] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[b.+3] n.+2
2f0c
2e0b2dbe
2f4c
S_[l.+1] n.+2 + S_[1] n.+2 <= S_[b.+3] n.+2 + S_[c.-1] n.+2
2f52
2f4c
l.+1 = 1 + c.-2 + b.+2
2f4c
S_[1 + c.-2 + b.+2] n.+2 + S_[1] n.+2 <= S_[b.+3] n.+2 + S_[c.-1] n.+2
2f532e0b2dbe
2f4c
2f60
2f52
2f4c
21a0
2f4c
S_[1 + (1 + c.-2).-1 + b.+2] n.+2 + S_[1] n.+2 <= S_[b.+3] n.+2 + S_[1 + c.-2] n.+2
2f532e0b2dbe
2f4c
2f69
2f52
2f54
2f0c
2e0a
2f54
S_[l] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[b.+2] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f162f1e2f302f352f3a4e42f482f4d2f55
F6:S_[l] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[b.+2] n.+1
2f0c
2e0b2dbe
2f54
S_[l] n.+1 + S_[1] n.+1 <= S_[b.+2] n.+1 + S_[c.-1] n.+1
2f74
2f54
l = 1 + c.-2 + b.+1
2f54
S_[1 + c.-2 + b.+1] n.+1 + S_[1] n.+1 <= S_[b.+2] n.+1 + S_[c.-1] n.+1
2f752e0b2dbe
2f54
(1 + b + c).-1 = 1 + c.-2 + b.+1
2f80
2f54
2f82
2f74
2f54
21a0
2f54
S_[1 + (1 + c.-2).-1 + b.+1] n.+1 + S_[1] n.+1 <= S_[b.+2] n.+1 + S_[1 + c.-2] n.+1
2f752e0b2dbe
2f54
2f8f
2f74
2f76
2f0c
2e0a
2f76
6 * S_[1] n + α_[b] n + α_[maxn 3 b] n + 2 * α_[1] n.+1 + S_[b.+2] n.+1 + S_[b.+3] n.+2 <= 2 * S_[3] n.+1 + 2 * S_[b] n.+1 + 2 * S_[2] n.+1 + S_[1] n.+1 + S_[1] n.+2 + 4
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d

2f99
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c0

6 * S_[1] n + α_[b] n + α_[b] n + 2 * α_[1] n.+1 + S_[b.+2] n.+1 + S_[b.+3] n.+2 <= 2 * S_[3] n.+1 + 2 * S_[b] n.+1 + 2 * S_[2] n.+1 + S_[1] n.+1 + S_[1] n.+2 + 4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d
b_le3:b < 3
6 * S_[1] n + α_[b] n + α_[3] n + 2 * α_[1] n.+1 + S_[b.+2] n.+1 + S_[b.+3] n.+2 <= 2 * S_[3] n.+1 + 2 * S_[b] n.+1 + 2 * S_[2] n.+1 + S_[1] n.+1 + S_[1] n.+2 + 4
2e0b2dbe
(* subcase b >= 3 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c0
F7:S_[b] n.+1 = S_[b] n + α_[b] n

2fa2
2fa3
2fab
S_[b.+3] n.+2 <= S_[b.+2] n.+1 + (α_[1] n.+1).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c02fac
F8:S_[b.+3] n.+2 <= S_[b.+2] n.+1 + (α_[1] n.+1).*2
2fa2
2fa42e0b2dbe
2fb3
2fa2
2fa3
2fb3
2967
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c02fac2fb4
F9:S_[b.+1] n.+1 <= S_[b] n + (α_[1] n).*2
2fa2
2fa42e0b2dbe
2fbd
2fa2
2fa3
2fbd
S_[1] n.+1 + S_[b.+2] n.+1 <= S_[b.+1] n.+1 + S_[2] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c02fac2fb42fbe
F10:S_[1] n.+1 + S_[b.+2] n.+1 <= S_[b.+1] n.+1 + S_[2] n.+1
2fa2
2fa42e0b2dbe
2fbd
S_[1 + 1 + b] n.+1 + S_[1] n.+1 <= S_[b.+1] n.+1 + S_[2] n.+1
2fc6
2fc8
2fa2
2fa3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c02fac2fb42fbe2fc9
F11:S_[1] n.+2 = (S_[3] n.+1).+1

2fa2
2fa3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c02fac2fb42fbe2fc92fd5
F12:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

2fa2
2fa3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c02fac2fb42fbe2fc92fd52fda
F13:S_[1] n.+1 = S_[1] n + α_[1] n

2fa2
2fa3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d10c02fac2fb42fbe2fc92fd52fda2fdf
F14:α_[1] n.+1 <= (α_[1] n).*2

2fa2
2fa3
2fa5
2fa7
2e0a
(* subcase b = 2 *)
2fa5
b = 2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa6
bE2:b = 2
2fa7
2e0b2dbe
2fee
2fa7
2e0a
2fee
6 * S_[1] n + α_[2] n + α_[3] n + 2 * α_[1] n.+1 + S_[4] n.+1 + S_[5] n.+2 <= 2 * S_[3] n.+1 + 2 * S_[2] n.+1 + 2 * S_[2] n.+1 + S_[1] n.+1 + S_[1] n.+2 + 4
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef
F1:S_[2] n.+1 = S_[2] n + α_[2] n

6 * S_[1] n + α_[2] n + α_[3] n + 2 * α_[1] n.+1 + S_[4] n.+1 + S_[5] n.+2 <= 2 * S_[3] n.+1 + 2 * (S_[2] n + α_[2] n) + 2 * S_[2] n.+1 + S_[1] n.+1 + S_[1] n.+2 + 4
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb
F2:S_[3] n.+1 = S_[3] n + α_[3] n

6 * S_[1] n + α_[2] n + α_[3] n + 2 * α_[1] n.+1 + S_[4] n.+1 + S_[5] n.+2 <= 2 * (S_[3] n + α_[3] n) + 2 * (S_[2] n + α_[2] n) + 2 * S_[2] n.+1 + S_[1] n.+1 + S_[1] n.+2 + 4
2e0a
3000
24ab
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb3001
F3:S_[5] n.+2 <= S_[4] n.+1 + (α_[1] n.+1).*2
6 * S_[1] n + α_[2] n + α_[3] n + 2 * α_[1] n.+1 + S_[4] n.+1 + S_[5] n.+2 <= 2 * (S_[3] n + α_[3] n) + 2 * (S_[2] n + α_[2] n) + 2 * S_[2] n.+1 + S_[1] n.+1 + S_[1] n.+2 + 4
2e0b2dbe
3008
3002
2e0a
3008
24b6
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb30013009
F4:S_[4] n.+1 <= S_[3] n + (α_[1] n).*2
300a
2e0b2dbe
3013
3002
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb300130093014
F5:S_[1] n.+2 = (S_[3] n.+1).+1

3002
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb300130093014301c
F6:S_[1] n.+1 = (S_[3] n).+1

3002
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb300130093014301c3021
F7:S_[1] n.+1 + S_[1] n.+2 <= (S_[2] n.+1).*2.+1

3002
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb300130093014301c30213026
F8:S_[1] n + S_[1] n.+1 <= (S_[2] n).*2.+1

3002
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb300130093014301c30213026302b
F9:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

3002
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb300130093014301c30213026302b3030
F10:S_[1] n.+1 = S_[1] n + α_[1] n

3002
2e0a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a65d16a798f2e5628412e715cc28b41f712e952ec52ecc1fad2ef82f082f112e722ecd2db72f302f354e42f4d2fa62fef2ffb300130093014301c30213026302b30303035
F11:α_[1] n.+1 <= (α_[1] n).*2

3002
2e0a
2e0c
2de8
2dbd
(* subcase b = 1 *)
2e0c
b = 1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b23
2df0
2dbe
3044
2de8
2dbd
3044
29c6
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca
2df0
2dbe
304d
2de8
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca
u3:=[ffun i => if i == 0 :> nat then ↓[u (inord a)] else if i == 1 :> nat then ↓[u (inord a1)] else if i == 2 :> nat then sa1 else ta1]:{ffun forall x : ordinal_finType 4, (fun=> configuration 4 n.+1) x}

2de8
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56

2e57
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56
d1:=`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove:nat

(S_[l.+1] n.+2).*2 <= a.*2 + x0S + x1S + (c.*2 + (d1 + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
2dbd
305d
(S_[l.+1] n.+2).*2 <= a.*2 + x0S + x1S + (c.*2 + (d1 + x3S) + (y0S + y8S))
2dbd
305d
(S_[l.+1] n.+2).*2 <= a.*2 + x0S + c.*2 + x3S + y0S + y8S + (x1S + d1)
2dbd
305d
x1S + d1 = \sum_(i < 3) `d[u3 (inord i), u3 (inord i.+1)]_smove
305d
(S_[l.+1] n.+2).*2 <= a.*2 + x0S + c.*2 + x3S + y0S + y8S + \sum_(i < 3) `d[u3 (inord i), u3 (inord i.+1)]_smove
2dbe
305d
`d[↓[u (inord 1)], ↓[u (inord 2)]]_smove + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove) = 0 + `d[u3 (inord 0), u3 (inord 1)]_smove + `d[u3 (inord 1), u3 (inord 2)]_smove + `d[u3 (inord 2), u3 (inord 3)]_smove
306c
305d
306e
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e
l_gt2:2 < l

306e
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a
x6S:=\sum_(H < 3) `d[u3 (inord H), u3 (inord H.+1)]_smove:nat

(S_[l.+1] n.+2).*2 <= a.*2 + x0S + c.*2 + x3S + y0S + y8S + x6S
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307fe34

0 < k < 3 -> codom (u3 k) \subset [:: pa1; a[pa1S, p2] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307f
cH6:forall k : 'I_4, 0 < k < 3 -> codom (u3 k) \subset [:: pa1; a[pa1S, p2] k]
3080
2dbe
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307fe34852222c

codom (u3 k) \subset [:: pa1; a[pa1S, p2] k]
3086
308d
codom (if k == 1 then ↓[u (inord a1)] else if k == 2 then sa1 else ta1) \subset [:: pa1; a[pa1S, p2] k]
3086
308d
codom ↓[u (inord a1)] \subset [:: pa1; a[pa1S, p2] 1]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307fe34852222c2239
codom (if k == 2 then sa1 else ta1) \subset [:: pa1; a[pa1S, p2] k]
30872dbe
308d
codom (u (inord a1)) \subset [:: a[pa1S, p2] 1; pa1]
3097
308d
18b2
308d
codom (u (inord a1)) \subset [:: p2; a[p1, p3] (inord a1)] -> codom (u (inord a1)) \subset [:: a[pa1S, p2] 1; pa1]
309830872dbe
308d
30a4
3097
3099
309a
3086
3099
2241
3099
codom (if 2 == 2 then sa1 else ta1) \subset [:: pa1; a[pa1S, p2] 2]
30872dbe
3099
30b0
3086
3088
3080
2dbd
3088
(S_[3] n.+1).*2 <= x6S + sp (n:=n.+1) (u3 ord0) 3 pa1S + sp (n:=n.+1) (u3 ord_max) 3 p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307f3089
P6:(S_[3] n.+1).*2 <= x6S + sp (n:=n.+1) (u3 ord0) 3 pa1S + sp (n:=n.+1) (u3 ord_max) 3 p2
3080
2dbe
307e
1a1f
30bb
30bd
3080
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307f3089
P6:(S_[3] n.+1).*2 <= x6S + sp (n:=n.+1) ↓[u (inord a)] 3 pa1S + sp (n:=n.+1) ta1 3 p2

3080
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307f3089
y2S:=sp (n:=n.+1) ↓[u (inord a)] 3 pa1S:nat
y3S:=sp (n:=n.+1) ta1 3 p2:nat
P6:(S_[3] n.+1).*2 <= x6S + y2S + y3S

3080
2dbd
30cd
y1S + y2S <= (S_[1] n).*2 + α_[3] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307f308930ce30cf30d0
y1Sy2SE:y1S + y2S <= (S_[1] n).*2 + α_[3] n
3080
2dbe
30cd
codom ↓[u (inord a)] \subset [:: p2; pa1S]
30d5
30cd
codom (u' (inord a)) \subset [:: p2; a[p1, p3] (inord a)] -> codom ↓[u (inord a)] \subset [:: p2; pa1S]
30d5
30d7
3080
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307f308930ce30cf30d030d8
lEc:l = c.+1

3080
2dbd
30e7
(S_[c.+2] n.+2).*2 <= a.*2 + x0S + c.*2 + x3S + y0S + y8S + x6S
2dbd
30e7
y3S + y7S <= (S_[1] n).*2 + α_[maxn 3 (3 * c).-2] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307f308930ce30cf30d030d830e8
y3Sy7SE:y3S + y7S <= (S_[1] n).*2 + α_[maxn 3 (3 * c).-2] n
30ec
2dbe
30f3
30ec
2dbd
30e7
2 < (3 * c).-2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7f17286327bc285728a62e051e77b2329ca30552e56305e307a307f308930ce30cf30d030d830e8
y3Sy7SE:y3S + y7S <= (S_[1] n).*2 + α_[(3 * c).-2] n
30ec
2dbe
30fe
30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2e0530d02db7

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7
F1:S_[3] n.+1 = S_[3] n + α_[3] n

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0a81

S_[c.-1] k.+1 <= S_[(3 * c).-2] k + c.-1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0
F4:forall k : nat, S_[c.-1] k.+1 <= S_[(3 * c).-2] k + c.-1
30ec
2dbe
3117
S_[3 * c.-1] k + c.-1 <= S_[(3 * c).-2] k + c.-1
3119
3117
S_[3 * c.-1] k <= S_[(3 * c).-2] k
3119
3117
3 * c.-1 <= (3 * c).-2
3119
311b
30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c
F4n:S_[c.-1] n.+1 <= S_[(3 * c).-2] n + c.-1

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c3130
F4n1:S_[c.-1] n.+2 <= S_[(3 * c).-2] n.+1 + c.-1

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135
F5:c.-1.+1 = c

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e4

30ec
2dbd
313e
(S_[c.+2] n.+2).*2 <= S_[c.+2] n.+2 + S_[c.+1] n.+1 + (α_[1] n.+1).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e4
F6:(S_[c.+2] n.+2).*2 <= S_[c.+2] n.+2 + S_[c.+1] n.+1 + (α_[1] n.+1).*2
30ec
2dbe
3145
30ec
2dbd
3145
S_[c.+2] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[4] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e43146
F7:S_[c.+2] n.+2 + S_[1] n.+2 <= S_[c.-1] n.+2 + S_[4] n.+2
30ec
2dbe
3145
249a
314526dc
314f2dbe
3145
26dc
314e
3145
21a0
314526e3
314f2dbe
3145
26e3
314e
3150
30ec
2dbd
3150
S_[c.+1] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[3] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e431463151
F8:S_[c.+1] n.+1 + S_[1] n.+1 <= S_[c.-1] n.+1 + S_[3] n.+1
30ec
2dbe
3150
26f2
315026f5
316a2dbe
3150
26f5
3169
3150
21a0
315026fc
316a2dbe
3150
26fc
3169
316b
30ec
2dbd
316b
2703
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e431463151316c
F9:S_[4] n.+2 <= S_[3] n.+1 + (α_[1] n.+1).*2
30ec
2dbe
3185
30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e431463151316c3186
F10:S_[1] n.+1 = (S_[3] n).+1

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e431463151316c3186318e2fd5

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e431463151316c3186318e2fd52fda

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e431463151316c3186318e2fd52fda2fdf

30ec
2dbd
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6f17286327bc285728a61e77b2329ca30552e56305e307a307f308930ce30cf30d830e830ff2f1130d02db7310f20e0311c31303135313a4e431463151316c3186318e2fd52fda2fdf2fe4

30ec
2dbd
2db5
b <= 0 -> (S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + \sum_(a <= i0 < a1) `d[↓[u (inord i0)], ↓[u (inord i0.+1)]]_smove + (c.*2 + (`d[↓[u (inord a1)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
(* subcase b = 0 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f

2db8
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f
a1Ea:a1 = a

2db8
31aa
(S_[l.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + (c.*2 + (`d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab
lEc:l = c

31af
31b3
(S_[c.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + (c.*2 + (`d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b4
d1:=`d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove:nat

(S_[c.+1] n.+2).*2 <= a.*2 + sd (n:=n.+1) u1 + (c.*2 + (d1 + x3S) + (\sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + y8S))
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc2857

(S_[c.+1] n.+2).*2 <= a.*2 + x0S + (c.*2 + (d1 + x3S) + (y0S + y8S))
31c2
(S_[c.+1] n.+2).*2 <= a.*2 + c.*2 + x3S + y0S + y8S + (x0S + d1)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc2857
u3:=[ffun i => if i == 0 :> nat then ↓[u ord0] else if i == 1 :> nat then sam1 else if i == 2 :> nat then tam1 else if i == 3 :> nat then ↓[u (inord a1)] else if i == 4 :> nat then sa1 else ta1]:{ffun forall x : ordinal_finType 6, (fun=> configuration 4 n.+1) x}

31c7
31cb
x0S + d1 = sd (n:=n.+1) u3
31cb
(S_[c.+1] n.+2).*2 <= a.*2 + c.*2 + x3S + y0S + y8S + sd (n:=n.+1) u3
31cb
\sum_(i < 3 * a) `d[u1 (inord i), u1 (inord i.+1)]_smove + (`d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove) = \sum_(i < 5) `d[u3 (inord i), u3 (inord i.+1)]_smove
31d1
31cb
\sum_(0 <= i < 3 * a) `d[u1 (inord i), u1 (inord i.+1)]_smove + (`d[↓[u (inord a)], sa1]_smove + `d[sa1, ta1]_smove) = \sum_(i < 5) `d[u3 (inord i), u3 (inord i.+1)]_smove
31d1
31cb
`d[↓[u (inord (0 %/ 3))], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord (3 %/ 3))]]_smove + (`d[↓[u (inord 1)], sa1]_smove + `d[sa1, ta1]_smove) = 0 + `d[↓[u ord0], sam1]_smove + `d[sam1, tam1]_smove + `d[tam1, ↓[u (inord 1)]]_smove + `d[↓[u (inord 1)], sa1]_smove + `d[sa1, ta1]_smove
31d1
31cb
31d3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc
k:'I_6

0 < k < 5 -> codom (u3 k) \subset [:: p3; a[p1, p2] k]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc
cH4:forall k : 'I_6, 0 < k < 5 -> codom (u3 k) \subset [:: p3; a[p1, p2] k]
31d3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc
iH:1 < 6

codom (if Ordinal (n:=6) (m:=1) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=1) iH == 1 then sam1 else if Ordinal (n:=6) (m:=1) iH == 2 then tam1 else if Ordinal (n:=6) (m:=1) iH == 3 then ↓[u (inord a1)] else if Ordinal (n:=6) (m:=1) iH == 4 then sa1 else ta1) \subset [:: p3; p2]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc
iH:2 < 6
codom (if Ordinal (n:=6) (m:=2) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=2) iH == 1 then sam1 else if Ordinal (n:=6) (m:=2) iH == 2 then tam1 else if Ordinal (n:=6) (m:=2) iH == 3 then ↓[u (inord a1)] else if Ordinal (n:=6) (m:=2) iH == 4 then sa1 else ta1) \subset [:: p3; p1]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc
iH:3 < 6
codom (if Ordinal (n:=6) (m:=3) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=3) iH == 1 then sam1 else if Ordinal (n:=6) (m:=3) iH == 2 then tam1 else if Ordinal (n:=6) (m:=3) iH == 3 then ↓[u (inord a1)] else if Ordinal (n:=6) (m:=3) iH == 4 then sa1 else ta1) \subset [:: p3; p2]
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc
iH:4 < 6
codom (if Ordinal (n:=6) (m:=4) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=4) iH == 1 then sam1 else if Ordinal (n:=6) (m:=4) iH == 2 then tam1 else if Ordinal (n:=6) (m:=4) iH == 3 then ↓[u (inord a1)] else if Ordinal (n:=6) (m:=4) iH == 4 then sa1 else ta1) \subset [:: p3; p1]
31ea
31ee
31f5
codom (if Ordinal (n:=6) (m:=2) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=2) iH == 1 then sam1 else if Ordinal (n:=6) (m:=2) iH == 2 then tam1 else if Ordinal (n:=6) (m:=2) iH == 3 then ↓[u (inord a1)] else if Ordinal (n:=6) (m:=2) iH == 4 then sa1 else ta1) \subset [:: p3; p1]
31f831fc31ea
3202
31f9
codom (if Ordinal (n:=6) (m:=3) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=3) iH == 1 then sam1 else if Ordinal (n:=6) (m:=3) iH == 2 then tam1 else if Ordinal (n:=6) (m:=3) iH == 3 then ↓[u (inord a1)] else if Ordinal (n:=6) (m:=3) iH == 4 then sa1 else ta1) \subset [:: p3; p2]
31fc31ea
3208
31f9
codom (if Ordinal (n:=6) (m:=3) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=3) iH == 1 then sam1 else if Ordinal (n:=6) (m:=3) iH == 2 then tam1 else if Ordinal (n:=6) (m:=3) iH == 3 then ↓[u (inord 1)] else if Ordinal (n:=6) (m:=3) iH == 4 then sa1 else ta1) \subset [:: p3; p2]
320b
320e
31f9
codom (u' (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)] -> codom (if Ordinal (n:=6) (m:=3) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=3) iH == 1 then sam1 else if Ordinal (n:=6) (m:=3) iH == 2 then tam1 else if Ordinal (n:=6) (m:=3) iH == 3 then ↓[u (inord 1)] else if Ordinal (n:=6) (m:=3) iH == 4 then sa1 else ta1) \subset [:: p3; p2]
320b
31fd
codom (if Ordinal (n:=6) (m:=4) iH == 0 then ↓[u ord0] else if Ordinal (n:=6) (m:=4) iH == 1 then sam1 else if Ordinal (n:=6) (m:=4) iH == 2 then tam1 else if Ordinal (n:=6) (m:=4) iH == 3 then ↓[u (inord a1)] else if Ordinal (n:=6) (m:=4) iH == 4 then sa1 else ta1) \subset [:: p3; p1]
31e9
31eb
31d3
31eb
(S_[5] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) ↓[u ord0] 5 p1 + sp (n:=n.+1) ta1 5 p2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec
P4:(S_[5] n.+1).*2 <= sd (n:=n.+1) u3 + sp (n:=n.+1) ↓[u ord0] 5 p1 + sp (n:=n.+1) ta1 5 p2
31d3
31eb
sd (n:=n.+1) u3 + sp (n:=n.+1) (u3 ord0) 5 p1 + sp (n:=n.+1) (u3 ord_max) 5 ( a[p1, p2] 5) <= sd (n:=n.+1) u3 + sp (n:=n.+1) ↓[u ord0] 5 p1 + sp (n:=n.+1) ta1 5 p2
3221
3223
31d3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec
P4:(S_[5] n.+1).*2 <= sd (n:=n.+1) u3 + \sum_(k < n.+1) (↓[u ord0] k != p1) * (α_[1] k).*2 + sp (n:=n.+1) ta1 5 p2

31d3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec
y1S:=sp (n:=n.+1) ta1 5 p2:nat
P4:(S_[5] n.+1).*2 <= sd (n:=n.+1) u3 + y0S + y1S

31d3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235
x1S:=sd (n:=n.+1) u3:nat
P4:(S_[5] n.+1).*2 <= x1S + y0S + y1S

(S_[c.+1] n.+2).*2 <= a.*2 + c.*2 + x3S + y0S + y8S + x1S
323a
y1S + y7S <= (S_[1] n).*2 + α_[maxn 5 (3 * c).-2] n
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c
y1Sy7SE:y1S + y7S <= (S_[1] n).*2 + α_[maxn 5 (3 * c).-2] n
323d
3244
323d
3244
(S_[c.+1] n.+2).*2 <= 1.*2 + c.*2 + x3S + y0S + y8S + x1S
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a81

2 * S_[1] k.+1 + S_[1] k.+2 <= 3 * S_[5] k + 6
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245
leq_S5:forall k : nat, 2 * S_[1] k.+1 + S_[1] k.+2 <= 3 * S_[5] k + 6
324c
3250
S_[3] k + 2 * S_[6] k <= 3 * S_[5] k
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a81
F8:S_[3] k + 2 * S_[6] k <= 3 * S_[5] k
3251
3253
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a81
X1:S_[3 + 2 + 1] k + S_[3] k <= S_[3 + 1] k + S_[3 + 2] k

3259
325a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a81
X1:S_[6] k + S_[3] k <= S_[4] k + S_[5] k

3259
325a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a813267
X2:S_[4 + 1 + 1] k + S_[4] k <= S_[4 + 1] k + S_[4 + 1] k

3259
325a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a813267
X2:S_[6] k + S_[4] k <= S_[5] k + S_[5] k

3259
325a
325c
3251
3252
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a81325d276d

3251
3252
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a81325d276d2772

3251
3252
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3245a81325d276d2772
F3k2:S_[1] k.+1 + S_[1] k.+2 <= (S_[2] k.+1).*2.+1

3251
3252
3254
324c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32453255
c_gt2:2 < c

324c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32453255
c_lt3:c < 3
324c
(* Subcase c >= 3 *)
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289

4 < (3 * c).-2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289
y1Sy7SE:y1S + y7S <= (S_[1] n).*2 + α_[(3 * c).-2] n
324c
328b
3295
324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c325532893296a81

3118
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c325532893296
F1:forall k : nat, S_[c.-1] k.+1 <= S_[(3 * c).-2] k + c.-1
324c
328b
329d
3120
329e
329d
3124
329e
329d
3128
329e
32a0
324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a1
F1n:S_[c.-1] n.+1 <= S_[(3 * c).-2] n + c.-1

324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b2
F1n1:S_[c.-1] n.+2 <= S_[(3 * c).-2] n.+1 + c.-1

324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e0

324c
328a
32bb
20f4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e0
F3:2 * c = 2 + c.-1 + c.-1
324c
328b
32c1
324c
328a
32c1
S_[c.+1] n.+2 <= S_[c] n.+1 + (α_[1] n.+1).*2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c2
F4:S_[c.+1] n.+2 <= S_[c] n.+1 + (α_[1] n.+1).*2
324c
328b
32cc
324c
328a
32cc
S_[2] n.+2 + S_[c.+1] n.+2 <= S_[c.-1] n.+2 + S_[4] n.+2
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd
F7n1:S_[2] n.+2 + S_[c.+1] n.+2 <= S_[c.-1] n.+2 + S_[4] n.+2
324c
328b
32cc
c.+1 = 2 + 2 + c.-1.-2
32cc
S_[2 + 2 + c.-1.-2] n.+2 + S_[2] n.+2 <= S_[c.-1] n.+2 + S_[4] n.+2
32d6328b
32cc
32df
32d5
32cc
c.-1 = 2 + c.-1.-2
32cc
S_[2 + 2 + c.-1.-2] n.+2 + S_[2] n.+2 <= S_[2 + c.-1.-2] n.+2 + S_[4] n.+2
32d6328b
32cc
32e9
32d5
32d7
324c
328a
32d7
S_[2] n.+1 + S_[c] n.+1 <= S_[c.-1] n.+1 + S_[3] n.+1
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d8
F7n:S_[2] n.+1 + S_[c] n.+1 <= S_[c.-1] n.+1 + S_[3] n.+1
324c
328b
32d7
c = 2 + 1 + c.-1.-2
32d7
S_[2 + 1 + c.-1.-2] n.+1 + S_[2] n.+1 <= S_[c.-1] n.+1 + S_[3] n.+1
32f5328b
32d7
32fe
32f4
32d7
32e6
32d7
S_[2 + 1 + c.-1.-2] n.+1 + S_[2] n.+1 <= S_[2 + c.-1.-2] n.+1 + S_[3] n.+1
32f5328b
32d7
3307
32f4
32f6
324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7
F8:2 * S_[1] n.+2 + S_[1] n.+3 <= 3 * S_[5] n.+1 + 6

324c
328a
3311
2703
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f733123186
324c
328b
3318
324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f733123186
F10:S_[1] n.+2 = (S_[3] n.+1).+1

324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7331231863320
F11:S_[1] n.+2 + S_[1] n.+3 <= (S_[2] n.+2).*2.+1

324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7331231863320332524c7

324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7331231863320332524c7
F13:S_[1] n.+3 = S_[1] n.+2 + α_[1] n.+2

324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7331231863320332524c7332e
F14:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7331231863320332524c7332e3333
F15:S_[1] n.+1 = S_[1] n + α_[1] n

324c
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7331231863320332524c7332e33333338
F16:α_[1] n.+1 <= α_[1] n.+2

324c
328a
333c
8 * α_[1] n.+1 <= 12 * α_[1] n + 6
328a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7331231863320332524c7332e33333338333d273c

8 * α_[1] n1.+1.+4 <= 12 * α_[1] n1.+4 + 6
328a
3345
3 * α_[1] n1.+1.+4 <= 4 * α_[1] n1.+4
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32553289329632a132b232b720e032c232cd32d832f7331231863320332524c7332e33333338333d273c
F17:3 * α_[1] n1.+1.+4 <= 4 * α_[1] n1.+4
3346
328b
334d
3346
328a
328c
324c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c32453255328d
cE2:c = 2

324c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db62db7123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359
y1Sy7SE:y1S + y7S <= (S_[1] n).*2 + α_[5] n

324c
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e
P8:(S_[4] n.+1).*2 <= x3S + y7S + y8S

(S_[3] n.+2).*2 <= 1.*2 + 2.*2 + x3S + y0S + y8S + x1S
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e3363
F1:S_[5] n.+1 = S_[5] n + α_[5] n

3364
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369
F2:S_[1] n.+3 = (S_[3] n.+2).+1

3364
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e
F3:2 * S_[1] n.+1 + S_[1] n.+2 <= 3 * S_[5] n + 6

3364
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e3373
F4:2 * S_[1] n.+2 + S_[1] n.+3 <= 3 * S_[5] n.+1 + 6

3364
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e33733378
F5:5 * S_[1] n.+2 + S_[1] n.+3 <= 6 * S_[4] n.+1 + 9

3364
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e33733378337d
F6:S_[1] n.+3 = S_[1] n.+2 + α_[1] n.+2

3364
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e33733378337d3382
F7:S_[1] n.+2 = S_[1] n.+1 + α_[1] n.+1

3364
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e33733378337d33823387
F8:S_[1] n.+1 = S_[1] n + α_[1] n

3364
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e33733378337d33823387338c
F10:α_[1] n.+2 <= (α_[1] n.+1).*2

3364
3390
4 * α_[1] n.+1 <= 6 * α_[1] n + 3
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e33733378337d33823387338c3391273c

4 * α_[1] n1.+1.+4 <= 6 * α_[1] n1.+4 + 3
3399
334a
512915d255726f13160755816af161714144c14571512559570143616b0162859b1629166a1672167b16b155a5615935a05a55aa1884189518ae18c418c918ce18db5eb5f05f998eb8cb9163f191f66a1931683193a19f81a0c1a111a1b1a271a2f1a3c1a411a491b3d272b2730f0e27491b4f1cc01cc51cca18d31b572d462d532d542d802db6123f31ab31b431bd27bc285731cc31ec3235323b323c3255328d3359335e33633369336e33733378337d33823387338c3391273c
F9:3 * α_[1] n1.+1.+4 <= 4 * α_[1] n1.+4
339a
33a0
339a
by lia. Qed. End Case3.
524f4ca
u:{ffun 'I_l.+1 -> configuration 4 n}

p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] n).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n) (u ord0 k != p1) * β_[n, l] k + \sum_(k < n) (u ord_max k != a[p1, p3] l) * β_[n, l] k
33a6
555724f
u:{ffun 'I_l.+1 -> configuration 4 0}
151617121314
cH:forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]

(S_[l] 0).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < 0) (u ord0 k != p1) * β_[0, l] k + \sum_(k < 0) (u ord_max k != a[p1, p3] l) * β_[0, l] k
5
IH:forall (l : nat) (p1 p2 p3 : ordinal_eqType 4) (u : {ffun 'I_l.+1 -> configuration 4 0}), p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] 0).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < 0) (u ord0 k != p1) * β_[0, l] k + \sum_(k < 0) (u ord_max k != a[p1, p3] l) * β_[0, l] k
55724f
u:{ffun 'I_l.+1 -> configuration 4 1}
15161712131433b1
(S_[l] 1).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < 1) (u ord0 k != p1) * β_[1, l] k + \sum_(k < 1) (u ord_max k != a[p1, p3] l) * β_[1, l] k
5129
IH:forall (l : nat) (p1 p2 p3 : ordinal_eqType 4) (u : {ffun 'I_l.+1 -> configuration 4 n.+1}), p1 != p2 -> p1 != p3 -> p2 != p3 -> p1 != p0 -> p2 != p0 -> p3 != p0 -> (forall k : 'I_l.+1, 0 < k < l -> codom (u k) \subset [:: p2; a[p1, p3] k]) -> (S_[l] n.+1).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+1) (u ord0 k != p1) * β_[n.+1, l] k + \sum_(k < n.+1) (u ord_max k != a[p1, p3] l) * β_[n.+1, l] k
55724f
u:{ffun 'I_l.+1 -> configuration 4 n.+2}
15161712131433b1
(S_[l] n.+2).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l] k + \sum_(k < n.+2) (u ord_max k != a[p1, p3] l) * β_[n.+2, l] k
33ad
33b5
33b8
33b9
33c0
33b5
(minn 1.*2 l).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < 1) (u ord0 k != p1) * β_[1, l] k + \sum_(k < 1) (u ord_max k != a[p1, p3] l) * β_[1, l] k
33c2
33b5
(minn 1.*2 l).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + (u ord0 ord0 != p1) * β_[1, l] 0 + \sum_(k < 1) (u ord_max k != a[p1, p3] l) * β_[1, l] k
33c2
33b5
(minn 1.*2 l).*2 <= \sum_(i < l) `d[u (inord i), u (inord i.+1)]_smove + (u ord0 ord0 != p1) * β_[1, l] 0 + (u ord_max ord0 != a[p1, p3] l) * β_[1, l] 0
33c2
533b655724f33b715161712131433b1
c1, c2:configuration 4 1

c1 != `c[p0] -> c2 != `c[p0] -> `d[c1, c2]_smove = (c1 != c2).*2
533b655724f33b715161712131433b1
d0fE:forall c1 c2 : configuration 4 1, c1 != `c[p0] -> c2 != `c[p0] -> `d[c1, c2]_smove = (c1 != c2).*2
33cf
33b9
533b655724f33b715161712131433b133d4
c1Dp0:c1 != `c[p0]
c2Dp0:c2 != `c[p0]

`d[c1, c2]_smove = (c1 != c2).*2
33d6
533b655724f33b715161712131433b133d433de33df
H:`d[c1, c2]_smove = size [::]

33e0
533b655724f33b715161712131433b133d433de33df
a:finfun_finType (ordinal_finType 1) (ordinal_finType 4)
gpath smove c1 c2 [:: a] -> `d[c1, c2]_smove = (c1 != c2).*2
533b655724f33b715161712131433b133d433de33df
a, b:finfun_finType (ordinal_finType 1) (ordinal_finType 4)
p:seq (finfun_finType (ordinal_finType 1) (ordinal_finType 4))
gpath smove c1 c2 [:: a, b & p] -> `d[c1, c2]_smove = (c1 != c2).*2
33d733b9
33e2
33e8
33ea
33eb33d733b9
33f2
533b655724f33b715161712131433b133d433de33df33e9
z:ordinal_finType 1

[/\ srel (n:=4) (c1 z) (a z), forall d2 : ordinal_finType 1, z != d2 -> c1 d2 = a d2, on_top (q:=4) (n:=1) z c1 & on_top (q:=4) (n:=1) z a] -> a = c2 -> `d[c1, c2]_smove = 1 -> `d[c1, c2]_smove = (c1 != c2).*2
33f4
533b655724f33b715161712131433b133d433de33df33e933fa
zH:srel (n:=4) (c1 sdisk) (a sdisk)
aE:a = c2

`d[c1, c2]_smove = 1 -> `d[c1, c2]_smove = (c1 != c2).*2
33f4
533b655724f33b715161712131433b133d433de33df33e933fa3401

c1 sdisk * c2 sdisk == 0 -> `d[c1, c2]_smove = 1 -> `d[c1, c2]_smove = (c1 != c2).*2
33f4
533b655724f33b715161712131433b133d433e933fa3401

c1 sdisk != 0 -> c2 sdisk != 0 -> c1 sdisk * c2 sdisk == 0 -> `d[c1, c2]_smove = 1 -> `d[c1, c2]_smove = (c1 sdisk != c2 sdisk).*2
33f4
33ec
33ef
33d6
533b655724f33b715161712131433b133d433de33df33ed33ee
c1Dc2:c1 != c2

`d[c1, c2]_smove = size [:: a, b & p] -> `d[c1, c2]_smove = (~~ false).*2
33d6
533b655724f33b715161712131433b133d433de33df33ed33ee3414
H:`d[c1, c2]_smove = size [:: a, b & p]

`d[c1, c2]_smove <= 1.*2
33d6
3419
path smove c1 [:: `c[p0]; c2]
533b655724f33b715161712131433b133d433de33df33ed33ee3414341a
pH:path smove c1 [:: `c[p0]; c2]
341b
33d733b9
3419
c1 `-->_s `c[p0]
3419
`c[p0] `-->_s c2
342133d733b9
3419
srel (n:=4) (c1 ord0) (`c[p0] ord0)
3419
forall d2 : 'I_1, ord0 != d2 -> c1 d2 = `c[p0] d2
3419
on_top (q:=4) (n:=1) ord0 c1
3419
on_top (q:=4) (n:=1) ord0 `c[p0]
3429342133d733b9
342c
3419
c1 ord0 != p0
342f
3419
3431
343234343429342133d733b9
343c
3419
3433
34343429342133d733b9
3441
3419
3435
3428
3419
342a
3420
3419
srel (n:=4) (`c[p0] ord0) (c2 ord0)
3419
forall d2 : 'I_1, ord0 != d2 -> `c[p0] d2 = c2 d2
3434
3419
on_top (q:=4) (n:=1) ord0 c2
342133d733b9
344c
3419
p0 != c2 ord0
344f
3419
3451
34343452342133d733b9
345a
3447
3452342133d733b9
345f
3419
3453
3420
3422
341b
33d6
3422
`d[c1, c2]_smove <= size [:: `c[p0]; c2]
33d6
33d8
33cf
33c2
533b624f15161712131433d9557
u:{ffun 'I_l.+2 -> configuration 4 1}
559

(minn 1.*2 l.+1).*2 <= \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + (u ord0 ord0 != p1) * β_[1, l.+1] 0 + (u ord_max ord0 != a[p1, p3] l.+1) * β_[1, l.+1] 0
33c2
533b624f15161712131433d9
u:{ffun 'I_2 -> configuration 4 1}
cH:forall k : 'I_2, 0 < k < 1 -> codom (u k) \subset [:: p2; a[p1, p3] k]

(minn 1.*2 1).*2 <= \sum_(i < 1) `d[u (inord i), u (inord i.+1)]_smove + (u ord0 ord0 != p1) * β_[1, 1] 0 + (u ord_max ord0 != a[p1, p3] 1) * β_[1, 1] 0
533b624f15161712131433d9557
u:{ffun 'I_l.+3 -> configuration 4 1}
cH:forall k : 'I_l.+3, 0 < k < l.+2 -> codom (u k) \subset [:: p2; a[p1, p3] k]
(minn 1.*2 l.+2).*2 <= \sum_(i < l.+2) `d[u (inord i), u (inord i.+1)]_smove + (u ord0 ord0 != p1) * β_[1, l.+2] 0 + (u ord_max ord0 != a[p1, p3] l.+2) * β_[1, l.+2] 0
33b9
3478
1.*2 <= \sum_(i < 1) `d[u (inord i), u (inord i.+1)]_smove + (u ord0 ord0 != p1) * β_[1, 1] 0 + (u ord_max ord0 != a[p1, p3] 1) * β_[1, 1] 0
347c
3478
1.*2 <= `d[u (inord ord0), u (inord ord0.+1)]_smove + (u ord0 ord0 != p1) * β_[1, 1] 0 + (u ord_max ord0 != a[p1, p3] 1) * β_[1, 1] 0
347c
3478
inord 1 = ord_max
3478
1.*2 <= `d[u ord0, u ord_max]_smove + (u ord0 ord0 != p1) * β_[1, 1] 0 + (u ord_max ord0 != a[p1, p3] 1) * β_[1, 1] 0
347d33b9
3478
3490
347c
3478
u ord_max ord0 = p3 -> u ord0 ord0 = p1 -> 1.*2 <= `d[u ord0, u ord_max]_smove
347c
533b624f15161712131433d93479347a
u1E:u ord_max ord0 = p3
u0E:u ord0 ord0 = p1

1.*2 <= `d[u ord0, u ord_max]_smove
347c
349b
1.*2 <= (u ord0 != u ord_max).*2
349b
u ord0 != `c[p0]
349b
u ord_max != `c[p0]
347d33b9
34a0
349b
34a5
34a6347d33b9
34aa
349b
34a7
347c
347e
3481
33c2
347e
3 < \sum_(i < l.+2) `d[u (inord i), u (inord i.+1)]_smove + (u ord0 ord0 != p1) * β_[1, l.+2] 0 + (u ord_max ord0 != a[p1, p3] l.+2) * β_[1, l.+2] 0
33c2
347e
3 < `d[u (inord 0), u (inord 1)]_smove + (\sum_(i < l) `d[u (inord (bump 0 i)), u (inord (bump 0 i).+1)]_smove + `d[u (inord (bump 0 l)), u (inord (bump 0 l).+1)]_smove) + (u ord0 ord0 != p1) * β_[1, l.+2] 0 + (u ord_max ord0 != a[p1, p3] l.+2) * β_[1, l.+2] 0
33c2
347e
3 < `d[u (inord (bump 0 l)), u (inord (bump 0 l).+1)]_smove + ((u ord0 ord0 != p1) * β_[1, l.+2] 0 + ((u ord_max ord0 != a[p1, p3] l.+2) * β_[1, l.+2] 0 + `d[u (inord 0), u (inord 1)]_smove))
33c2
347e
3 < `d[u (inord l.+1), u (inord l.+2)]_smove + ((u ord0 ord0 != p1) * 2 + ((u ord_max ord0 != a[p1, p3] l) * 2 + `d[u (inord 0), u (inord 1)]_smove))
33c2
347e
2 + 2 <= `d[u (inord l.+1), u (inord l.+2)]_smove + (u ord_max ord0 != a[p1, p3] l) * 2 + (`d[u (inord 0), u (inord 1)]_smove + (u ord0 ord0 != p1) * 2)
33c2
347e
1 < `d[u (inord l.+1), u (inord l.+2)]_smove + (u ord_max ord0 != a[p1, p3] l) * 2
347e
1 < `d[u (inord 0), u (inord 1)]_smove + (u ord0 ord0 != p1) * 2
33b9
533b624f15161712131433d9557347f3480
umE:u ord_max ord0 = a[p1, p3] l

1 < `d[u (inord l.+1), u (inord l.+2)]_smove + 0 * 2
34cc
34d2
1 < (u (inord l.+1) != u (inord l.+2)).*2
34d2
u (inord l.+1) != `c[p0]
34d2
u (inord l.+2) != `c[p0]
34cd33b9
34d6
533b624f15161712131433d9557347f348034d3
H:u (inord l.+1) = u (inord l.+2)

1 < (~~ true).*2
34d9
34e2
codom (u (inord l.+1)) \subset [:: p2; a[p1, p3] (inord l.+1)] -> 1 < (~~ true).*2
34d9
34e2
u (inord l.+1) sdisk \in [:: p2; a[p1, p3] (inord l.+1)] -> 1 < (~~ true).*2
34d9
34e2
u ord_max sdisk \in [:: p2; a[p1, p3] (inord l.+1)] -> 1 < (~~ true).*2
34e2
inord l.+2 = ord_max
34da34dc34cd33b9
34e2
( a[p1, p3] l == p2) || ( a[p1, p3] l == a[p3, p1] l) -> 1 < 0.*2
34f1
34e2
p1 == p3 -> 1 < 0.*2
34e21008
34f234da34dc34cd33b9
34e2
1008
34f1
34e2
34f3
34d9
34d2
34db
34dc34cd33b9
3505
34d2
u (inord l.+1) sdisk != p0
3507
533b624f15161712131433d9557347f348034d3
H:u (inord l.+1) sdisk = p0

131a
3507
3510
codom (u (inord l.+1)) \subset [:: p2; a[p1, p3] (inord l.+1)] -> ~~ true
3507
3510
u (inord l.+1) sdisk \in [:: p2; a[p1, p3] (inord l.+1)] -> ~~ true
3507
34d2
34dd
34cc
34d2
u (inord l.+2) sdisk != p0
34cc
34d2
u ord_max sdisk != p0
34d234f3
34cd33b9
34d2
34f3
34cc
347e
34ce
33c2
533b624f15161712131433d9557347f3480349d

1 < `d[u (inord 0), u (inord 1)]_smove + 0 * 2
33c2
3530
1 < (u (inord 0) != u (inord 1)).*2
3530
u (inord 0) != `c[p0]
3530
u (inord 1) != `c[p0]
33b9
3533
533b624f15161712131433d9557347f3480349d
H:u (inord 0) = u (inord 1)

34e4
3536
353f
codom (u (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)] -> 1 < (~~ true).*2
3536
353f
u (inord 1) sdisk \in [:: p2; a[p1, p3] (inord 1)] -> 1 < (~~ true).*2
3536
353f
p1 \in [:: p2; p3] -> 1 < 0.*2
3536
3530
3538
353933b9
354e
3530
353a
33c2
3530
u (inord 1) sdisk != p0
33c2
533b624f15161712131433d9557347f3480349d
H:u (inord 1) sdisk = p0

131a
33c2
355c
codom (u (inord 1)) \subset [:: p2; a[p1, p3] (inord 1)] -> ~~ true
33c2
355c
u (inord 1) sdisk \in [:: p2; a[p1, p3] (inord 1)] -> ~~ true
33c2
33ba
33bd
512933bb24f151617121314557558559

(S_[l.+1] n.+2).*2 <= \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p1, p3] l.+1) * β_[n.+2, l.+1] k
356c
(S_[l.+1] n.+2).*2 <= \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
512933bb24f151617121314557558559
u':=[ffun i => ↓[u i]] : {ffun 'I_l.+2 -> configuration 4 n.+1}:{ffun 'I_l.+2 -> configuration 4 n.+1}

3571
512933bb24f151617121314557558559357617b2

0 < k < l.+1 -> codom (u' k) \subset [:: p2; a[p1, p3] k]
512933bb24f1516171213145575585593576561
3571
357e
3571
512933bb24f1516171213145575585593576561
K:=(u ord0 ord_max != p1) + (u ord_max ord_max != a[p3, p1] l):nat

3571
512933bb24f15161712131455755855935765613586
HK:(K == 2) || (K == 1) && (l == 0)

3571
3585
~~ ((K == 2) || (K == 1) && (l == 0)) -> (S_[l.+1] n.+2).*2 <= \sum_(i0 < l.+1) `d[u (inord i0), u (inord i0.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
358a
(S_[l.+1] n.+1).*2 + (α_[l.+1] n.+1).*2 <= \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
358c
512933bb24f15161712131455755855935765613586358b
IH':(S_[l.+1] n.+1).*2 <= \sum_(i < l.+1) `d[u' (inord i), u' (inord i.+1)]_smove + \sum_(k < n.+1) (u' ord0 k != p1) * β_[n.+1, l.+1] k + \sum_(k < n.+1) (u' ord_max k != a[p1, p3] l.+1) * β_[n.+1, l.+1] k

3592
358c
512933bb24f15161712131455755855935765613586358b
IH':(S_[l.+1] n.+1).*2 <= \sum_(i < l.+1) `d[u' (inord i), u' (inord i.+1)]_smove + \sum_(k < n.+1) (u' ord0 k != p1) * β_[n.+1, l.+1] k + \sum_(k < n.+1) (u' ord_max k != a[p3, p1] l) * β_[n.+1, l.+1] k

3592
358c
359b
(S_[l.+1] n.+1).*2 + (α_[l.+1] n.+1).*2 <= \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + (\sum_(i < n.+1) (u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1) * β_[n.+2, l.+1] i + (u ord0 ord_max != p1) * β_[n.+2, l.+1] n.+1) + (\sum_(i < n.+1) (u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l) * β_[n.+2, l.+1] i + (u ord_max ord_max != a[p3, p1] l) * β_[n.+2, l.+1] n.+1)
358c
512933bb24f15161712131455755855935765613586358b359c
u1:=\sum_(H < l.+1) `d[u (inord H), u (inord H.+1)]_smove:nat
u2:=\sum_(H < n.+1) (u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) H) != p1) * β_[n.+2, l.+1] H:nat
u3:=\sum_(H < n.+1) (u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) H) != a[p3, p1] l) * β_[n.+2, l.+1] H:nat

(S_[l.+1] n.+1).*2 + (α_[l.+1] n.+1).*2 <= u1 + (u2 + (u ord0 ord_max != p1) * β_[n.+2, l.+1] n.+1) + (u3 + (u ord_max ord_max != a[p3, p1] l) * β_[n.+2, l.+1] n.+1)
358c
35a4
(S_[l.+1] n.+1).*2 + (α_[l.+1] n.+1).*2 <= u1 + u2 + u3 + ((u ord0 ord_max != p1) * β_[n.+2, l.+1] n.+1 + (u ord_max ord_max != a[p3, p1] l) * β_[n.+2, l.+1] n.+1)
358c
35a4
(S_[l.+1] n.+1).*2 <= u1 + u2 + u3
35a4
(α_[l.+1] n.+1).*2 <= (u ord0 ord_max != p1) * β_[n.+2, l.+1] n.+1 + (u ord_max ord_max != a[p3, p1] l) * β_[n.+2, l.+1] n.+1
358d
512933bb24f15161712131455755855935765613586358b35a535a635a7

\sum_(i < l.+1) `d[u' (inord i), u' (inord i.+1)]_smove + \sum_(k < n.+1) (u' ord0 k != p1) * β_[n.+1, l.+1] k + \sum_(k < n.+1) (u' ord_max k != a[p3, p1] l) * β_[n.+1, l.+1] k <= u1 + u2 + u3
35b1
35b7
\sum_(k < n.+1) (u' ord_max k != a[p3, p1] l) * β_[n.+1, l.+1] k <= u3
35b7
\sum_(i < l.+1) `d[u' (inord i), u' (inord i.+1)]_smove + \sum_(k < n.+1) (u' ord0 k != p1) * β_[n.+1, l.+1] k <= u1 + u2
35b2358d
512933bb24f15161712131455755855935765613586358b35a535a635a71054

(u' ord_max i != a[p3, p1] l) * β_[n.+1, l.+1] i <= (u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l) * β_[n.+2, l.+1] i
35bd
35c3
(u' ord_max i != a[p3, p1] l) <= (u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l)
35c3
β_[n.+1, l.+1] i <= β_[n.+2, l.+1] i
35be35b2358d
35c3
(u' ord_max i != a[p3, p1] l) = (u ord_max (widen_ord (m:=n.+2) (leqnSn n.+1) i) != a[p3, p1] l)
35c9
35c3
35cb
35bd
35c3
β_[n.+1, l.+1] i <= (α_[1] i).*2
35bd
35b7
35bf
35b1
35b7
\sum_(k < n.+1) (u' ord0 k != p1) * β_[n.+1, l.+1] k <= u2
35b7
\sum_(i < l.+1) `d[u' (inord i), u' (inord i.+1)]_smove <= u1
35b2358d
35c3
(u' ord0 i != p1) * β_[n.+1, l.+1] i <= (u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1) * β_[n.+2, l.+1] i
35de
35c3
(u' ord0 i != p1) <= (u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1)
35ca35df35b2358d
35c3
(u' ord0 i != p1) = (u ord0 (widen_ord (m:=n.+2) (leqnSn n.+1) i) != p1)
35e9
35d235de
35d535de
35b7
35e0
35b1
512933bb24f15161712131455755855935765613586358b35a535a635a7
i:ordinal_finType l.+1

`d[u' (inord i), u' (inord i.+1)]_smove <= `d[u (inord i), u (inord i.+1)]_smove
35b1
35f8
1b32
35b1
35a4
35b3
358c
35a4
(α_[l.+1] n.+1).*2 <= K * β_[n.+2, l.+1] n.+1
358c
512933bb24f15161712131455755855935765613586359c35a535a635a7

(α_[l.+1] n.+1).*2 <= 2 * β_[n.+2, l.+1] n.+1
3608
(α_[1] n.+1).*2 <= 1 * β_[n.+2, 1] n.+1
358d
3608
360c
358c
3585
358e
3585
(K != 2) && ((K != 1) || (l != 0)) -> (S_[l.+1] n.+2).*2 <= \sum_(i0 < l.+1) `d[u (inord i0), u (inord i0.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
3585
K <= 2 -> (K != 2) && ((K != 1) || (l != 0)) -> (S_[l.+1] n.+2).*2 <= \sum_(i0 < l.+1) `d[u (inord i0), u (inord i0.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
3585
K <= 1 -> true -> ~~ false && ((K != 1) || (l != 0)) -> (S_[l.+1] n.+2).*2 <= \sum_(i1 < l.+1) `d[u (inord i1), u (inord i1.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
512933bb24f15161712131455755855935765613586
KE:K = 1
572

3571
512933bb24f15161712131455755855935765613586
KE:K < 1
l_gt0:true
3571
512933bb24f15161712131455755855935765613586572

(u ord0 ord_max != p1) + (u ord_max ord_max != a[p3, p1] l) = 1 -> (S_[l.+1] n.+2).*2 <= \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
3624
512933bb24f15161712131455755855935765613586572570571

3571
512933bb24f15161712131455755855935765613586572
KH1:u ord0 ord_max != p1
1436
3571
3625
3634
3571
3624
512933bb24f151617121314557558559357656135865723635143616ca

3571
3624
363c
\sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove = \sum_(i < l.+1) `d[u1 (inord i), u1 (inord i.+1)]_smove
363c
(S_[l.+1] n.+2).*2 <= \sum_(i < l.+1) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
3625
363c
16d5
512933bb24f151617121314557558559357656135865723635143616ca16d9
3640
36423625
512933bb24f151617121314557558559357656135865723635143616ca16de

16df
3647
512933bb24f151617121314557558559357656135865723635143616ca16e4

16e5
512933bb24f151617121314557558559357656135865723635143616ca16de16e9
16df
364836423625
3654
16df
3647
512933bb24f151617121314557558559357656135865723635143616ca16de16e916f1

16f2
3647
365b
16f6
3647
3649
3640
3641
3649
\sum_(j < l.+1) `d[u (inord (inord (l - j))), u (inord (inord (l - j)).+1)]_smove = \sum_(i < l.+1) `d[u1 (inord i), u1 (inord i.+1)]_smove
3641
512933bb24f151617121314557558559357656135865723635143616ca16d914c4

1702
3641
512933bb24f151617121314557558559357656135865723635143616ca16d914c41707

1702
3641
512933bb24f151617121314557558559357656135865723635143616ca16d914c41707170c

1702
3641
512933bb24f151617121314557558559357656135865723635143616ca16d914c41707170c1711

1702
3641
3675
1715
3641
3675
1719
3675171c
36423625
3675
171c
3641
363c
3643
3624
512933bb24f151617121314557558559357656135865723635143616ca
p1':= a[p3, p1] l:peg 4

3643
3624
512933bb24f151617121314557558559357656135865723635143616ca3688
p3':= a[p1, p3] l:peg 4

3643
3624
368c
\sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k = \sum_(k < n.+2) (u1 ord_max k != a[p1', p3'] l.+1) * β_[n.+2, l.+1] k
368c
(S_[l.+1] n.+2).*2 <= \sum_(i < l.+1) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+2) (u1 ord_max k != a[p1', p3'] l.+1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
3625
512933bb24f151617121314557558559357656135865723635143616ca3688368d1734

(u ord0 i != p1) = (u1 ord_max i != a[p1', p3'] l.+1)
3692
3698
(u ord0 i != p1) = (u (inord 0) i != a[p1', p3'] l.+1)
3692
368c
3694
3624
368c
\sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k = \sum_(k < n.+2) (u1 ord0 k != p1') * β_[n.+2, l.+1] k
368c
(S_[l.+1] n.+2).*2 <= \sum_(i < l.+1) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+2) (u1 ord_max k != a[p1', p3'] l.+1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u1 ord0 k != p1') * β_[n.+2, l.+1] k
3625
3698
(u ord_max i != a[p3, p1] l) = (u1 ord0 i != p1')
36a5
3698
(u ord_max i != a[p3, p1] l) = (u (inord l.+1) i != p1')
36a5
3698
a16
36a5
368c
36a7
3624
512933bb24f151617121314557558559357656135865723635143616ca3688368d17b2

0 < k < l.+1 -> codom (u1 k) \subset [:: p2; a[p1', p3'] k]
512933bb24f151617121314557558559357656135865723635143616ca3688368d
cH1:forall k : 'I_l.+2, 0 < k < l.+1 -> codom (u1 k) \subset [:: p2; a[p1', p3'] k]
36a7
3625
512933bb24f151617121314557558559357656135865723635143616ca3688368d17b217b317b4

codom (u (inord (l.+1 - k))) \subset [:: p2; a[p1', p3'] k]
36bb
512933bb24f151617121314557558559357656135865723635143616ca3688368d17b217b317b417ba

36c3
36bb
36c7
17be
512933bb24f151617121314557558559357656135865723635143616ca3688368d17b217b317b417ba17c2
36c3
36bc3625
36cd
36c3
36bb
36cd
a[p1', p3'] k = a[p1, p3] (inord (l.+1 - k))
36cd17cc
36bc3625
36cd
a[p3, p1] (k + l) = a[p3, p1] (~~ (odd l.+1 (+) odd k))
36d5
36cd
17cc
36bb
512933bb24f151617121314557558357656135865723635143616ca3688368d17b217b317b417ba17c2

17d8
36bb
36bd
36a7
3624
36bd
(S_[l.+1] n.+2).*2 <= \sum_(i < l.+1) `d[u1 (inord i), u1 (inord i.+1)]_smove + \sum_(k < n.+2) (u1 ord0 k != p1') * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u1 ord_max k != a[p3', p1'] l) * β_[n.+2, l.+1] k
3624
368c
p1' != p2
368c
p1' != p3'
368c
p2 != p3'
368c176f
368c1777
368c
u1 ord0 ord_max = p1'
368c
u1 ord_max ord_max != a[p3', p1'] l
3625
36ea
368c
36ef
36f036f236f336f436f63625
36fa
368c
36f1
36f236f336f436f63625
36ff
368c
176f
36f336f436f63625
3704
368c
1777
36f436f63625
3709
368c
36f5
36f63625
370e
368c
u (inord l.+1) ord_max = p1'
3710
368c
a16
3710
368c
36f7
3624
3626
3571
512933bb24f151617121314557558559357656135863628

u ord_max ord_max = a[p3, p1] l -> u ord0 ord_max = p1 -> 0 + 0 < 1 -> (S_[l.+1] n.+2).*2 <= \sum_(i < l.+1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n.+2) (u ord0 k != p1) * β_[n.+2, l.+1] k + \sum_(k < n.+2) (u ord_max k != a[p3, p1] l) * β_[n.+2, l.+1] k
512933bb24f151617121314557558559357656135863628
uME:u ord_max ord_max = a[p3, p1] l
u0E:u ord0 ord_max = p1

3571
by apply: (case3 IH _ _ _ _ _ _ cH). Qed.
127
p1 != p0 -> p2 != p0 -> p1 != p2 -> (S_[1] n).*2 <= `d[`c[p1 , n], `c[p2 , n]]_smove
372b
5128129121315

(S_[1] n).*2 <= `d[`c[p1 , n], `c[p2 , n]]_smove
51281291215157

3733
5128129121515715c15d1415e

(S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
5128129121515c15d1415e13

373c
5128129121515c15d1415e13
u:=[ffun i => if i == 0 :> nat then `c[p1 , n] else `c[p2 , n]]:{ffun forall x : ordinal_finType 2, (fun=> configuration 4 n) x}

373c
3744
(S_[1] n).*2 <= \sum_(i < 1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n) (u ord0 k != p1) * β_[n, 1] k + \sum_(k < n) (u ord_max k != p2) * β_[n, 1] k -> (S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
3744
(S_[1] n).*2 <= \sum_(i < 1) `d[u (inord i), u (inord i.+1)]_smove + \sum_(k < n) (u ord0 k != p1) * β_[n, 1] k + \sum_(k < n) (u ord_max k != p2) * β_[n, 1] k
3744
(S_[1] n).*2 <= `d[`c[p1], if inord 1 == 0 then `c[p1] else `c[p2]]_smove + \sum_(k < n) (`c[p1] k != p1) * β_[n, 1] k + \sum_(k < n) (`c[p2] k != p2) * β_[n, 1] k -> (S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
374a
3744
(S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove + \sum_(k < n) (`c[p1] k != p1) * β_[n, 1] k + \sum_(k < n) (`c[p2] k != p2) * β_[n, 1] k -> (S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
374a
5128129121515c15d1415e1337454ee

(`c[p1] i != p1) * β_[n, 1] i = 0
3744
(S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove + \sum_(i < n) 0 + \sum_(k < n) (`c[p2] k != p2) * β_[n, 1] k -> (S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
374b
3744
375c
374a
3744
(S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove + 0 + \sum_(k < n) (`c[p2] k != p2) * β_[n, 1] k -> (S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
374a
3758
(`c[p2] i != p2) * β_[n, 1] i = 0
3744
(S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove + 0 + \sum_(i < n) 0 -> (S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
374b
3744
376a
374a
3744
(S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove + 0 + 0 -> (S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
374a
3744
374c
3744
p1 != p3
3744
forall k : 'I_2, 0 < k < 1 -> codom (u k) \subset [:: p3; a[p1, p2] k]
3744
377b
by case=> [] []. Qed.
5129229

p1 != p2 -> p1 != p0 -> p2 != p0 -> `d[`c[p1 , n], `c[p2 , n]]_smove = (S_[1] n).*2
3780
5129229151213

`d[`c[p1], `c[p2]]_smove <= (S_[1] n).*2 <= `d[`c[p1], `c[p2]]_smove
by rewrite leq_shanoi4 // main_cor. Qed. End sHanoi4.