(* TEST INFRA-STRUCTURE OF inSuccession FUNCTION *) Clear[s, f, x, r] (s = NestList[f, x, 5][[-1]]) === f[f[f[f[f[x]]]]] r = f[f[x_]] :> f[x]; (s /. r) === f[f[f[f[x]]]] (s //. r) === f[x] s // ReplaceRepeated[#, r]&; (s // FixedPoint[ReplaceAll[#, r]&, #]&) === f[x] Clear[a, b, c, d, e, f] explicitize[f] === f explicitize[f^3] === (Nest[f, #1, 3] &) explicitize[f^totally] === (FixedPoint[f, #1] &) explicitize[a -> b] === (ReplaceAll[#, a -> b]&) explicitize[(a -> b)^3] === (Nest[ReplaceAll[#, a -> b]&, #, 3]&) explicitize[(a -> b)^totally] === (replaceRepeated[#, a -> b] &) explicitize[{a -> b, c -> d, e :> a}] === (# /. {a -> b, c -> d, e :> a} &) explicitize[{a -> b, c -> d, e :> a}^3] === (Nest[{a -> b, c -> d, e :> a}, #, 3] &) explicitize[{a -> b, c -> d, e :> a}^totally] === (replaceRepeated[#, {a -> b, c -> d, e :> a}] &) (* TEST inSuccession FUNCTION *) (x // inSuccession[]) === x (x // inSuccession[f]) === f[x] (x // inSuccession[f, g, h]) === h[g[f[x]]] (x // inSuccession[x -> y]) === y (x // inSuccession[x :> y]) === y (x // inSuccession[x -> y, y -> z]) === z (x^4 // inSuccession[x^n_ -> x^(n-1)]) === x^3 (x^4 // inSuccession[(x^n_ -> x^(n-1))^3]) === x (x^4 // inSuccession[(x^n_ -> x^(n-1))^totally]) === x (x^4 // inSuccession[(x^n_. -> x^(n-1))^totally]) === 1 inSuccession[f, inSuccession[g, h], i] === inSuccession[f, g, h, i] (* example of form inSuccession[..., (..., inSucession[...]^totally, ...]^totally, ...] to be included in later release of validation file *) (* MINOR PARTS OF INFRA-STRUCTURE *) (seq /@ {x, {x, y}, f[x, y]}) === {x, Sequence[x, y], Sequence[x, y]} part[{a, b, {c, {d, e}, f}}, {3, 2, 2}] === e (* ======================================================= *) (* *)