:: GOBOARD5 semantic presentation
theorem Th1: :: GOBOARD5:1
definition
let c1 be
Matrix of
(TOP-REAL 2);
let c2 be
Nat;
func v_strip c1,
c2 -> Subset of
(TOP-REAL 2) equals :
Def1:
:: GOBOARD5:def 1
{ |[b1,b2]| where B is Real, B is Real : ( (a1 * a2,1) `1 <= b1 & b1 <= (a1 * (a2 + 1),1) `1 ) } if ( 1
<= a2 &
a2 < len a1 )
{ |[b1,b2]| where B is Real, B is Real : (a1 * a2,1) `1 <= b1 } if a2 >= len a1 otherwise { |[b1,b2]| where B is Real, B is Real : b1 <= (a1 * (a2 + 1),1) `1 } ;
coherence
( ( 1 <= c2 & c2 < len c1 implies { |[b1,b2]| where B is Real, B is Real : ( (c1 * c2,1) `1 <= b1 & b1 <= (c1 * (c2 + 1),1) `1 ) } is Subset of (TOP-REAL 2) ) & ( c2 >= len c1 implies { |[b1,b2]| where B is Real, B is Real : (c1 * c2,1) `1 <= b1 } is Subset of (TOP-REAL 2) ) & ( ( not 1 <= c2 or not c2 < len c1 ) & not c2 >= len c1 implies { |[b1,b2]| where B is Real, B is Real : b1 <= (c1 * (c2 + 1),1) `1 } is Subset of (TOP-REAL 2) ) )
correctness
consistency
for b1 being Subset of (TOP-REAL 2) st 1 <= c2 & c2 < len c1 & c2 >= len c1 holds
( b1 = { |[b2,b3]| where B is Real, B is Real : ( (c1 * c2,1) `1 <= b2 & b2 <= (c1 * (c2 + 1),1) `1 ) } iff b1 = { |[b2,b3]| where B is Real, B is Real : (c1 * c2,1) `1 <= b2 } );
;
func h_strip c1,
c2 -> Subset of
(TOP-REAL 2) equals :
Def2:
:: GOBOARD5:def 2
{ |[b1,b2]| where B is Real, B is Real : ( (a1 * 1,a2) `2 <= b2 & b2 <= (a1 * 1,(a2 + 1)) `2 ) } if ( 1
<= a2 &
a2 < width a1 )
{ |[b1,b2]| where B is Real, B is Real : (a1 * 1,a2) `2 <= b2 } if a2 >= width a1 otherwise { |[b1,b2]| where B is Real, B is Real : b2 <= (a1 * 1,(a2 + 1)) `2 } ;
coherence
( ( 1 <= c2 & c2 < width c1 implies { |[b1,b2]| where B is Real, B is Real : ( (c1 * 1,c2) `2 <= b2 & b2 <= (c1 * 1,(c2 + 1)) `2 ) } is Subset of (TOP-REAL 2) ) & ( c2 >= width c1 implies { |[b1,b2]| where B is Real, B is Real : (c1 * 1,c2) `2 <= b2 } is Subset of (TOP-REAL 2) ) & ( ( not 1 <= c2 or not c2 < width c1 ) & not c2 >= width c1 implies { |[b1,b2]| where B is Real, B is Real : b2 <= (c1 * 1,(c2 + 1)) `2 } is Subset of (TOP-REAL 2) ) )
correctness
consistency
for b1 being Subset of (TOP-REAL 2) st 1 <= c2 & c2 < width c1 & c2 >= width c1 holds
( b1 = { |[b2,b3]| where B is Real, B is Real : ( (c1 * 1,c2) `2 <= b3 & b3 <= (c1 * 1,(c2 + 1)) `2 ) } iff b1 = { |[b2,b3]| where B is Real, B is Real : (c1 * 1,c2) `2 <= b3 } );
;
end;
:: deftheorem Def1 defines v_strip GOBOARD5:def 1 :
for
b1 being
Matrix of
(TOP-REAL 2) for
b2 being
Nat holds
( ( 1
<= b2 &
b2 < len b1 implies
v_strip b1,
b2 = { |[b3,b4]| where B is Real, B is Real : ( (b1 * b2,1) `1 <= b3 & b3 <= (b1 * (b2 + 1),1) `1 ) } ) & (
b2 >= len b1 implies
v_strip b1,
b2 = { |[b3,b4]| where B is Real, B is Real : (b1 * b2,1) `1 <= b3 } ) & ( ( not 1
<= b2 or not
b2 < len b1 ) & not
b2 >= len b1 implies
v_strip b1,
b2 = { |[b3,b4]| where B is Real, B is Real : b3 <= (b1 * (b2 + 1),1) `1 } ) );
:: deftheorem Def2 defines h_strip GOBOARD5:def 2 :
for
b1 being
Matrix of
(TOP-REAL 2) for
b2 being
Nat holds
( ( 1
<= b2 &
b2 < width b1 implies
h_strip b1,
b2 = { |[b3,b4]| where B is Real, B is Real : ( (b1 * 1,b2) `2 <= b4 & b4 <= (b1 * 1,(b2 + 1)) `2 ) } ) & (
b2 >= width b1 implies
h_strip b1,
b2 = { |[b3,b4]| where B is Real, B is Real : (b1 * 1,b2) `2 <= b4 } ) & ( ( not 1
<= b2 or not
b2 < width b1 ) & not
b2 >= width b1 implies
h_strip b1,
b2 = { |[b3,b4]| where B is Real, B is Real : b4 <= (b1 * 1,(b2 + 1)) `2 } ) );
theorem Th2: :: GOBOARD5:2
theorem Th3: :: GOBOARD5:3
theorem Th4: :: GOBOARD5:4
theorem Th5: :: GOBOARD5:5
theorem Th6: :: GOBOARD5:6
theorem Th7: :: GOBOARD5:7
theorem Th8: :: GOBOARD5:8
theorem Th9: :: GOBOARD5:9
theorem Th10: :: GOBOARD5:10
theorem Th11: :: GOBOARD5:11
:: deftheorem Def3 defines cell GOBOARD5:def 3 :
:: deftheorem Def4 defines s.c.c. GOBOARD5:def 4 :
:: deftheorem Def5 defines standard GOBOARD5:def 5 :
Lemma15:
for b1 being FinSequence of (TOP-REAL 2) holds dom (X_axis b1) = dom b1
Lemma16:
for b1 being FinSequence of (TOP-REAL 2) holds dom (Y_axis b1) = dom b1
theorem Th12: :: GOBOARD5:12
theorem Th13: :: GOBOARD5:13
definition
let c1 be
standard special_circular_sequence;
let c2 be
Nat;
assume E19:
( 1
<= c2 &
c2 + 1
<= len c1 )
;
c2 <= c2 + 1
by NAT_1:29;
then
c2 <= len c1
by E19, XREAL_1:2;
then E20:
c2 in dom c1
by E19, FINSEQ_3:27;
then consider c3,
c4 being
Nat such that E21:
(
[c3,c4] in Indices (GoB c1) &
c1 /. c2 = (GoB c1) * c3,
c4 )
by Th12;
c2 + 1
>= 1
by NAT_1:29;
then E22:
c2 + 1
in dom c1
by E19, FINSEQ_3:27;
then consider c5,
c6 being
Nat such that E23:
(
[c5,c6] in Indices (GoB c1) &
c1 /. (c2 + 1) = (GoB c1) * c5,
c6 )
by Th12;
E24:
(abs (c3 - c5)) + (abs (c4 - c6)) = 1
by E20, E21, E22, E23, Th13;
func right_cell c1,
c2 -> Subset of
(TOP-REAL 2) means :
Def6:
:: GOBOARD5:def 6
for
b1,
b2,
b3,
b4 being
Nat st
[b1,b2] in Indices (GoB a1) &
[b3,b4] in Indices (GoB a1) &
a1 /. a2 = (GoB a1) * b1,
b2 &
a1 /. (a2 + 1) = (GoB a1) * b3,
b4 & not (
b1 = b3 &
b2 + 1
= b4 &
a3 = cell (GoB a1),
b1,
b2 ) & not (
b1 + 1
= b3 &
b2 = b4 &
a3 = cell (GoB a1),
b1,
(b2 -' 1) ) & not (
b1 = b3 + 1 &
b2 = b4 &
a3 = cell (GoB a1),
b3,
b4 ) holds
(
b1 = b3 &
b2 = b4 + 1 &
a3 = cell (GoB a1),
(b1 -' 1),
b4 );
existence
ex b1 being Subset of (TOP-REAL 2) st
for b2, b3, b4, b5 being Nat st [b2,b3] in Indices (GoB c1) & [b4,b5] in Indices (GoB c1) & c1 /. c2 = (GoB c1) * b2,b3 & c1 /. (c2 + 1) = (GoB c1) * b4,b5 & not ( b2 = b4 & b3 + 1 = b5 & b1 = cell (GoB c1),b2,b3 ) & not ( b2 + 1 = b4 & b3 = b5 & b1 = cell (GoB c1),b2,(b3 -' 1) ) & not ( b2 = b4 + 1 & b3 = b5 & b1 = cell (GoB c1),b4,b5 ) holds
( b2 = b4 & b3 = b5 + 1 & b1 = cell (GoB c1),(b2 -' 1),b5 )
uniqueness
for b1, b2 being Subset of (TOP-REAL 2) st ( for b3, b4, b5, b6 being Nat st [b3,b4] in Indices (GoB c1) & [b5,b6] in Indices (GoB c1) & c1 /. c2 = (GoB c1) * b3,b4 & c1 /. (c2 + 1) = (GoB c1) * b5,b6 & not ( b3 = b5 & b4 + 1 = b6 & b1 = cell (GoB c1),b3,b4 ) & not ( b3 + 1 = b5 & b4 = b6 & b1 = cell (GoB c1),b3,(b4 -' 1) ) & not ( b3 = b5 + 1 & b4 = b6 & b1 = cell (GoB c1),b5,b6 ) holds
( b3 = b5 & b4 = b6 + 1 & b1 = cell (GoB c1),(b3 -' 1),b6 ) ) & ( for b3, b4, b5, b6 being Nat st [b3,b4] in Indices (GoB c1) & [b5,b6] in Indices (GoB c1) & c1 /. c2 = (GoB c1) * b3,b4 & c1 /. (c2 + 1) = (GoB c1) * b5,b6 & not ( b3 = b5 & b4 + 1 = b6 & b2 = cell (GoB c1),b3,b4 ) & not ( b3 + 1 = b5 & b4 = b6 & b2 = cell (GoB c1),b3,(b4 -' 1) ) & not ( b3 = b5 + 1 & b4 = b6 & b2 = cell (GoB c1),b5,b6 ) holds
( b3 = b5 & b4 = b6 + 1 & b2 = cell (GoB c1),(b3 -' 1),b6 ) ) holds
b1 = b2
func left_cell c1,
c2 -> Subset of
(TOP-REAL 2) means :
Def7:
:: GOBOARD5:def 7
for
b1,
b2,
b3,
b4 being
Nat st
[b1,b2] in Indices (GoB a1) &
[b3,b4] in Indices (GoB a1) &
a1 /. a2 = (GoB a1) * b1,
b2 &
a1 /. (a2 + 1) = (GoB a1) * b3,
b4 & not (
b1 = b3 &
b2 + 1
= b4 &
a3 = cell (GoB a1),
(b1 -' 1),
b2 ) & not (
b1 + 1
= b3 &
b2 = b4 &
a3 = cell (GoB a1),
b1,
b2 ) & not (
b1 = b3 + 1 &
b2 = b4 &
a3 = cell (GoB a1),
b3,
(b4 -' 1) ) holds
(
b1 = b3 &
b2 = b4 + 1 &
a3 = cell (GoB a1),
b1,
b4 );
existence
ex b1 being Subset of (TOP-REAL 2) st
for b2, b3, b4, b5 being Nat st [b2,b3] in Indices (GoB c1) & [b4,b5] in Indices (GoB c1) & c1 /. c2 = (GoB c1) * b2,b3 & c1 /. (c2 + 1) = (GoB c1) * b4,b5 & not ( b2 = b4 & b3 + 1 = b5 & b1 = cell (GoB c1),(b2 -' 1),b3 ) & not ( b2 + 1 = b4 & b3 = b5 & b1 = cell (GoB c1),b2,b3 ) & not ( b2 = b4 + 1 & b3 = b5 & b1 = cell (GoB c1),b4,(b5 -' 1) ) holds
( b2 = b4 & b3 = b5 + 1 & b1 = cell (GoB c1),b2,b5 )
uniqueness
for b1, b2 being Subset of (TOP-REAL 2) st ( for b3, b4, b5, b6 being Nat st [b3,b4] in Indices (GoB c1) & [b5,b6] in Indices (GoB c1) & c1 /. c2 = (GoB c1) * b3,b4 & c1 /. (c2 + 1) = (GoB c1) * b5,b6 & not ( b3 = b5 & b4 + 1 = b6 & b1 = cell (GoB c1),(b3 -' 1),b4 ) & not ( b3 + 1 = b5 & b4 = b6 & b1 = cell (GoB c1),b3,b4 ) & not ( b3 = b5 + 1 & b4 = b6 & b1 = cell (GoB c1),b5,(b6 -' 1) ) holds
( b3 = b5 & b4 = b6 + 1 & b1 = cell (GoB c1),b3,b6 ) ) & ( for b3, b4, b5, b6 being Nat st [b3,b4] in Indices (GoB c1) & [b5,b6] in Indices (GoB c1) & c1 /. c2 = (GoB c1) * b3,b4 & c1 /. (c2 + 1) = (GoB c1) * b5,b6 & not ( b3 = b5 & b4 + 1 = b6 & b2 = cell (GoB c1),(b3 -' 1),b4 ) & not ( b3 + 1 = b5 & b4 = b6 & b2 = cell (GoB c1),b3,b4 ) & not ( b3 = b5 + 1 & b4 = b6 & b2 = cell (GoB c1),b5,(b6 -' 1) ) holds
( b3 = b5 & b4 = b6 + 1 & b2 = cell (GoB c1),b3,b6 ) ) holds
b1 = b2
end;
:: deftheorem Def6 defines right_cell GOBOARD5:def 6 :
for
b1 being
standard special_circular_sequence for
b2 being
Nat st 1
<= b2 &
b2 + 1
<= len b1 holds
for
b3 being
Subset of
(TOP-REAL 2) holds
(
b3 = right_cell b1,
b2 iff for
b4,
b5,
b6,
b7 being
Nat st
[b4,b5] in Indices (GoB b1) &
[b6,b7] in Indices (GoB b1) &
b1 /. b2 = (GoB b1) * b4,
b5 &
b1 /. (b2 + 1) = (GoB b1) * b6,
b7 & not (
b4 = b6 &
b5 + 1
= b7 &
b3 = cell (GoB b1),
b4,
b5 ) & not (
b4 + 1
= b6 &
b5 = b7 &
b3 = cell (GoB b1),
b4,
(b5 -' 1) ) & not (
b4 = b6 + 1 &
b5 = b7 &
b3 = cell (GoB b1),
b6,
b7 ) holds
(
b4 = b6 &
b5 = b7 + 1 &
b3 = cell (GoB b1),
(b4 -' 1),
b7 ) );
:: deftheorem Def7 defines left_cell GOBOARD5:def 7 :
for
b1 being
standard special_circular_sequence for
b2 being
Nat st 1
<= b2 &
b2 + 1
<= len b1 holds
for
b3 being
Subset of
(TOP-REAL 2) holds
(
b3 = left_cell b1,
b2 iff for
b4,
b5,
b6,
b7 being
Nat st
[b4,b5] in Indices (GoB b1) &
[b6,b7] in Indices (GoB b1) &
b1 /. b2 = (GoB b1) * b4,
b5 &
b1 /. (b2 + 1) = (GoB b1) * b6,
b7 & not (
b4 = b6 &
b5 + 1
= b7 &
b3 = cell (GoB b1),
(b4 -' 1),
b5 ) & not (
b4 + 1
= b6 &
b5 = b7 &
b3 = cell (GoB b1),
b4,
b5 ) & not (
b4 = b6 + 1 &
b5 = b7 &
b3 = cell (GoB b1),
b6,
(b7 -' 1) ) holds
(
b4 = b6 &
b5 = b7 + 1 &
b3 = cell (GoB b1),
b4,
b7 ) );
theorem Th14: :: GOBOARD5:14
theorem Th15: :: GOBOARD5:15
theorem Th16: :: GOBOARD5:16
theorem Th17: :: GOBOARD5:17
theorem Th18: :: GOBOARD5:18
theorem Th19: :: GOBOARD5:19
theorem Th20: :: GOBOARD5:20
theorem Th21: :: GOBOARD5:21
theorem Th22: :: GOBOARD5:22
theorem Th23: :: GOBOARD5:23
theorem Th24: :: GOBOARD5:24
theorem Th25: :: GOBOARD5:25
theorem Th26: :: GOBOARD5:26
theorem Th27: :: GOBOARD5:27
theorem Th28: :: GOBOARD5:28
for
b1,
b2,
b3 being
Nat for
b4 being
standard special_circular_sequence st 1
<= b1 &
b1 + 1
<= len b4 &
[(b2 + 1),b3] in Indices (GoB b4) &
[(b2 + 1),(b3 + 1)] in Indices (GoB b4) &
b4 /. b1 = (GoB b4) * (b2 + 1),
b3 &
b4 /. (b1 + 1) = (GoB b4) * (b2 + 1),
(b3 + 1) holds
(
left_cell b4,
b1 = cell (GoB b4),
b2,
b3 &
right_cell b4,
b1 = cell (GoB b4),
(b2 + 1),
b3 )
theorem Th29: :: GOBOARD5:29
for
b1,
b2,
b3 being
Nat for
b4 being
standard special_circular_sequence st 1
<= b1 &
b1 + 1
<= len b4 &
[b2,(b3 + 1)] in Indices (GoB b4) &
[(b2 + 1),(b3 + 1)] in Indices (GoB b4) &
b4 /. b1 = (GoB b4) * b2,
(b3 + 1) &
b4 /. (b1 + 1) = (GoB b4) * (b2 + 1),
(b3 + 1) holds
(
left_cell b4,
b1 = cell (GoB b4),
b2,
(b3 + 1) &
right_cell b4,
b1 = cell (GoB b4),
b2,
b3 )
theorem Th30: :: GOBOARD5:30
for
b1,
b2,
b3 being
Nat for
b4 being
standard special_circular_sequence st 1
<= b1 &
b1 + 1
<= len b4 &
[b2,(b3 + 1)] in Indices (GoB b4) &
[(b2 + 1),(b3 + 1)] in Indices (GoB b4) &
b4 /. b1 = (GoB b4) * (b2 + 1),
(b3 + 1) &
b4 /. (b1 + 1) = (GoB b4) * b2,
(b3 + 1) holds
(
left_cell b4,
b1 = cell (GoB b4),
b2,
b3 &
right_cell b4,
b1 = cell (GoB b4),
b2,
(b3 + 1) )
theorem Th31: :: GOBOARD5:31
for
b1,
b2,
b3 being
Nat for
b4 being
standard special_circular_sequence st 1
<= b1 &
b1 + 1
<= len b4 &
[(b2 + 1),(b3 + 1)] in Indices (GoB b4) &
[(b2 + 1),b3] in Indices (GoB b4) &
b4 /. b1 = (GoB b4) * (b2 + 1),
(b3 + 1) &
b4 /. (b1 + 1) = (GoB b4) * (b2 + 1),
b3 holds
(
left_cell b4,
b1 = cell (GoB b4),
(b2 + 1),
b3 &
right_cell b4,
b1 = cell (GoB b4),
b2,
b3 )
theorem Th32: :: GOBOARD5:32