let i, j be 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[ Nat] means [-] . <*i,$1*> = i -' $1;
A1:
for i, j being Nat holds
( ([pred] * <:<*(2 proj 2)*>:>) . <*i,0*> = 0 & ([pred] * <:<*(2 proj 2)*>:>) . <*i,(j + 1)*> = j )
proof
let i,
j be
Nat;
( ([pred] * <:<*(2 proj 2)*>:>) . <*i,0*> = 0 & ([pred] * <:<*(2 proj 2)*>:>) . <*i,(j + 1)*> = j )
reconsider i1 =
i,
j1 =
j as
Element of
NAT by ORDINAL1:def 12;
reconsider i0 =
<*i1,0*> as
Element of 2
-tuples_on NAT by FINSEQ_2:101;
reconsider ij =
<*i1,(j1 + 1)*> as
Element of 2
-tuples_on NAT by FINSEQ_2:101;
A2:
dom (2 proj 2) = 2
-tuples_on NAT
by Th35;
A3:
dom <:F:> = dom (2 proj 2)
by FINSEQ_3:141;
hence ([pred] * <:<*(2 proj 2)*>:>) . <*i,0*> =
[pred] . (<:F:> . i0)
by A2, FUNCT_1:13
.=
[pred] . <*((2 proj 2) . i0)*>
by A2, FINSEQ_3:141
.=
[pred] . <*(i0 . 2)*>
by Th37
.=
0
by Th88
;
([pred] * <:<*(2 proj 2)*>:>) . <*i,(j + 1)*> = j
thus ([pred] * <:<*(2 proj 2)*>:>) . <*i,(j + 1)*> =
[pred] . (<:F:> . ij)
by A3, A2, FUNCT_1:13
.=
[pred] . <*((2 proj 2) . ij)*>
by A2, FINSEQ_3:141
.=
[pred] . <*(ij . 2)*>
by Th37
.=
j
by Th88
;
verum
end;
A4:
now for j being Nat st S2[j] holds
S2[j + 1]end;
reconsider i = i as Element of NAT by ORDINAL1:def 12;
reconsider ii = <*i*> as Element of 1 -tuples_on NAT by FINSEQ_2:98;
[-] . <*i,0*> =
(1 proj 1) . <*i*>
by Th78
.=
ii . 1
by Th37
.=
(i + 0) -' 0
by NAT_D:34
.=
i -' 0
;
then A11:
S2[ 0 ]
;
for j being Nat holds S2[j]
from NAT_1:sch 2(A11, A4);
hence
[-] . <*i,j*> = i -' j
; verum