deffunc H1( Element of NAT , Element of NAT ) -> Element of NAT = In ((((2 |^ $1) * ((2 * $2) + 1)) - 1),NAT);
A1:
for n, m being Element of NAT holds ((2 |^ n) * ((2 * m) + 1)) - 1 in NAT
consider NN being Function of [:NAT,NAT:],NAT such that
A2:
for n, m being Element of NAT holds NN . (n,m) = H1(n,m)
from BINOP_1:sch 4();
take
NN
; for n, m being Nat holds NN . [n,m] = ((2 |^ n) * ((2 * m) + 1)) - 1
let n, m be Nat; NN . [n,m] = ((2 |^ n) * ((2 * m) + 1)) - 1
A3:
( n in NAT & m in NAT )
by ORDINAL1:def 12;
NN . (n,m) =
In ((((2 |^ n) * ((2 * m) + 1)) - 1),NAT)
by A2, A3
.=
((2 |^ n) * ((2 * m) + 1)) - 1
by A1, SUBSET_1:def 8, A3
;
hence
NN . [n,m] = ((2 |^ n) * ((2 * m) + 1)) - 1
; verum