let mym, myp be Element of REAL ; :: thesis: ( mym = 1 & myp = - 1 implies (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) = RAT )
assume A: ( mym = 1 & myp = - 1 ) ; :: thesis: (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) = RAT
for x being object holds
( x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) iff x in RAT )
proof
let x be object ; :: thesis: ( x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) iff x in RAT )
B1: ( x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) implies x in RAT )
proof
assume x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) ; :: thesis: x in RAT
per cases then ( x in Union (GoCross_Union mym) or x in Union (GoCross_Union myp) ) by XBOOLE_0:def 3;
suppose x in Union (GoCross_Union mym) ; :: thesis: x in RAT
then consider k being Nat such that
D1: x in (GoCross_Union mym) . k by PROB_1:12;
per cases ( k = 0 or k > 0 ) ;
suppose k = 0 ; :: thesis: x in RAT
then x in Union (GoCross_Partial_Union (mym,0)) by D1, Def6;
then consider k2 being Nat such that
E1: x in (GoCross_Partial_Union (mym,0)) . k2 by PROB_1:12;
per cases ( k2 = 0 or k2 > 0 ) ;
suppose k2 > 0 ; :: thesis: x in RAT
then consider n being Nat such that
H1: k2 = n + 1 by NAT_1:6;
x in ((GoCross_Partial_Union (mym,0)) . n) \/ ((GoCross_Seq_REAL (mym,0)) . (n + 1)) by E1, H1, Def5;
per cases then ( x in (GoCross_Partial_Union (mym,0)) . n or x in (GoCross_Seq_REAL (mym,0)) . (n + 1) ) by XBOOLE_0:def 3;
suppose H1: x in (GoCross_Partial_Union (mym,0)) . n ; :: thesis: x in RAT
defpred S1[ Nat] means ( x in (GoCross_Partial_Union (mym,0)) . $1 implies x in RAT );
x in RAT
proof
J0: S1[ 0 ] J1: for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume K1: S1[n] ; :: thesis: S1[n + 1]
assume x in (GoCross_Partial_Union (mym,0)) . (n + 1) ; :: thesis: x in RAT
then x in ((GoCross_Partial_Union (mym,0)) . n) \/ ((GoCross_Seq_REAL (mym,0)) . (n + 1)) by Def5;
end;
for n being Nat holds S1[n] from NAT_1:sch 2(J0, J1);
hence x in RAT by H1; :: thesis: verum
end;
hence x in RAT ; :: thesis: verum
end;
suppose x in (GoCross_Seq_REAL (mym,0)) . (n + 1) ; :: thesis: x in RAT
then x in {((mym * 0) * (((n + 1) + 1) "))} by Def4;
then x in INT by INT_1:def 1;
hence x in RAT by NUMBERS:14; :: thesis: verum
end;
end;
end;
end;
end;
suppose k > 0 ; :: thesis: x in RAT
then consider kh being Nat such that
H1: k = kh + 1 by NAT_1:6;
x in ((GoCross_Union mym) . kh) \/ (Union (GoCross_Partial_Union (mym,(kh + 1)))) by D1, H1, Def6;
per cases then ( x in (GoCross_Union mym) . kh or x in Union (GoCross_Partial_Union (mym,(kh + 1))) ) by XBOOLE_0:def 3;
suppose J00: x in (GoCross_Union mym) . kh ; :: thesis: x in RAT
defpred S1[ Nat] means ( x in (GoCross_Union mym) . $1 implies x in RAT );
J0: S1[ 0 ]
proof
assume x in (GoCross_Union mym) . 0 ; :: thesis: x in RAT
then x in Union (GoCross_Partial_Union (mym,0)) by Def6;
then consider k2 being Nat such that
E1: x in (GoCross_Partial_Union (mym,0)) . k2 by PROB_1:12;
per cases ( k2 = 0 or k2 > 0 ) ;
suppose k2 > 0 ; :: thesis: x in RAT
then consider n being Nat such that
H1: k2 = n + 1 by NAT_1:6;
x in ((GoCross_Partial_Union (mym,0)) . n) \/ ((GoCross_Seq_REAL (mym,0)) . (n + 1)) by E1, H1, Def5;
per cases then ( x in (GoCross_Partial_Union (mym,0)) . n or x in (GoCross_Seq_REAL (mym,0)) . (n + 1) ) by XBOOLE_0:def 3;
suppose H1: x in (GoCross_Partial_Union (mym,0)) . n ; :: thesis: x in RAT
defpred S2[ Nat] means ( x in (GoCross_Partial_Union (mym,0)) . $1 implies x in RAT );
J0: S2[ 0 ] J1: for n being Nat st S2[n] holds
S2[n + 1]
proof
let n be Nat; :: thesis: ( S2[n] implies S2[n + 1] )
assume K1: S2[n] ; :: thesis: S2[n + 1]
assume x in (GoCross_Partial_Union (mym,0)) . (n + 1) ; :: thesis: x in RAT
then x in ((GoCross_Partial_Union (mym,0)) . n) \/ ((GoCross_Seq_REAL (mym,0)) . (n + 1)) by Def5;
end;
for n being Nat holds S2[n] from NAT_1:sch 2(J0, J1);
hence x in RAT by H1; :: thesis: verum
end;
suppose x in (GoCross_Seq_REAL (mym,0)) . (n + 1) ; :: thesis: x in RAT
then x in {((mym * 0) * (((n + 1) + 1) "))} by Def4;
then x in INT by INT_1:def 1;
hence x in RAT by NUMBERS:14; :: thesis: verum
end;
end;
end;
end;
end;
J1: for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume K0000: S1[n] ; :: thesis: S1[n + 1]
( x in (GoCross_Union mym) . (n + 1) implies x in RAT )
proof
assume x in (GoCross_Union mym) . (n + 1) ; :: thesis: x in RAT
then x in ((GoCross_Union mym) . n) \/ (Union (GoCross_Partial_Union (mym,(n + 1)))) by Def6;
per cases then ( x in (GoCross_Union mym) . n or x in Union (GoCross_Partial_Union (mym,(n + 1))) ) by XBOOLE_0:def 3;
suppose x in Union (GoCross_Partial_Union (mym,(n + 1))) ; :: thesis: x in RAT
then consider k being Nat such that
H1: x in (GoCross_Partial_Union (mym,(n + 1))) . k by PROB_1:12;
defpred S2[ Nat] means ( x in (GoCross_Partial_Union (mym,(n + 1))) . $1 implies x in RAT );
J0: S2[ 0 ]
proof
assume x in (GoCross_Partial_Union (mym,(n + 1))) . 0 ; :: thesis: x in RAT
then x in (GoCross_Seq_REAL (mym,(n + 1))) . 0 by Def5;
then x in {((mym * (n + 1)) * ((0 + 1) "))} by Def4;
then x = 1 * (n + 1) by TARSKI:def 1, A;
hence x in RAT by NUMBERS:17, NUMBERS:14; :: thesis: verum
end;
J1: for k being Nat st S2[k] holds
S2[k + 1]
proof
let k be Nat; :: thesis: ( S2[k] implies S2[k + 1] )
assume K0: S2[k] ; :: thesis: S2[k + 1]
set o = n + 1;
set o2 = k + 2;
set o3 = k + 1;
( x in (GoCross_Partial_Union (mym,(n + 1))) . (k + 1) implies x in RAT )
proof
assume x in (GoCross_Partial_Union (mym,(n + 1))) . (k + 1) ; :: thesis: x in RAT
then x in ((GoCross_Partial_Union (mym,(n + 1))) . k) \/ ((GoCross_Seq_REAL (mym,(n + 1))) . (k + 1)) by Def5;
per cases then ( x in (GoCross_Partial_Union (mym,(n + 1))) . k or x in (GoCross_Seq_REAL (mym,(n + 1))) . (k + 1) ) by XBOOLE_0:def 3;
suppose x in (GoCross_Seq_REAL (mym,(n + 1))) . (k + 1) ; :: thesis: x in RAT
then x in {((mym * (n + 1)) * (((k + 1) + 1) "))} by Def4;
then OZ: x = (n + 1) * ((k + 2) ") by TARSKI:def 1, A;
reconsider o2 = k + 2, o = n + 1 as Element of INT by NUMBERS:17;
o / o2 is Element of RAT by RAT_1:def 1;
hence x in RAT by OZ; :: thesis: verum
end;
end;
end;
hence S2[k + 1] ; :: thesis: verum
end;
for k being Nat holds S2[k] from NAT_1:sch 2(J0, J1);
hence x in RAT by H1; :: thesis: verum
end;
end;
end;
hence S1[n + 1] ; :: thesis: verum
end;
for n being Nat holds S1[n] from NAT_1:sch 2(J0, J1);
hence x in RAT by J00; :: thesis: verum
end;
suppose x in Union (GoCross_Partial_Union (mym,(kh + 1))) ; :: thesis: x in RAT
then consider q being Nat such that
JK0: x in (GoCross_Partial_Union (mym,(kh + 1))) . q by PROB_1:12;
defpred S1[ Nat] means ( x in (GoCross_Partial_Union (mym,(kh + 1))) . $1 implies x in RAT );
J0: S1[ 0 ]
proof
assume x in (GoCross_Partial_Union (mym,(kh + 1))) . 0 ; :: thesis: x in RAT
then x in (GoCross_Seq_REAL (mym,(kh + 1))) . 0 by Def5;
then x in {((mym * (kh + 1)) * ((0 + 1) "))} by Def4;
then x = (mym * (kh + 1)) * (1 ") by TARSKI:def 1;
hence x in RAT by A, NUMBERS:17, NUMBERS:14; :: thesis: verum
end;
J1: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume K0: S1[k] ; :: thesis: S1[k + 1]
set o = kh + 1;
set o2 = k + 2;
set o3 = k + 1;
( x in (GoCross_Partial_Union (mym,(kh + 1))) . (k + 1) implies x in RAT )
proof
assume x in (GoCross_Partial_Union (mym,(kh + 1))) . (k + 1) ; :: thesis: x in RAT
then x in ((GoCross_Partial_Union (mym,(kh + 1))) . k) \/ ((GoCross_Seq_REAL (mym,(kh + 1))) . (k + 1)) by Def5;
per cases then ( x in (GoCross_Partial_Union (mym,(kh + 1))) . k or x in (GoCross_Seq_REAL (mym,(kh + 1))) . (k + 1) ) by XBOOLE_0:def 3;
suppose x in (GoCross_Seq_REAL (mym,(kh + 1))) . (k + 1) ; :: thesis: x in RAT
then x in {((mym * (kh + 1)) * (((k + 1) + 1) "))} by Def4;
then OZ: x = (kh + 1) * ((k + 2) ") by TARSKI:def 1, A;
reconsider o2 = k + 2, o = kh + 1 as Element of INT by NUMBERS:17;
o / o2 is Element of RAT by RAT_1:def 1;
hence x in RAT by OZ; :: thesis: verum
end;
end;
end;
hence S1[k + 1] ; :: thesis: verum
end;
for k being Nat holds S1[k] from NAT_1:sch 2(J0, J1);
hence x in RAT by JK0; :: thesis: verum
end;
end;
end;
end;
end;
suppose x in Union (GoCross_Union myp) ; :: thesis: x in RAT
then consider k being Nat such that
D1: x in (GoCross_Union myp) . k by PROB_1:12;
per cases ( k = 0 or k > 0 ) ;
suppose k = 0 ; :: thesis: x in RAT
then x in Union (GoCross_Partial_Union (myp,0)) by D1, Def6;
then consider k2 being Nat such that
E1: x in (GoCross_Partial_Union (myp,0)) . k2 by PROB_1:12;
per cases ( k2 = 0 or k2 > 0 ) ;
suppose k2 > 0 ; :: thesis: x in RAT
then consider n being Nat such that
H1: k2 = n + 1 by NAT_1:6;
x in ((GoCross_Partial_Union (myp,0)) . n) \/ ((GoCross_Seq_REAL (myp,0)) . (n + 1)) by E1, H1, Def5;
per cases then ( x in (GoCross_Partial_Union (myp,0)) . n or x in (GoCross_Seq_REAL (myp,0)) . (n + 1) ) by XBOOLE_0:def 3;
suppose H1: x in (GoCross_Partial_Union (myp,0)) . n ; :: thesis: x in RAT
defpred S1[ Nat] means ( x in (GoCross_Partial_Union (myp,0)) . $1 implies x in RAT );
J0: S1[ 0 ] x in RAT
proof
J1: for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume K1: S1[n] ; :: thesis: S1[n + 1]
assume x in (GoCross_Partial_Union (myp,0)) . (n + 1) ; :: thesis: x in RAT
then x in ((GoCross_Partial_Union (myp,0)) . n) \/ ((GoCross_Seq_REAL (myp,0)) . (n + 1)) by Def5;
end;
for n being Nat holds S1[n] from NAT_1:sch 2(J0, J1);
hence x in RAT by H1; :: thesis: verum
end;
hence x in RAT ; :: thesis: verum
end;
suppose x in (GoCross_Seq_REAL (myp,0)) . (n + 1) ; :: thesis: x in RAT
then x in {((myp * 0) * (((n + 1) + 1) "))} by Def4;
then x in INT by INT_1:def 1;
hence x in RAT by NUMBERS:14; :: thesis: verum
end;
end;
end;
end;
end;
suppose k > 0 ; :: thesis: x in RAT
then consider kh being Nat such that
H1: k = kh + 1 by NAT_1:6;
x in ((GoCross_Union myp) . kh) \/ (Union (GoCross_Partial_Union (myp,(kh + 1)))) by D1, H1, Def6;
per cases then ( x in (GoCross_Union myp) . kh or x in Union (GoCross_Partial_Union (myp,(kh + 1))) ) by XBOOLE_0:def 3;
suppose J00: x in (GoCross_Union myp) . kh ; :: thesis: x in RAT
defpred S1[ Nat] means ( x in (GoCross_Union myp) . $1 implies x in RAT );
J0: S1[ 0 ]
proof
assume x in (GoCross_Union myp) . 0 ; :: thesis: x in RAT
then x in Union (GoCross_Partial_Union (myp,0)) by Def6;
then consider k2 being Nat such that
E1: x in (GoCross_Partial_Union (myp,0)) . k2 by PROB_1:12;
per cases ( k2 = 0 or k2 > 0 ) ;
suppose k2 > 0 ; :: thesis: x in RAT
then consider n being Nat such that
H1: k2 = n + 1 by NAT_1:6;
x in ((GoCross_Partial_Union (myp,0)) . n) \/ ((GoCross_Seq_REAL (myp,0)) . (n + 1)) by E1, H1, Def5;
per cases then ( x in (GoCross_Partial_Union (myp,0)) . n or x in (GoCross_Seq_REAL (myp,0)) . (n + 1) ) by XBOOLE_0:def 3;
suppose H1: x in (GoCross_Partial_Union (myp,0)) . n ; :: thesis: x in RAT
x in RAT
proof
defpred S2[ Nat] means ( x in (GoCross_Partial_Union (myp,0)) . $1 implies x in RAT );
J0: S2[ 0 ] J1: for n being Nat st S2[n] holds
S2[n + 1]
proof
let n be Nat; :: thesis: ( S2[n] implies S2[n + 1] )
assume K1: S2[n] ; :: thesis: S2[n + 1]
assume x in (GoCross_Partial_Union (myp,0)) . (n + 1) ; :: thesis: x in RAT
then x in ((GoCross_Partial_Union (myp,0)) . n) \/ ((GoCross_Seq_REAL (myp,0)) . (n + 1)) by Def5;
end;
for n being Nat holds S2[n] from NAT_1:sch 2(J0, J1);
hence x in RAT by H1; :: thesis: verum
end;
hence x in RAT ; :: thesis: verum
end;
suppose x in (GoCross_Seq_REAL (myp,0)) . (n + 1) ; :: thesis: x in RAT
then x in {((myp * 0) * (((n + 1) + 1) "))} by Def4;
then x in INT by INT_1:def 1;
hence x in RAT by NUMBERS:14; :: thesis: verum
end;
end;
end;
end;
end;
J1: for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume K0000: S1[n] ; :: thesis: S1[n + 1]
( x in (GoCross_Union myp) . (n + 1) implies x in RAT )
proof
assume x in (GoCross_Union myp) . (n + 1) ; :: thesis: x in RAT
then x in ((GoCross_Union myp) . n) \/ (Union (GoCross_Partial_Union (myp,(n + 1)))) by Def6;
per cases then ( x in (GoCross_Union myp) . n or x in Union (GoCross_Partial_Union (myp,(n + 1))) ) by XBOOLE_0:def 3;
suppose x in Union (GoCross_Partial_Union (myp,(n + 1))) ; :: thesis: x in RAT
then consider k being Nat such that
H1: x in (GoCross_Partial_Union (myp,(n + 1))) . k by PROB_1:12;
defpred S2[ Nat] means ( x in (GoCross_Partial_Union (myp,(n + 1))) . $1 implies x in RAT );
J0: S2[ 0 ]
proof
assume x in (GoCross_Partial_Union (myp,(n + 1))) . 0 ; :: thesis: x in RAT
then x in (GoCross_Seq_REAL (myp,(n + 1))) . 0 by Def5;
then x in {((myp * (n + 1)) * ((0 + 1) "))} by Def4;
then HH: x = - (1 * (n + 1)) by TARSKI:def 1, A;
- (n + 1) is Element of INT by INT_1:def 1;
hence x in RAT by HH, NUMBERS:14; :: thesis: verum
end;
J1: for k being Nat st S2[k] holds
S2[k + 1]
proof
let k be Nat; :: thesis: ( S2[k] implies S2[k + 1] )
assume K0: S2[k] ; :: thesis: S2[k + 1]
( x in (GoCross_Partial_Union (myp,(n + 1))) . (k + 1) implies x in RAT )
proof
assume x in (GoCross_Partial_Union (myp,(n + 1))) . (k + 1) ; :: thesis: x in RAT
then x in ((GoCross_Partial_Union (myp,(n + 1))) . k) \/ ((GoCross_Seq_REAL (myp,(n + 1))) . (k + 1)) by Def5;
per cases then ( x in (GoCross_Partial_Union (myp,(n + 1))) . k or x in (GoCross_Seq_REAL (myp,(n + 1))) . (k + 1) ) by XBOOLE_0:def 3;
suppose x in (GoCross_Seq_REAL (myp,(n + 1))) . (k + 1) ; :: thesis: x in RAT
then x in {((myp * (n + 1)) * (((k + 1) + 1) "))} by Def4;
hence x in RAT by A, RAT_1:def 2; :: thesis: verum
end;
end;
end;
hence S2[k + 1] ; :: thesis: verum
end;
for k being Nat holds S2[k] from NAT_1:sch 2(J0, J1);
hence x in RAT by H1; :: thesis: verum
end;
end;
end;
hence S1[n + 1] ; :: thesis: verum
end;
for n being Nat holds S1[n] from NAT_1:sch 2(J0, J1);
hence x in RAT by J00; :: thesis: verum
end;
suppose x in Union (GoCross_Partial_Union (myp,(kh + 1))) ; :: thesis: x in RAT
then consider q being Nat such that
JK0: x in (GoCross_Partial_Union (myp,(kh + 1))) . q by PROB_1:12;
defpred S1[ Nat] means ( x in (GoCross_Partial_Union (myp,(kh + 1))) . $1 implies x in RAT );
J0: S1[ 0 ]
proof
assume x in (GoCross_Partial_Union (myp,(kh + 1))) . 0 ; :: thesis: x in RAT
then x in (GoCross_Seq_REAL (myp,(kh + 1))) . 0 by Def5;
then x in {((myp * (kh + 1)) * ((0 + 1) "))} by Def4;
then HH: x = - (kh + 1) by TARSKI:def 1, A;
- (kh + 1) in INT by INT_1:def 1;
hence x in RAT by HH, NUMBERS:14; :: thesis: verum
end;
J1: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume K0: S1[k] ; :: thesis: S1[k + 1]
set o3 = k + 1;
( x in (GoCross_Partial_Union (myp,(kh + 1))) . (k + 1) implies x in RAT )
proof
assume x in (GoCross_Partial_Union (myp,(kh + 1))) . (k + 1) ; :: thesis: x in RAT
then x in ((GoCross_Partial_Union (myp,(kh + 1))) . k) \/ ((GoCross_Seq_REAL (myp,(kh + 1))) . (k + 1)) by Def5;
per cases then ( x in (GoCross_Partial_Union (myp,(kh + 1))) . k or x in (GoCross_Seq_REAL (myp,(kh + 1))) . (k + 1) ) by XBOOLE_0:def 3;
suppose x in (GoCross_Seq_REAL (myp,(kh + 1))) . (k + 1) ; :: thesis: x in RAT
then x in {((myp * (kh + 1)) * (((k + 1) + 1) "))} by Def4;
hence x in RAT by A, RAT_1:def 2; :: thesis: verum
end;
end;
end;
hence S1[k + 1] ; :: thesis: verum
end;
for k being Nat holds S1[k] from NAT_1:sch 2(J0, J1);
hence x in RAT by JK0; :: thesis: verum
end;
end;
end;
end;
end;
end;
end;
( x in RAT implies x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) )
proof
assume x in RAT ; :: thesis: x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp))
then reconsider x = x as Rational ;
consider m being Integer, k being Nat such that
C0: ( k > 0 & x = m / k ) by RAT_1:8;
consider m2 being Nat such that
C2: ( m = m2 or m = - m2 ) by INT_1:2;
per cases ( m = m2 or m = - m2 ) by C2;
suppose S1: m = m2 ; :: thesis: x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp))
consider q2 being Nat such that
F2: q2 = k - 1 by C0;
G1: x in (GoCross_Seq_REAL (mym,m2)) . q2
proof
(GoCross_Seq_REAL (mym,m2)) . q2 = {((1 * m2) * ((q2 + 1) "))} by Def4, A;
hence x in (GoCross_Seq_REAL (mym,m2)) . q2 by C0, S1, F2, TARSKI:def 1; :: thesis: verum
end;
G2: x in (GoCross_Partial_Union (mym,m2)) . q2
proof
per cases ( q2 = 0 or q2 > 0 ) ;
suppose q2 > 0 ; :: thesis: x in (GoCross_Partial_Union (mym,m2)) . q2
then consider q3 being Nat such that
F2: q3 = q2 - 1 ;
x in (GoCross_Partial_Union (mym,m2)) . q2
proof
(GoCross_Partial_Union (mym,m2)) . (q3 + 1) = ((GoCross_Partial_Union (mym,m2)) . q3) \/ ((GoCross_Seq_REAL (mym,m2)) . (q3 + 1)) by Def5;
hence x in (GoCross_Partial_Union (mym,m2)) . q2 by F2, G1, XBOOLE_0:def 3; :: thesis: verum
end;
hence x in (GoCross_Partial_Union (mym,m2)) . q2 ; :: thesis: verum
end;
end;
end;
x in (GoCross_Union mym) . m2
proof
per cases ( m2 = 0 or m2 > 0 ) ;
suppose m2 > 0 ; :: thesis: x in (GoCross_Union mym) . m2
then consider m3 being Nat such that
F2: m3 = m2 - 1 ;
I2: ( x in (GoCross_Union mym) . m3 or x in Union (GoCross_Partial_Union (mym,(m3 + 1))) ) by F2, G2, PROB_1:12;
x in (GoCross_Union mym) . m2
proof
(GoCross_Union mym) . (m3 + 1) = ((GoCross_Union mym) . m3) \/ (Union (GoCross_Partial_Union (mym,(m3 + 1)))) by Def6;
hence x in (GoCross_Union mym) . m2 by I2, XBOOLE_0:def 3, F2; :: thesis: verum
end;
hence x in (GoCross_Union mym) . m2 ; :: thesis: verum
end;
end;
end;
then x in Union (GoCross_Union mym) by PROB_1:12;
hence x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) by XBOOLE_0:def 3; :: thesis: verum
end;
suppose S1: m = - m2 ; :: thesis: x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp))
consider q2 being Nat such that
F2: q2 = k - 1 by C0;
G1: x in (GoCross_Seq_REAL (myp,m2)) . q2
proof
(GoCross_Seq_REAL (myp,m2)) . q2 = {(((- 1) * m2) * ((q2 + 1) "))} by Def4, A;
hence x in (GoCross_Seq_REAL (myp,m2)) . q2 by C0, S1, F2, TARSKI:def 1; :: thesis: verum
end;
G2: x in (GoCross_Partial_Union (myp,m2)) . q2
proof
per cases ( q2 = 0 or q2 > 0 ) ;
suppose q2 > 0 ; :: thesis: x in (GoCross_Partial_Union (myp,m2)) . q2
then consider q3 being Nat such that
F2: q3 = q2 - 1 ;
x in (GoCross_Partial_Union (myp,m2)) . q2
proof
(GoCross_Partial_Union (myp,m2)) . (q3 + 1) = ((GoCross_Partial_Union (myp,m2)) . q3) \/ ((GoCross_Seq_REAL (myp,m2)) . (q3 + 1)) by Def5;
hence x in (GoCross_Partial_Union (myp,m2)) . q2 by F2, G1, XBOOLE_0:def 3; :: thesis: verum
end;
hence x in (GoCross_Partial_Union (myp,m2)) . q2 ; :: thesis: verum
end;
end;
end;
x in (GoCross_Union myp) . m2
proof
per cases ( m2 = 0 or m2 > 0 ) ;
suppose m2 > 0 ; :: thesis: x in (GoCross_Union myp) . m2
then consider m3 being Nat such that
F2: m3 = m2 - 1 ;
I2: ( x in (GoCross_Union myp) . m3 or x in Union (GoCross_Partial_Union (myp,(m3 + 1))) ) by F2, G2, PROB_1:12;
x in (GoCross_Union myp) . m2
proof
(GoCross_Union myp) . (m3 + 1) = ((GoCross_Union myp) . m3) \/ (Union (GoCross_Partial_Union (myp,(m3 + 1)))) by Def6;
hence x in (GoCross_Union myp) . m2 by I2, XBOOLE_0:def 3, F2; :: thesis: verum
end;
hence x in (GoCross_Union myp) . m2 ; :: thesis: verum
end;
end;
end;
then ( x in Union (GoCross_Union mym) or x in Union (GoCross_Union myp) ) by PROB_1:12;
hence x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) by XBOOLE_0:def 3; :: thesis: verum
end;
end;
end;
hence ( x in (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) iff x in RAT ) by B1; :: thesis: verum
end;
hence (Union (GoCross_Union mym)) \/ (Union (GoCross_Union myp)) = RAT ; :: thesis: verum