Article RADIX_6, MML version 4.99.1005
:: RADIX_6:th 1
theorem
for b1 being natural set
st 1 <= b1
for b2, b3 being natural set
st 1 <= b2 & 2 <= b3
holds SDDec Fmin(b2 + b1,b2,b3) = SDDec Fmin(b2,b2,b3);
:: RADIX_6:th 2
theorem
for b1, b2 being natural set
st 1 <= b1 & 2 <= b2
holds 0 < SDDec Fmin(b1,b1,b2);
:: RADIX_6:funcnot 1 => RADIX_6:func 1
definition
let a1, a2, a3 be natural set;
let a4 be Element of (a2 + 2) -tuples_on (a3 -SD);
assume a1 in Seg (a2 + 2);
func M0Digit(A4,A1) -> Element of a3 -SD equals
a4 . a1
if a2 <= a1
otherwise case a1 < a2;
thus 0;
end;
;
end;
:: RADIX_6:def 1
theorem
for b1, b2, b3 being natural set
for b4 being Element of (b2 + 2) -tuples_on (b3 -SD)
st b1 in Seg (b2 + 2)
holds (b2 <= b1 implies M0Digit(b4,b1) = b4 . b1) & (b2 <= b1 or M0Digit(b4,b1) = 0);
:: RADIX_6:funcnot 2 => RADIX_6:func 2
definition
let a1, a2 be natural set;
let a3 be Element of (a1 + 2) -tuples_on (a2 -SD);
func M0 A3 -> Element of (a1 + 2) -tuples_on (a2 -SD) means
for b1 being natural set
st b1 in Seg (a1 + 2)
holds DigA(it,b1) = M0Digit(a3,b1);
end;
:: RADIX_6:def 2
theorem
for b1, b2 being natural set
for b3, b4 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
b4 = M0 b3
iff
for b5 being natural set
st b5 in Seg (b1 + 2)
holds DigA(b4,b5) = M0Digit(b3,b5);
:: RADIX_6:funcnot 3 => RADIX_6:func 3
definition
let a1, a2, a3 be natural set;
let a4 be Element of (a2 + 2) -tuples_on (a3 -SD);
assume 2 <= a3 & a1 in Seg (a2 + 2);
func MmaxDigit(A4,A1) -> Element of a3 -SD equals
a4 . a1
if a2 <= a1
otherwise case a1 < a2;
thus (Radix a3) - 1;
end;
;
end;
:: RADIX_6:def 3
theorem
for b1, b2, b3 being natural set
for b4 being Element of (b2 + 2) -tuples_on (b3 -SD)
st 2 <= b3 & b1 in Seg (b2 + 2)
holds (b2 <= b1 implies MmaxDigit(b4,b1) = b4 . b1) &
(b2 <= b1 or MmaxDigit(b4,b1) = (Radix b3) - 1);
:: RADIX_6:funcnot 4 => RADIX_6:func 4
definition
let a1, a2 be natural set;
let a3 be Element of (a1 + 2) -tuples_on (a2 -SD);
func Mmax A3 -> Element of (a1 + 2) -tuples_on (a2 -SD) means
for b1 being natural set
st b1 in Seg (a1 + 2)
holds DigA(it,b1) = MmaxDigit(a3,b1);
end;
:: RADIX_6:def 4
theorem
for b1, b2 being natural set
for b3, b4 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
b4 = Mmax b3
iff
for b5 being natural set
st b5 in Seg (b1 + 2)
holds DigA(b4,b5) = MmaxDigit(b3,b5);
:: RADIX_6:funcnot 5 => RADIX_6:func 5
definition
let a1, a2, a3 be natural set;
let a4 be Element of (a2 + 2) -tuples_on (a3 -SD);
assume 2 <= a3 & a1 in Seg (a2 + 2);
func MminDigit(A4,A1) -> Element of a3 -SD equals
a4 . a1
if a2 <= a1
otherwise case a1 < a2;
thus (- Radix a3) + 1;
end;
;
end;
:: RADIX_6:def 5
theorem
for b1, b2, b3 being natural set
for b4 being Element of (b2 + 2) -tuples_on (b3 -SD)
st 2 <= b3 & b1 in Seg (b2 + 2)
holds (b2 <= b1 implies MminDigit(b4,b1) = b4 . b1) &
(b2 <= b1 or MminDigit(b4,b1) = (- Radix b3) + 1);
:: RADIX_6:funcnot 6 => RADIX_6:func 6
definition
let a1, a2 be natural set;
let a3 be Element of (a1 + 2) -tuples_on (a2 -SD);
func Mmin A3 -> Element of (a1 + 2) -tuples_on (a2 -SD) means
for b1 being natural set
st b1 in Seg (a1 + 2)
holds DigA(it,b1) = MminDigit(a3,b1);
end;
:: RADIX_6:def 6
theorem
for b1, b2 being natural set
for b3, b4 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
b4 = Mmin b3
iff
for b5 being natural set
st b5 in Seg (b1 + 2)
holds DigA(b4,b5) = MminDigit(b3,b5);
:: RADIX_6:th 3
theorem
for b1, b2 being natural set
st 1 <= b1 & 2 <= b2
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
SDDec b3 <= SDDec Mmax b3;
:: RADIX_6:th 4
theorem
for b1, b2 being natural set
st 1 <= b1 & 2 <= b2
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
SDDec Mmin b3 <= SDDec b3;
:: RADIX_6:prednot 1 => RADIX_6:pred 1
definition
let a1, a2 be natural set;
let a3 be integer set;
pred A3 needs_digits_of A1,A2 means
a3 < (Radix a2) |^ a1 & (Radix a2) |^ (a1 -' 1) <= a3;
end;
:: RADIX_6:dfs 7
definiens
let a1, a2 be natural set;
let a3 be integer set;
To prove
a3 needs_digits_of a1,a2
it is sufficient to prove
thus a3 < (Radix a2) |^ a1 & (Radix a2) |^ (a1 -' 1) <= a3;
:: RADIX_6:def 7
theorem
for b1, b2 being natural set
for b3 being integer set holds
b3 needs_digits_of b1,b2
iff
b3 < (Radix b2) |^ b1 & (Radix b2) |^ (b1 -' 1) <= b3;
:: RADIX_6:th 5
theorem
for b1, b2, b3, b4 being natural set
st b4 in Seg b2
holds 0 <= DigA(DecSD(b1,b2,b3),b4);
:: RADIX_6:th 6
theorem
for b1, b2, b3 being natural set
st 1 <= b1 & 2 <= b2 & b3 needs_digits_of b1,b2
holds 0 < DigA(DecSD(b3,b1,b2),b1);
:: RADIX_6:th 7
theorem
for b1, b2, b3 being natural set
st 1 <= b2 & 2 <= b3 & b1 needs_digits_of b2,b3
holds SDDec Fmin(b2 + 2,b2,b3) <= b1;
:: RADIX_6:th 8
theorem
for b1, b2, b3 being integer set
st b2 < b1 + b3 & 0 < b3
holds ex b4 being integer set st
- b3 < b1 - (b4 * b3) & b2 - (b4 * b3) < b3;
:: RADIX_6:th 9
theorem
for b1, b2 being natural set
st 1 <= b1 & 2 <= b2
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
(SDDec Mmax b3) + SDDec DecSD(0,b1 + 2,b2) = (SDDec M0 b3) + SDDec SDMax(b1 + 2,b1,b2);
:: RADIX_6:th 10
theorem
for b1, b2 being natural set
st 1 <= b1 & 2 <= b2
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
SDDec Mmax b3 < (SDDec M0 b3) + SDDec Fmin(b1 + 2,b1,b2);
:: RADIX_6:th 11
theorem
for b1, b2 being natural set
st 1 <= b1 & 2 <= b2
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
(SDDec Mmin b3) + SDDec DecSD(0,b1 + 2,b2) = (SDDec M0 b3) + SDDec SDMin(b1 + 2,b1,b2);
:: RADIX_6:th 12
theorem
for b1, b2 being natural set
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD)
st 1 <= b1 & 2 <= b2
holds (SDDec M0 b3) + SDDec DecSD(0,b1 + 2,b2) = (SDDec Mmin b3) + SDDec SDMax(b1 + 2,b1,b2);
:: RADIX_6:th 13
theorem
for b1, b2 being natural set
st 1 <= b1 & 2 <= b2
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
SDDec M0 b3 < (SDDec Mmin b3) + SDDec Fmin(b1 + 2,b1,b2);
:: RADIX_6:th 14
theorem
for b1, b2, b3 being natural set
for b4 being Element of (b1 + 2) -tuples_on (b2 -SD)
st 1 <= b1 & 2 <= b2 & b3 needs_digits_of b1,b2
holds ex b5 being integer set st
- b3 < (SDDec M0 b4) - (b5 * b3) &
(SDDec Mmax b4) - (b5 * b3) < b3;
:: RADIX_6:th 15
theorem
for b1, b2, b3 being natural set
for b4 being Element of (b1 + 2) -tuples_on (b2 -SD)
st 1 <= b1 & 2 <= b2 & b3 needs_digits_of b1,b2
holds ex b5 being integer set st
- b3 < (SDDec Mmin b4) - (b5 * b3) &
(SDDec M0 b4) - (b5 * b3) < b3;
:: RADIX_6:th 16
theorem
for b1, b2 being natural set
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD)
st 1 <= b1 &
2 <= b2 &
(SDDec M0 b3 <= SDDec b3 implies SDDec Mmax b3 < SDDec b3)
holds SDDec Mmin b3 <= SDDec b3 & SDDec b3 < SDDec M0 b3;
:: RADIX_6:funcnot 7 => RADIX_6:func 7
definition
let a1, a2, a3 be natural set;
let a4 be Element of (a2 + 2) -tuples_on (a3 -SD);
assume a1 in Seg (a2 + 2);
func MmaskDigit(A4,A1) -> Element of a3 -SD equals
a4 . a1
if a1 < a2
otherwise case a2 <= a1;
thus 0;
end;
;
end;
:: RADIX_6:def 8
theorem
for b1, b2, b3 being natural set
for b4 being Element of (b2 + 2) -tuples_on (b3 -SD)
st b1 in Seg (b2 + 2)
holds (b2 <= b1 or MmaskDigit(b4,b1) = b4 . b1) & (b2 <= b1 implies MmaskDigit(b4,b1) = 0);
:: RADIX_6:funcnot 8 => RADIX_6:func 8
definition
let a1, a2 be natural set;
let a3 be Element of (a1 + 2) -tuples_on (a2 -SD);
func Mmask A3 -> Element of (a1 + 2) -tuples_on (a2 -SD) means
for b1 being natural set
st b1 in Seg (a1 + 2)
holds DigA(it,b1) = MmaskDigit(a3,b1);
end;
:: RADIX_6:def 9
theorem
for b1, b2 being natural set
for b3, b4 being Element of (b1 + 2) -tuples_on (b2 -SD) holds
b4 = Mmask b3
iff
for b5 being natural set
st b5 in Seg (b1 + 2)
holds DigA(b4,b5) = MmaskDigit(b3,b5);
:: RADIX_6:th 17
theorem
for b1, b2 being natural set
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD)
st 1 <= b1 & 2 <= b2
holds (SDDec M0 b3) + SDDec Mmask b3 = (SDDec b3) + SDDec DecSD(0,b1 + 2,b2);
:: RADIX_6:th 18
theorem
for b1, b2 being natural set
for b3 being Element of (b1 + 2) -tuples_on (b2 -SD)
st 1 <= b1 & 2 <= b2 & 0 < SDDec Mmask b3
holds SDDec M0 b3 < SDDec b3;
:: RADIX_6:funcnot 9 => RADIX_6:func 9
definition
let a1, a2, a3 be natural set;
assume 2 <= a3;
func FSDMinDigit(A2,A3,A1) -> Element of a3 -SD equals
0
if a2 < a1,
1
if a1 = a2
otherwise (- Radix a3) + 1;
end;
:: RADIX_6:def 10
theorem
for b1, b2, b3 being natural set
st 2 <= b3
holds (b1 <= b2 or FSDMinDigit(b2,b3,b1) = 0) &
(b1 = b2 implies FSDMinDigit(b2,b3,b1) = 1) &
(b1 <= b2 & b1 <> b2 implies FSDMinDigit(b2,b3,b1) = (- Radix b3) + 1);
:: RADIX_6:funcnot 10 => RADIX_6:func 10
definition
let a1, a2, a3 be natural set;
func FSDMin(A1,A2,A3) -> Element of a1 -tuples_on (a3 -SD) means
for b1 being natural set
st b1 in Seg a1
holds DigA(it,b1) = FSDMinDigit(a2,a3,b1);
end;
:: RADIX_6:def 11
theorem
for b1, b2, b3 being natural set
for b4 being Element of b1 -tuples_on (b3 -SD) holds
b4 = FSDMin(b1,b2,b3)
iff
for b5 being natural set
st b5 in Seg b1
holds DigA(b4,b5) = FSDMinDigit(b2,b3,b5);
:: RADIX_6:th 19
theorem
for b1 being natural set
st 1 <= b1
for b2, b3 being natural set
st b2 in Seg b1 & 2 <= b3
holds SDDec FSDMin(b1,b2,b3) = 1;
:: RADIX_6:prednot 2 => RADIX_6:pred 2
definition
let a1, a2, a3 be natural set;
let a4 be Element of (a2 + 2) -tuples_on (a3 -SD);
pred A4 is_Zero_over A1 means
for b1 being natural set
st a1 < b1
holds DigA(a4,b1) = 0;
end;
:: RADIX_6:dfs 12
definiens
let a1, a2, a3 be natural set;
let a4 be Element of (a2 + 2) -tuples_on (a3 -SD);
To prove
a4 is_Zero_over a1
it is sufficient to prove
thus for b1 being natural set
st a1 < b1
holds DigA(a4,b1) = 0;
:: RADIX_6:def 12
theorem
for b1, b2, b3 being natural set
for b4 being Element of (b2 + 2) -tuples_on (b3 -SD) holds
b4 is_Zero_over b1
iff
for b5 being natural set
st b1 < b5
holds DigA(b4,b5) = 0;
:: RADIX_6:th 20
theorem
for b1 being natural set
st 1 <= b1
for b2, b3 being natural set
for b4 being Element of (b1 + 2) -tuples_on (b3 -SD)
st 2 <= b3 & b2 in Seg (b1 + 2) & Mmask b4 is_Zero_over b2 & 0 < DigA(Mmask b4,b2)
holds 0 < SDDec Mmask b4;