let x be set ; :: thesis: for p, q being Function-yielding FinSequence holds apply (p ^ q),x = (apply p,x) $^ (apply q,((apply p,x) . ((len p) + 1)))
let p, q be Function-yielding FinSequence; :: thesis: apply (p ^ q),x = (apply p,x) $^ (apply q,((apply p,x) . ((len p) + 1)))
defpred S1[ Function-yielding FinSequence] means apply (p ^ $1),x = (apply p,x) $^ (apply $1,((apply p,x) . ((len p) + 1)));
A1:
len (apply p,x) = (len p) + 1
by Def5;
then consider r being FinSequence, y being set such that
A2:
apply p,x = r ^ <*y*>
by CARD_1:47, FINSEQ_1:63;
len <*y*> = 1
by FINSEQ_1:57;
then
(len p) + 1 = (len r) + 1
by A1, A2, FINSEQ_1:35;
then A3:
(apply p,x) . ((len p) + 1) = y
by A2, FINSEQ_1:59;
apply (p ^ {} ),x =
apply p,x
by FINSEQ_1:47
.=
(apply p,x) $^ <*((apply p,x) . ((len p) + 1))*>
by A2, A3, REWRITE1:2
.=
(apply p,x) $^ (apply {} ,((apply p,x) . ((len p) + 1)))
by Th42
;
then A4:
S1[ {} ]
;
A5:
for p being Function-yielding FinSequence st S1[p] holds
for f being Function holds S1[p ^ <*f*>]
proof
let q be
Function-yielding FinSequence;
:: thesis: ( S1[q] implies for f being Function holds S1[q ^ <*f*>] )
assume A6:
apply (p ^ q),
x = (apply p,x) $^ (apply q,((apply p,x) . ((len p) + 1)))
;
:: thesis: for f being Function holds S1[q ^ <*f*>]
let f be
Function;
:: thesis: S1[q ^ <*f*>]
B7:
len (apply q,((apply p,x) . ((len p) + 1))) = (len q) + 1
by Def5;
B8:
len (apply (q ^ <*f*>),((apply p,x) . ((len p) + 1))) = (len (q ^ <*f*>)) + 1
by Def5;
A9:
(apply (p ^ q),x) . ((len (p ^ q)) + 1) = (apply q,((apply p,x) . ((len p) + 1))) . ((len q) + 1)
by Th51;
thus apply (p ^ (q ^ <*f*>)),
x =
apply ((p ^ q) ^ <*f*>),
x
by FINSEQ_1:45
.=
(apply (p ^ q),x) ^ <*(f . ((apply (p ^ q),x) . ((len (p ^ q)) + 1)))*>
by Th44
.=
(r ^ (apply q,((apply p,x) . ((len p) + 1)))) ^ <*(f . ((apply (p ^ q),x) . ((len (p ^ q)) + 1)))*>
by A2, A6, B7, CARD_1:47, REWRITE1:2
.=
r ^ ((apply q,((apply p,x) . ((len p) + 1))) ^ <*(f . ((apply (p ^ q),x) . ((len (p ^ q)) + 1)))*>)
by FINSEQ_1:45
.=
r ^ (apply (q ^ <*f*>),((apply p,x) . ((len p) + 1)))
by A9, Th44
.=
(apply p,x) $^ (apply (q ^ <*f*>),((apply p,x) . ((len p) + 1)))
by A2, B8, CARD_1:47, REWRITE1:2
;
:: thesis: verum
end;
for q being Function-yielding FinSequence holds S1[q]
from FUNCT_7:sch 5(A4, A5);
hence
apply (p ^ q),x = (apply p,x) $^ (apply q,((apply p,x) . ((len p) + 1)))
; :: thesis: verum