let i, j be Element of NAT ; [-] . <*i,j*> = i -' j
set F = <*(2 proj 2)*>;
set g = [pred] * <:<*(2 proj 2)*>:>;
rng <*(2 proj 2)*> c= PrimRec
then reconsider F = <*(2 proj 2)*> as with_the_same_arity FinSequence of PrimRec by FINSEQ_1:def 4;
defpred S2[ Element of NAT ] means [-] . <*i,$1*> = i -' $1;
A1:
for i, j being Element of NAT holds
( ([pred] * <:<*(2 proj 2)*>:>) . <*i,0 *> = 0 & ([pred] * <:<*(2 proj 2)*>:>) . <*i,(j + 1)*> = j )
proof
let i,
j be
Element of
NAT ;
( ([pred] * <:<*(2 proj 2)*>:>) . <*i,0 *> = 0 & ([pred] * <:<*(2 proj 2)*>:>) . <*i,(j + 1)*> = j )
reconsider i0 =
<*i,0 *> as
Element of 2
-tuples_on NAT by FINSEQ_2:121;
reconsider ij =
<*i,(j + 1)*> as
Element of 2
-tuples_on NAT by FINSEQ_2:121;
A2:
dom (2 proj 2) = 2
-tuples_on NAT
by Th40;
A3:
dom <:F:> = dom (2 proj 2)
by FUNCT_6:61;
hence ([pred] * <:<*(2 proj 2)*>:>) . <*i,0 *> =
[pred] . (<:F:> . i0)
by A2, FUNCT_1:23
.=
[pred] . <*((2 proj 2) . i0)*>
by A2, FUNCT_6:61
.=
[pred] . <*(i0 . 2)*>
by Th42
.=
0
by Th93, FINSEQ_1:61
;
([pred] * <:<*(2 proj 2)*>:>) . <*i,(j + 1)*> = j
thus ([pred] * <:<*(2 proj 2)*>:>) . <*i,(j + 1)*> =
[pred] . (<:F:> . ij)
by A3, A2, FUNCT_1:23
.=
[pred] . <*((2 proj 2) . ij)*>
by A2, FUNCT_6:61
.=
[pred] . <*(ij . 2)*>
by Th42
.=
[pred] . <*(j + 1)*>
by FINSEQ_1:61
.=
j
by Th93
;
verum
end;
reconsider ii = <*i*> as Element of 1 -tuples_on NAT by FINSEQ_2:118;
[-] . <*i,0 *> =
(1 proj 1) . <*i*>
by Th83
.=
ii . 1
by Th42
.=
i
by FINSEQ_1:57
.=
(i + 0 ) -' 0
by NAT_D:34
.=
i -' 0
;
then A11:
S2[ 0 ]
;
for j being Element of NAT holds S2[j]
from NAT_1:sch 1(A11, A4);
hence
[-] . <*i,j*> = i -' j
; verum