deffunc H1( set , Element of [:NAT,NAT:]) -> Element of [:NAT,NAT:] = In ([($2 `2),(($2 `1) + ($2 `2))],[:NAT,NAT:]);
consider fib being sequence of [:NAT,NAT:] such that
A1:
( fib . 0 = [0,1] & ( for n being Nat holds fib . (n + 1) = H1(n,fib . n) ) )
from NAT_1:sch 12();
reconsider IT = (fib . n) `1 as Element of NAT ;
take
IT
; ex fib being sequence of [:NAT,NAT:] st
( IT = (fib . n) `1 & fib . 0 = [0,1] & ( for n being Nat holds fib . (n + 1) = [((fib . n) `2),(((fib . n) `1) + ((fib . n) `2))] ) )
take
fib
; ( IT = (fib . n) `1 & fib . 0 = [0,1] & ( for n being Nat holds fib . (n + 1) = [((fib . n) `2),(((fib . n) `1) + ((fib . n) `2))] ) )
thus
IT = (fib . n) `1
; ( fib . 0 = [0,1] & ( for n being Nat holds fib . (n + 1) = [((fib . n) `2),(((fib . n) `1) + ((fib . n) `2))] ) )
thus
fib . 0 = [0,1]
by A1; for n being Nat holds fib . (n + 1) = [((fib . n) `2),(((fib . n) `1) + ((fib . n) `2))]
let n be Nat; fib . (n + 1) = [((fib . n) `2),(((fib . n) `1) + ((fib . n) `2))]
fib . (n + 1) = H1(n,fib . n)
by A1;
hence
fib . (n + 1) = [((fib . n) `2),(((fib . n) `1) + ((fib . n) `2))]
; verum