let m be Element of NAT ; for f being Element of HFuncs NAT st f in PrimRec-Approximation . m holds
f is quasi_total
defpred S2[ Element of NAT ] means for f being Element of HFuncs NAT st f in PrimRec-Approximation . $1 holds
f is quasi_total ;
set prd = PrimRec-Approximation ;
A1:
for m being Element of NAT st S2[m] holds
S2[m + 1]
proof
let m be
Element of
NAT ;
( S2[m] implies S2[m + 1] )
assume A2:
S2[
m]
;
S2[m + 1]
let f be
Element of
HFuncs NAT ;
( f in PrimRec-Approximation . (m + 1) implies f is quasi_total )
assume
f in PrimRec-Approximation . (m + 1)
;
f is quasi_total
then A3:
f in (PR-closure (PrimRec-Approximation . m)) \/ (composition-closure (PrimRec-Approximation . m))
by Def23;
per cases
( f in PR-closure (PrimRec-Approximation . m) or f in composition-closure (PrimRec-Approximation . m) )
by A3, XBOOLE_0:def 3;
suppose A4:
f in PR-closure (PrimRec-Approximation . m)
;
f is quasi_total thus
f is
quasi_total
verumproof
per cases
( f in PrimRec-Approximation . m or f in { g where g is Element of HFuncs NAT : ex f1, f2 being Element of HFuncs NAT ex i being Element of NAT st
( f1 in PrimRec-Approximation . m & f2 in PrimRec-Approximation . m & g is_primitive-recursively_expressed_by f1,f2,i ) } )
by A4, XBOOLE_0:def 3;
suppose
f in { g where g is Element of HFuncs NAT : ex f1, f2 being Element of HFuncs NAT ex i being Element of NAT st
( f1 in PrimRec-Approximation . m & f2 in PrimRec-Approximation . m & g is_primitive-recursively_expressed_by f1,f2,i ) }
;
f is quasi_total then consider g being
Element of
HFuncs NAT such that A5:
f = g
and A6:
ex
f1,
f2 being
Element of
HFuncs NAT ex
i being
Element of
NAT st
(
f1 in PrimRec-Approximation . m &
f2 in PrimRec-Approximation . m &
g is_primitive-recursively_expressed_by f1,
f2,
i )
;
consider f1,
f2 being
Element of
HFuncs NAT ,
i being
Element of
NAT such that A7:
f1 in PrimRec-Approximation . m
and A8:
f2 in PrimRec-Approximation . m
and A9:
g is_primitive-recursively_expressed_by f1,
f2,
i
by A6;
A10:
f2 is
quasi_total
by A2, A8;
f1 is
quasi_total
by A2, A7;
hence
f is
quasi_total
by A5, A9, A10, Th72;
verum end; end;
end; end; end;
end;
A17:
S2[ 0 ]
for m being Element of NAT holds S2[m]
from NAT_1:sch 1(A17, A1);
hence
for f being Element of HFuncs NAT st f in PrimRec-Approximation . m holds
f is quasi_total
; verum