:: NAT_1 semantic presentation
theorem Th1: :: NAT_1:1
canceled;
theorem Th2: :: NAT_1:2
for b
1 being
Subset of
REAL holds
( 0
in b
1 & ( for b
2 being
Real holds
( b
2 in b
1 implies b
2 + 1
in b
1 ) ) implies for b
2 being
Nat holds b
2 in b
1 )
theorem Th3: :: NAT_1:3
canceled;
theorem Th4: :: NAT_1:4
canceled;
theorem Th5: :: NAT_1:5
canceled;
theorem Th6: :: NAT_1:6
canceled;
theorem Th7: :: NAT_1:7
canceled;
theorem Th8: :: NAT_1:8
canceled;
theorem Th9: :: NAT_1:9
canceled;
theorem Th10: :: NAT_1:10
canceled;
theorem Th11: :: NAT_1:11
canceled;
theorem Th12: :: NAT_1:12
canceled;
theorem Th13: :: NAT_1:13
canceled;
theorem Th14: :: NAT_1:14
canceled;
theorem Th15: :: NAT_1:15
canceled;
theorem Th16: :: NAT_1:16
canceled;
theorem Th17: :: NAT_1:17
canceled;
theorem Th18: :: NAT_1:18
theorem Th19: :: NAT_1:19
theorem Th20: :: NAT_1:20
theorem Th21: :: NAT_1:21
theorem Th22: :: NAT_1:22
for b
1 being
natural number holds
not ( not b
1 = 0 & ( for b
2 being
Nat holds
not b
1 = b
2 + 1 ) )
theorem Th23: :: NAT_1:23
scheme :: NAT_1:sch 3
s3{ F
1()
-> Nat, F
2(
Nat,
Nat)
-> Nat, P
1[
Nat,
Nat] } :
( ( for b
1 being
Nat holds
ex b
2 being
Nat st P
1[b
1,b
2] ) & ( for b
1, b
2, b
3 being
Nat holds
( P
1[b
1,b
2] & P
1[b
1,b
3] implies b
2 = b
3 ) ) )
provided
E6:
for b
1, b
2 being
Nat holds
( P
1[b
1,b
2] iff not ( not ( b
1 = 0 & b
2 = F
1() ) & ( for b
3, b
4 being
Nat holds
not ( b
1 = b
3 + 1 & P
1[b
3,b
4] & b
2 = F
2(b
1,b
4) ) ) ) )
theorem Th24: :: NAT_1:24
canceled;
theorem Th25: :: NAT_1:25
canceled;
theorem Th26: :: NAT_1:26
theorem Th27: :: NAT_1:27
theorem Th28: :: NAT_1:28
for b
1, b
2 being
natural number holds
not ( b
1 <= b
2 & ( for b
3 being
Nat holds
not b
2 = b
1 + b
3 ) )
theorem Th29: :: NAT_1:29
scheme :: NAT_1:sch 4
s4{ P
1[
Nat] } :
for b
1 being
Nat holds P
1[b
1]
provided
E9:
for b
1 being
Nat holds
( ( for b
2 being
Nat holds
( b
2 < b
1 implies P
1[b
2] ) ) implies P
1[b
1] )
scheme :: NAT_1:sch 6
s6{ P
1[
Nat], F
1()
-> Nat } :
ex b
1 being
Nat st
( P
1[b
1] & ( for b
2 being
Nat holds
( P
1[b
2] implies b
2 <= b
1 ) ) )
provided
E9:
for b
1 being
Nat holds
( P
1[b
1] implies b
1 <= F
1() )
and
E10:
ex b
1 being
Nat st P
1[b
1]
theorem Th30: :: NAT_1:30
canceled;
theorem Th31: :: NAT_1:31
canceled;
theorem Th32: :: NAT_1:32
canceled;
theorem Th33: :: NAT_1:33
canceled;
theorem Th34: :: NAT_1:34
canceled;
theorem Th35: :: NAT_1:35
canceled;
theorem Th36: :: NAT_1:36
canceled;
theorem Th37: :: NAT_1:37
theorem Th38: :: NAT_1:38
theorem Th39: :: NAT_1:39
theorem Th40: :: NAT_1:40
theorem Th41: :: NAT_1:41
scheme :: NAT_1:sch 7
s7{ P
1[
Nat] } :
provided
E14:
ex b
1 being
Nat st P
1[b
1]
and
E15:
for b
1 being
Nat holds
not ( b
1 <> 0 & P
1[b
1] & ( for b
2 being
Nat holds
not ( b
2 < b
1 & P
1[b
2] ) ) )
theorem Th42: :: NAT_1:42
for b
1 being
Nat holds
( 0
< b
1 implies for b
2 being
Nat holds
ex b
3, b
4 being
Nat st
( b
2 = (b1 * b3) + b
4 & b
4 < b
1 ) )
theorem Th43: :: NAT_1:43
for b
1, b
2, b
3, b
4, b
5, b
6 being
natural number holds
( b
1 = (b2 * b3) + b
5 & b
5 < b
2 & b
1 = (b2 * b4) + b
6 & b
6 < b
2 implies ( b
3 = b
4 & b
5 = b
6 ) )
definition
let c
1, c
2 be
natural number ;
E16:
( c
1 is
Nat & c
2 is
Nat )
by ORDINAL1:def 13;
func c
1 div c
2 -> Nat means :
Def1:
:: NAT_1:def 1
not ( ( for b
1 being
Nat holds
not ( a
1 = (a2 * a3) + b
1 & b
1 < a
2 ) ) & not ( a
3 = 0 & a
2 = 0 ) );
existence
not for b1 being Nat holds
( ( for b2 being Nat holds
not ( c1 = (c2 * b1) + b2 & b2 < c2 ) ) & not ( b1 = 0 & c2 = 0 ) )
uniqueness
for b1, b2 being Nat holds
( not ( ( for b3 being Nat holds
not ( c1 = (c2 * b1) + b3 & b3 < c2 ) ) & not ( b1 = 0 & c2 = 0 ) ) & not ( ( for b3 being Nat holds
not ( c1 = (c2 * b2) + b3 & b3 < c2 ) ) & not ( b2 = 0 & c2 = 0 ) ) implies b1 = b2 )
func c
1 mod c
2 -> Nat means :
Def2:
:: NAT_1:def 2
not ( ( for b
1 being
Nat holds
not ( a
1 = (a2 * b1) + a
3 & a
3 < a
2 ) ) & not ( a
3 = 0 & a
2 = 0 ) );
existence
not for b1 being Nat holds
( ( for b2 being Nat holds
not ( c1 = (c2 * b2) + b1 & b1 < c2 ) ) & not ( b1 = 0 & c2 = 0 ) )
uniqueness
for b1, b2 being Nat holds
( not ( ( for b3 being Nat holds
not ( c1 = (c2 * b3) + b1 & b1 < c2 ) ) & not ( b1 = 0 & c2 = 0 ) ) & not ( ( for b3 being Nat holds
not ( c1 = (c2 * b3) + b2 & b2 < c2 ) ) & not ( b2 = 0 & c2 = 0 ) ) implies b1 = b2 )
end;
:: deftheorem Def1 defines div NAT_1:def 1 :
for b
1, b
2 being
natural number for b
3 being
Nat holds
( b
3 = b
1 div b
2 iff not ( ( for b
4 being
Nat holds
not ( b
1 = (b2 * b3) + b
4 & b
4 < b
2 ) ) & not ( b
3 = 0 & b
2 = 0 ) ) );
:: deftheorem Def2 defines mod NAT_1:def 2 :
for b
1, b
2 being
natural number for b
3 being
Nat holds
( b
3 = b
1 mod b
2 iff not ( ( for b
4 being
Nat holds
not ( b
1 = (b2 * b4) + b
3 & b
3 < b
2 ) ) & not ( b
3 = 0 & b
2 = 0 ) ) );
theorem Th44: :: NAT_1:44
canceled;
theorem Th45: :: NAT_1:45
canceled;
theorem Th46: :: NAT_1:46
theorem Th47: :: NAT_1:47
:: deftheorem Def3 defines divides NAT_1:def 3 :
theorem Th48: :: NAT_1:48
canceled;
theorem Th49: :: NAT_1:49
theorem Th50: :: NAT_1:50
canceled;
theorem Th51: :: NAT_1:51
theorem Th52: :: NAT_1:52
theorem Th53: :: NAT_1:53
theorem Th54: :: NAT_1:54
theorem Th55: :: NAT_1:55
theorem Th56: :: NAT_1:56
theorem Th57: :: NAT_1:57
theorem Th58: :: NAT_1:58
:: deftheorem Def4 defines lcm NAT_1:def 4 :
:: deftheorem Def5 defines hcf NAT_1:def 5 :
scheme :: NAT_1:sch 8
s8{ F
1(
Nat)
-> Nat, F
2()
-> Nat, F
3()
-> Nat } :
ex b
1 being
Nat st
( F
1(b
1)
= F
2()
hcf F
3() & F
1(
(b1 + 1))
= 0 )
provided
E31:
( 0
< F
3() & F
3()
< F
2() )
and
E32:
( F
1(0)
= F
2() & F
1(1)
= F
3() )
and
E33:
for b
1 being
Nat holds F
1(
(b1 + 2))
= F
1(b
1)
mod F
1(
(b1 + 1))
theorem Th59: :: NAT_1:59
theorem Th60: :: NAT_1:60
theorem Th61: :: NAT_1:61
theorem Th62: :: NAT_1:62
theorem Th63: :: NAT_1:63
theorem Th64: :: NAT_1:64
theorem Th65: :: NAT_1:65
theorem Th66: :: NAT_1:66
theorem Th67: :: NAT_1:67
theorem Th68: :: NAT_1:68
theorem Th69: :: NAT_1:69
theorem Th70: :: NAT_1:70
for b
1, b
2 being
Nat holds
not ( b
1 < b
2 + 1 & not b
1 < b
2 & not b
1 = b
2 )
theorem Th71: :: NAT_1:71
for b
1 being
Nat holds
not ( b
1 < 2 & not b
1 = 0 & not b
1 = 1 )
theorem Th72: :: NAT_1:72
for b
1, b
2 being
Nat holds
( b
2 <> 0 implies
(b1 * b2) div b
2 = b
1 )
theorem Th73: :: NAT_1:73
theorem Th74: :: NAT_1:74
theorem Th75: :: NAT_1:75
theorem Th76: :: NAT_1:76
theorem Th77: :: NAT_1:77
theorem Th78: :: NAT_1:78
theorem Th79: :: NAT_1:79
theorem Th80: :: NAT_1:80
theorem Th81: :: NAT_1:81
for b
1, b
2 being
Nat holds
( b
1 < b
2 iff ( 1
<= b
1 + 1 & b
1 + 1
<= b
2 ) )
scheme :: NAT_1:sch 9
s9{ F
1()
-> Nat, P
1[
Nat] } :
for b
1 being
Nat holds
( F
1()
<= b
1 implies P
1[b
1] )
provided
E36:
P
1[F
1()]
and
E37:
for b
1 being
Nat holds
( F
1()
<= b
1 & P
1[b
1] implies P
1[b
1 + 1] )
scheme :: NAT_1:sch 10
s10{ F
1()
-> Nat, P
1[
Nat] } :
for b
1 being
Nat holds
( b
1 >= F
1() implies P
1[b
1] )
provided
E36:
for b
1 being
Nat holds
( b
1 >= F
1() & ( for b
2 being
Nat holds
( b
2 >= F
1() & b
2 < b
1 implies P
1[b
2] ) ) implies P
1[b
1] )