Article GOBRD10, MML version 4.99.1005
:: GOBRD10:prednot 1 => GOBRD10:pred 1
definition
let a1, a2 be Element of NAT;
pred A1,A2 are_adjacent1 means
(a2 <> a1 + 1) implies a1 = a2 + 1;
symmetry;
:: for a1, a2 being Element of NAT
:: st a1,a2 are_adjacent1
:: holds a2,a1 are_adjacent1;
irreflexivity;
:: for a1 being Element of NAT holds
:: not a1,a1 are_adjacent1;
end;
:: GOBRD10:dfs 1
definiens
let a1, a2 be Element of NAT;
To prove
a1,a2 are_adjacent1
it is sufficient to prove
thus (a2 <> a1 + 1) implies a1 = a2 + 1;
:: GOBRD10:def 1
theorem
for b1, b2 being Element of NAT holds
b1,b2 are_adjacent1
iff
(b2 = b1 + 1 or b1 = b2 + 1);
:: GOBRD10:th 1
theorem
for b1, b2 being Element of NAT
st b1,b2 are_adjacent1
holds b1 + 1,b2 + 1 are_adjacent1;
:: GOBRD10:th 2
theorem
for b1, b2 being Element of NAT
st b1,b2 are_adjacent1 & 1 <= b1 & 1 <= b2
holds b1 -' 1,b2 -' 1 are_adjacent1;
:: GOBRD10:prednot 2 => GOBRD10:pred 2
definition
let a1, a2, a3, a4 be Element of NAT;
pred A1,A2,A3,A4 are_adjacent2 means
((a1,a3 are_adjacent1 implies a2 <> a4)) implies a1 = a3 & a2,a4 are_adjacent1;
end;
:: GOBRD10:dfs 2
definiens
let a1, a2, a3, a4 be Element of NAT;
To prove
a1,a2,a3,a4 are_adjacent2
it is sufficient to prove
thus ((a1,a3 are_adjacent1 implies a2 <> a4)) implies a1 = a3 & a2,a4 are_adjacent1;
:: GOBRD10:def 2
theorem
for b1, b2, b3, b4 being Element of NAT holds
b1,b2,b3,b4 are_adjacent2
iff
(b1,b3 are_adjacent1 & b2 = b4 or b1 = b3 & b2,b4 are_adjacent1);
:: GOBRD10:th 3
theorem
for b1, b2, b3, b4 being Element of NAT
st b1,b3,b2,b4 are_adjacent2
holds b1 + 1,b3 + 1,b2 + 1,b4 + 1 are_adjacent2;
:: GOBRD10:th 4
theorem
for b1, b2, b3, b4 being Element of NAT
st b1,b3,b2,b4 are_adjacent2 & 1 <= b1 & 1 <= b2 & 1 <= b3 & 1 <= b4
holds b1 -' 1,b3 -' 1,b2 -' 1,b4 -' 1 are_adjacent2;
:: GOBRD10:funcnot 1 => GOBRD10:func 1
definition
let a1, a2 be Element of NAT;
redefine func A1 |-> A2 -> FinSequence of NAT means
len it = a1 &
(for b1 being Element of NAT
st 1 <= b1 & b1 <= a1
holds it . b1 = a2);
end;
:: GOBRD10:def 3
theorem
for b1, b2 being Element of NAT
for b3 being FinSequence of NAT holds
b3 = b1 |-> b2
iff
len b3 = b1 &
(for b4 being Element of NAT
st 1 <= b4 & b4 <= b1
holds b3 . b4 = b2);
:: GOBRD10:th 6
theorem
for b1, b2, b3 being Element of NAT
st b2 <= b1 & b3 <= b1
holds ex b4 being FinSequence of NAT st
b4 . 1 = b2 &
b4 . len b4 = b3 &
len b4 = ((b2 -' b3) + (b3 -' b2)) + 1 &
(for b5, b6 being Element of NAT
st 1 <= b5 & b5 <= len b4 & b6 = b4 . b5
holds b6 <= b1) &
(for b5 being Element of NAT
st 1 <= b5 &
b5 < len b4 &
b4 . (b5 + 1) <> (b4 /. b5) + 1
holds b4 . b5 = (b4 /. (b5 + 1)) + 1);
:: GOBRD10:th 7
theorem
for b1, b2, b3 being Element of NAT
st b2 <= b1 & b3 <= b1
holds ex b4 being FinSequence of NAT st
b4 . 1 = b2 &
b4 . len b4 = b3 &
len b4 = ((b2 -' b3) + (b3 -' b2)) + 1 &
(for b5, b6 being Element of NAT
st 1 <= b5 & b5 <= len b4 & b6 = b4 . b5
holds b6 <= b1) &
(for b5 being Element of NAT
st 1 <= b5 & b5 < len b4
holds b4 /. b5,b4 /. (b5 + 1) are_adjacent1);
:: GOBRD10:th 8
theorem
for b1, b2, b3, b4, b5, b6 being Element of NAT
st b3 <= b1 & b4 <= b2 & b5 <= b1 & b6 <= b2
holds ex b7, b8 being FinSequence of NAT st
(for b9, b10, b11 being Element of NAT
st b9 in dom b7 & b10 = b7 . b9 & b11 = b8 . b9
holds b10 <= b1 & b11 <= b2) &
b7 . 1 = b3 &
b7 . len b7 = b5 &
b8 . 1 = b4 &
b8 . len b8 = b6 &
len b7 = len b8 &
len b7 = ((((b3 -' b5) + (b5 -' b3)) + (b4 -' b6)) + (b6 -' b4)) + 1 &
(for b9 being Element of NAT
st 1 <= b9 & b9 < len b7
holds b7 /. b9,b8 /. b9,b7 /. (b9 + 1),b8 /. (b9 + 1) are_adjacent2);
:: GOBRD10:th 9
theorem
for b1, b2 being Element of NAT
for b3 being set
for b4 being Element of bool b3
for b5 being Matrix of b1,b2,bool b3
st (ex b6, b7 being Element of NAT st
b6 in Seg b1 & b7 in Seg b2 & b5 *(b6,b7) c= b4) &
(for b6, b7, b8, b9 being Element of NAT
st b6 in Seg b1 & b8 in Seg b1 & b7 in Seg b2 & b9 in Seg b2 & b6,b7,b8,b9 are_adjacent2
holds b5 *(b6,b7) c= b4
iff
b5 *(b8,b9) c= b4)
for b6, b7 being Element of NAT
st b6 in Seg b1 & b7 in Seg b2
holds b5 *(b6,b7) c= b4;