Article ARYTM_2, MML version 4.99.1005
:: ARYTM_2:funcnot 1 => ARYTM_2:func 1
definition
func DEDEKIND_CUTS -> Element of bool bool RAT+ equals
{b1 where b1 is Element of bool RAT+: for b2 being Element of RAT+
st b2 in b1
holds (for b3 being Element of RAT+
st b3 <=' b2
holds b3 in b1) &
(ex b3 being Element of RAT+ st
b3 in b1 & b2 < b3)} \ {RAT+};
end;
:: ARYTM_2:def 1
theorem
DEDEKIND_CUTS = {b1 where b1 is Element of bool RAT+: for b2 being Element of RAT+
st b2 in b1
holds (for b3 being Element of RAT+
st b3 <=' b2
holds b3 in b1) &
(ex b3 being Element of RAT+ st
b3 in b1 & b2 < b3)} \ {RAT+};
:: ARYTM_2:funcreg 1
registration
cluster DEDEKIND_CUTS -> non empty;
end;
:: ARYTM_2:funcnot 2 => ARYTM_2:func 2
definition
func REAL+ -> set equals
(RAT+ \/ DEDEKIND_CUTS) \ {{b2 where b2 is Element of RAT+: b2 < b1} where b1 is Element of RAT+: b1 <> {}};
end;
:: ARYTM_2:def 2
theorem
REAL+ = (RAT+ \/ DEDEKIND_CUTS) \ {{b2 where b2 is Element of RAT+: b2 < b1} where b1 is Element of RAT+: b1 <> {}};
:: ARYTM_2:th 1
theorem
RAT+ c= REAL+;
:: ARYTM_2:th 2
theorem
omega c= REAL+;
:: ARYTM_2:funcreg 2
registration
cluster REAL+ -> non empty;
end;
:: ARYTM_2:funcnot 3 => ARYTM_2:func 3
definition
let a1 be Element of REAL+;
func DEDEKIND_CUT A1 -> Element of DEDEKIND_CUTS means
ex b1 being Element of RAT+ st
a1 = b1 & it = {b2 where b2 is Element of RAT+: b2 < b1}
if a1 in RAT+
otherwise it = a1;
end;
:: ARYTM_2:def 3
theorem
for b1 being Element of REAL+
for b2 being Element of DEDEKIND_CUTS holds
(b1 in RAT+ implies (b2 = DEDEKIND_CUT b1
iff
ex b3 being Element of RAT+ st
b1 = b3 & b2 = {b4 where b4 is Element of RAT+: b4 < b3})) &
(b1 in RAT+ or (b2 = DEDEKIND_CUT b1
iff
b2 = b1));
:: ARYTM_2:th 3
theorem
for b1 being set holds
not [{},b1] in REAL+;
:: ARYTM_2:funcnot 4 => ARYTM_2:func 4
definition
let a1 be Element of DEDEKIND_CUTS;
func GLUED A1 -> Element of REAL+ means
ex b1 being Element of RAT+ st
it = b1 &
(for b2 being Element of RAT+ holds
b2 in a1
iff
b2 < b1)
if ex b1 being Element of RAT+ st
for b2 being Element of RAT+ holds
b2 in a1
iff
b2 < b1
otherwise it = a1;
end;
:: ARYTM_2:def 4
theorem
for b1 being Element of DEDEKIND_CUTS
for b2 being Element of REAL+ holds
(for b3 being Element of RAT+ holds
ex b4 being Element of RAT+ st
(b4 in b1 & b3 <=' b4 or b4 < b3 & not b4 in b1) or (b2 = GLUED b1
iff
ex b3 being Element of RAT+ st
b2 = b3 &
(for b4 being Element of RAT+ holds
b4 in b1
iff
b4 < b3))) &
(for b3 being Element of RAT+ holds
ex b4 being Element of RAT+ st
(b4 in b1 & b3 <=' b4 or b4 < b3 & not b4 in b1) implies (b2 = GLUED b1
iff
b2 = b1));
:: ARYTM_2:prednot 1 => ARYTM_2:pred 1
definition
let a1, a2 be Element of REAL+;
pred A1 <=' A2 means
ex b1, b2 being Element of RAT+ st
a1 = b1 & a2 = b2 & b1 <=' b2
if a1 in RAT+ & a2 in RAT+,
a1 in a2
if a1 in RAT+ & not a2 in RAT+,
not a2 in a1
if not a1 in RAT+ & a2 in RAT+
otherwise a1 c= a2;
connectedness;
:: for a1, a2 being Element of REAL+
:: st a2 < a1
:: holds a2 <=' a1;
end;
:: ARYTM_2:dfs 5
definiens
let a1, a2 be Element of REAL+;
To prove
a1 <=' a2
it is sufficient to prove
per cases;
case a1 in RAT+ & a2 in RAT+;
thus ex b1, b2 being Element of RAT+ st
a1 = b1 & a2 = b2 & b1 <=' b2;
end;
case a1 in RAT+ & not a2 in RAT+;
thus a1 in a2;
end;
case not a1 in RAT+ & a2 in RAT+;
thus not a2 in a1;
end;
case (a1 in RAT+ implies not a2 in RAT+) & (a1 in RAT+ implies a2 in RAT+) & (not a1 in RAT+ implies not a2 in RAT+);
thus a1 c= a2;
end;
:: ARYTM_2:def 5
theorem
for b1, b2 being Element of REAL+ holds
(b1 in RAT+ & b2 in RAT+ implies (b1 <=' b2
iff
ex b3, b4 being Element of RAT+ st
b1 = b3 & b2 = b4 & b3 <=' b4)) &
(b1 in RAT+ & not b2 in RAT+ implies (b1 <=' b2
iff
b1 in b2)) &
(not b1 in RAT+ & b2 in RAT+ implies (b1 <=' b2
iff
not b2 in b1)) &
((b1 in RAT+ implies not b2 in RAT+) & (b1 in RAT+ implies b2 in RAT+) & (not b1 in RAT+ implies not b2 in RAT+) implies (b1 <=' b2
iff
b1 c= b2));
:: ARYTM_2:prednot 2 => not ARYTM_2:pred 1
notation
let a1, a2 be Element of REAL+;
antonym a2 < a1 for a1 <=' a2;
end;
:: ARYTM_2:funcnot 5 => ARYTM_2:func 5
definition
let a1, a2 be Element of DEDEKIND_CUTS;
func A1 + A2 -> Element of DEDEKIND_CUTS equals
{b1 + b2 where b1 is Element of RAT+, b2 is Element of RAT+: b1 in a1 & b2 in a2};
commutativity;
:: for a1, a2 being Element of DEDEKIND_CUTS holds
:: a1 + a2 = a2 + a1;
end;
:: ARYTM_2:def 6
theorem
for b1, b2 being Element of DEDEKIND_CUTS holds
b1 + b2 = {b3 + b4 where b3 is Element of RAT+, b4 is Element of RAT+: b3 in b1 & b4 in b2};
:: ARYTM_2:funcnot 6 => ARYTM_2:func 6
definition
let a1, a2 be Element of DEDEKIND_CUTS;
func A1 *' A2 -> Element of DEDEKIND_CUTS equals
{b1 *' b2 where b1 is Element of RAT+, b2 is Element of RAT+: b1 in a1 & b2 in a2};
commutativity;
:: for a1, a2 being Element of DEDEKIND_CUTS holds
:: a1 *' a2 = a2 *' a1;
end;
:: ARYTM_2:def 7
theorem
for b1, b2 being Element of DEDEKIND_CUTS holds
b1 *' b2 = {b3 *' b4 where b3 is Element of RAT+, b4 is Element of RAT+: b3 in b1 & b4 in b2};
:: ARYTM_2:funcnot 7 => ARYTM_2:func 7
definition
let a1, a2 be Element of REAL+;
func A1 + A2 -> Element of REAL+ equals
a1
if a2 = {},
a2
if a1 = {}
otherwise GLUED ((DEDEKIND_CUT a1) + DEDEKIND_CUT a2);
commutativity;
:: for a1, a2 being Element of REAL+ holds
:: a1 + a2 = a2 + a1;
end;
:: ARYTM_2:def 8
theorem
for b1, b2 being Element of REAL+ holds
(b2 = {} implies b1 + b2 = b1) &
(b1 = {} implies b1 + b2 = b2) &
(b2 <> {} & b1 <> {} implies b1 + b2 = GLUED ((DEDEKIND_CUT b1) + DEDEKIND_CUT b2));
:: ARYTM_2:funcnot 8 => ARYTM_2:func 8
definition
let a1, a2 be Element of REAL+;
func A1 *' A2 -> Element of REAL+ equals
GLUED ((DEDEKIND_CUT a1) *' DEDEKIND_CUT a2);
commutativity;
:: for a1, a2 being Element of REAL+ holds
:: a1 *' a2 = a2 *' a1;
end;
:: ARYTM_2:def 9
theorem
for b1, b2 being Element of REAL+ holds
b1 *' b2 = GLUED ((DEDEKIND_CUT b1) *' DEDEKIND_CUT b2);
:: ARYTM_2:th 4
theorem
for b1, b2 being Element of REAL+
st b1 = {}
holds b1 *' b2 = {};
:: ARYTM_2:th 6
theorem
for b1, b2 being Element of REAL+
st b1 + b2 = {}
holds b1 = {};
:: ARYTM_2:th 7
theorem
for b1, b2, b3 being Element of REAL+ holds
b1 + (b2 + b3) = (b1 + b2) + b3;
:: ARYTM_2:th 8
theorem
{b1 where b1 is Element of bool RAT+: for b2 being Element of RAT+
st b2 in b1
holds (for b3 being Element of RAT+
st b3 <=' b2
holds b3 in b1) &
(ex b3 being Element of RAT+ st
b3 in b1 & b2 < b3)} is c=-linear;
:: ARYTM_2:th 9
theorem
for b1, b2 being Element of bool REAL+
st (ex b3 being Element of REAL+ st
b3 in b1) &
(ex b3 being Element of REAL+ st
b3 in b2) &
(for b3, b4 being Element of REAL+
st b3 in b1 & b4 in b2
holds b3 <=' b4)
holds ex b3 being Element of REAL+ st
for b4, b5 being Element of REAL+
st b4 in b1 & b5 in b2
holds b4 <=' b3 & b3 <=' b5;
:: ARYTM_2:th 10
theorem
for b1, b2 being Element of REAL+
st b1 <=' b2
holds ex b3 being Element of REAL+ st
b1 + b3 = b2;
:: ARYTM_2:th 11
theorem
for b1, b2 being Element of REAL+ holds
ex b3 being Element of REAL+ st
(b1 + b3 = b2 or b2 + b3 = b1);
:: ARYTM_2:th 12
theorem
for b1, b2, b3 being Element of REAL+
st b1 + b2 = b1 + b3
holds b2 = b3;
:: ARYTM_2:th 13
theorem
for b1, b2, b3 being Element of REAL+ holds
b1 *' (b2 *' b3) = (b1 *' b2) *' b3;
:: ARYTM_2:th 14
theorem
for b1, b2, b3 being Element of REAL+ holds
b1 *' (b2 + b3) = (b1 *' b2) + (b1 *' b3);
:: ARYTM_2:th 15
theorem
for b1 being Element of REAL+
st b1 <> {}
holds ex b2 being Element of REAL+ st
b1 *' b2 = one;
:: ARYTM_2:th 16
theorem
for b1, b2 being Element of REAL+
st b1 = one
holds b1 *' b2 = b2;
:: ARYTM_2:th 17
theorem
for b1, b2 being Element of REAL+
st b1 in omega & b2 in omega
holds b2 + b1 in omega;
:: ARYTM_2:th 18
theorem
for b1 being Element of bool REAL+
st {} in b1 &
(for b2, b3 being Element of REAL+
st b2 in b1 & b3 = one
holds b2 + b3 in b1)
holds omega c= b1;
:: ARYTM_2:th 19
theorem
for b1 being Element of REAL+
st b1 in omega
for b2 being Element of REAL+ holds
b2 in b1
iff
b2 in omega & b2 <> b1 & b2 <=' b1;
:: ARYTM_2:th 20
theorem
for b1, b2, b3 being Element of REAL+
st b1 = b2 + b3
holds b3 <=' b1;
:: ARYTM_2:th 21
theorem
{} in REAL+ & one in REAL+;
:: ARYTM_2:th 22
theorem
for b1, b2 being Element of REAL+
st b1 in RAT+ & b2 in RAT+
holds ex b3, b4 being Element of RAT+ st
b1 = b3 & b2 = b4 & b1 *' b2 = b3 *' b4;