defpred S1[ set , set , set ] means ( ( $2 is PRIM:Labeling of G & ex Gn, Gn1 being PRIM:Labeling of G st
( $2 = Gn & $3 = Gn1 & Gn1 = PRIM:Step Gn ) ) or ( $2 is not PRIM:Labeling of G & $2 = $3 ) );
then A1:
for n being Element of NAT
for x being set ex y being set st S1[n,x,y]
;
consider IT being Function such that
A3:
( dom IT = NAT & IT . 0 = PRIM:Init G & ( for n being Element of NAT holds S1[n,IT . n,IT . (n + 1)] ) )
from RECDEF_1:sch 1(A1);
reconsider IT = IT as ManySortedSet of by A3, PARTFUN1:def 4, RELAT_1:def 18;
defpred S2[ Nat] means IT . $1 is PRIM:Labeling of G;
A4:
S2[ 0 ]
by A3;
for n being Nat holds S2[n]
from NAT_1:sch 2(A4, A5);
then reconsider IT = IT as PRIM:LabelingSeq of G by dPRIMSeq;
take
IT
; :: thesis: ( IT . 0 = PRIM:Init G & ( for n being Nat holds IT . (n + 1) = PRIM:Step (IT . n) ) )
thus
IT . 0 = PRIM:Init G
by A3; :: thesis: for n being Nat holds IT . (n + 1) = PRIM:Step (IT . n)
let n be Nat; :: thesis: IT . (n + 1) = PRIM:Step (IT . n)
reconsider n' = n as Element of NAT by ORDINAL1:def 13;
consider Gn, Gn1 being PRIM:Labeling of G such that
A9:
( IT . n' = Gn & IT . (n + 1) = Gn1 & Gn1 = PRIM:Step Gn )
by A3;
thus
IT . (n + 1) = PRIM:Step (IT . n)
by A9; :: thesis: verum