:: FIB_FUSC semantic presentation
Lemma1:
6 + 1 = (6 * ([\(log 2,1)/] + 1)) + 1
Lemma2:
for b1 being Nat holds
( b1 > 0 implies ( [\(log 2,b1)/] is Nat & (6 * ([\(log 2,b1)/] + 1)) + 1 > 0 ) )
Lemma3:
for b1, b2 being Nat holds
( b1 = (2 * b2) + 1 & b2 > 0 implies 6 + ((6 * ([\(log 2,b2)/] + 1)) + 1) = (6 * ([\(log 2,b1)/] + 1)) + 1 )
Lemma4:
for b1 being Nat holds
( b1 > 0 implies ( log 2,(2 * b1) = 1 + (log 2,b1) & log 2,(2 * b1) = (log 2,b1) + 1 ) )
Lemma5:
for b1, b2 being Nat holds
( b1 = 2 * b2 & b2 > 0 implies 6 + ((6 * ([\(log 2,b2)/] + 1)) + 1) = (6 * ([\(log 2,b1)/] + 1)) + 1 )
Lemma6:
for b1 being Nat holds
not ( b1 <> 0 & not (6 * b1) - 4 > 0 )
Lemma7:
( dl. 0 <> dl. 1 & dl. 0 <> dl. 2 & dl. 0 <> dl. 3 & dl. 1 <> dl. 2 & dl. 1 <> dl. 3 & dl. 2 <> dl. 3 )
by AMI_3:52;
Lemma8:
( dl. 0 <> dl. 4 & dl. 1 <> dl. 4 & dl. 2 <> dl. 4 & dl. 3 <> dl. 4 )
by AMI_3:52;
:: deftheorem Def1 defines Fib_Program FIB_FUSC:def 1 :
theorem Th1: :: FIB_FUSC:1
:: deftheorem Def2 defines Fusc' FIB_FUSC:def 2 :
for b
1 being
Integerfor b
2 being
Nat holds
( b
2 = Fusc' b
1 iff not ( ( for b
3 being
Nat holds
not ( b
1 = b
3 & b
2 = Fusc b
3 ) ) & not ( not b
1 is
Nat & b
2 = 0 ) ) );
:: deftheorem Def3 defines Fusc_Program FIB_FUSC:def 3 :
theorem Th2: :: FIB_FUSC:2
theorem Th3: :: FIB_FUSC:3
theorem Th4: :: FIB_FUSC:4
canceled;
theorem Th5: :: FIB_FUSC:5
theorem Th6: :: FIB_FUSC:6