scheme :: TREES_2:sch 5
InfiniteChain{ F1() -> set , F2() -> object , P1[ object ], P2[ object , object ] } :
ex f being Function st
( dom f = NAT & rng f c= F1() & f . 0 = F2() & ( for k being Nat holds
( P2[f . k,f . (k + 1)] & P1[f . k] ) ) )
provided
A1: ( F2() in F1() & P1[F2()] ) and
A2: for x being object st x in F1() & P1[x] holds
ex y being object st
( y in F1() & P2[x,y] & P1[y] )