:: CATALAN1 semantic presentation

theorem Th1: :: CATALAN1:1
for b1 being natural number st b1 > 1 holds
b1 -' 1 <= (2 * b1) -' 3
proof end;

theorem Th2: :: CATALAN1:2
for b1 being natural number st b1 >= 1 holds
b1 -' 1 <= (2 * b1) -' 2
proof end;

theorem Th3: :: CATALAN1:3
for b1 being natural number st b1 > 1 holds
b1 < (2 * b1) -' 1
proof end;

theorem Th4: :: CATALAN1:4
for b1 being natural number st b1 > 1 holds
(b1 -' 2) + 1 = b1 -' 1
proof end;

Lemma5: for b1, b2 being natural number st b1 < b2 & 1 < b2 holds
b1 -' 1 < b2 -' 1
proof end;

theorem Th5: :: CATALAN1:5
for b1 being natural number st b1 > 1 holds
(((4 * b1) * b1) - (2 * b1)) / (b1 + 1) > 1
proof end;

theorem Th6: :: CATALAN1:6
for b1 being natural number st b1 > 1 holds
((((2 * b1) -' 2) ! ) * b1) * (b1 + 1) < (2 * b1) !
proof end;

theorem Th7: :: CATALAN1:7
for b1 being natural number holds 2 * (2 - (3 / (b1 + 1))) < 4
proof end;

definition
let c1 be natural number ;
func Catalan c1 -> Real equals :: CATALAN1:def 1
(((2 * a1) -' 2) choose (a1 -' 1)) / a1;
coherence
(((2 * c1) -' 2) choose (c1 -' 1)) / c1 is Real
by XREAL_0:def 1;
end;

:: deftheorem Def1 defines Catalan CATALAN1:def 1 :
for b1 being natural number holds Catalan b1 = (((2 * b1) -' 2) choose (b1 -' 1)) / b1;

theorem Th8: :: CATALAN1:8
for b1 being natural number st b1 > 1 holds
Catalan b1 = (((2 * b1) -' 2) ! ) / (((b1 -' 1) ! ) * (b1 ! ))
proof end;

theorem Th9: :: CATALAN1:9
for b1 being natural number st b1 > 1 holds
Catalan b1 = (4 * (((2 * b1) -' 3) choose (b1 -' 1))) - (((2 * b1) -' 1) choose (b1 -' 1))
proof end;

theorem Th10: :: CATALAN1:10
Catalan 0 = 0 ;

theorem Th11: :: CATALAN1:11
Catalan 1 = 1
proof end;

theorem Th12: :: CATALAN1:12
Catalan 2 = 1
proof end;

theorem Th13: :: CATALAN1:13
for b1 being natural number holds Catalan b1 is Integer
proof end;

theorem Th14: :: CATALAN1:14
for b1 being natural number st b1 >= 1 holds
Catalan (b1 + 1) = ((2 * b1) ! ) / ((b1 ! ) * ((b1 + 1) ! ))
proof end;

theorem Th15: :: CATALAN1:15
for b1 being natural number st b1 > 1 holds
Catalan b1 < Catalan (b1 + 1)
proof end;

theorem Th16: :: CATALAN1:16
for b1 being natural number holds Catalan b1 <= Catalan (b1 + 1)
proof end;

theorem Th17: :: CATALAN1:17
for b1 being natural number holds Catalan b1 >= 0 ;

theorem Th18: :: CATALAN1:18
for b1 being natural number holds Catalan b1 is Nat
proof end;

theorem Th19: :: CATALAN1:19
for b1 being natural number st b1 > 0 holds
Catalan (b1 + 1) = (2 * (2 - (3 / (b1 + 1)))) * (Catalan b1)
proof end;

registration
let c1 be natural number ;
cluster Catalan a1 -> natural ;
coherence
Catalan c1 is natural
by Th18;
end;

theorem Th20: :: CATALAN1:20
for b1 being natural number st b1 > 0 holds
Catalan b1 > 0
proof end;

registration
let c1 be non empty natural number ;
cluster Catalan a1 -> non empty natural ;
coherence
not Catalan c1 is empty
by Th20;
end;

theorem Th21: :: CATALAN1:21
for b1 being natural number st b1 > 0 holds
Catalan (b1 + 1) < 4 * (Catalan b1)
proof end;