let m be Element of NAT ; :: thesis: for f being Element of HFuncs NAT st f in PrimRec-Approximation . m holds
f is quasi_total
set prd = PrimRec-Approximation ;
defpred S2[ Element of NAT ] means for f being Element of HFuncs NAT st f in PrimRec-Approximation . $1 holds
f is quasi_total ;
A1:
S2[ 0 ]
A4:
for m being Element of NAT st S2[m] holds
S2[m + 1]
proof
let m be
Element of
NAT ;
:: thesis: ( S2[m] implies S2[m + 1] )
assume A5:
S2[
m]
;
:: thesis: S2[m + 1]
let f be
Element of
HFuncs NAT ;
:: thesis: ( f in PrimRec-Approximation . (m + 1) implies f is quasi_total )
assume
f in PrimRec-Approximation . (m + 1)
;
:: thesis: f is quasi_total
then A6:
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 A6, XBOOLE_0:def 3;
suppose A7:
f in PR-closure (PrimRec-Approximation . m)
;
:: thesis: f is quasi_total thus
f is
quasi_total
:: thesis: 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 A7, 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 ) }
;
:: thesis: f is quasi_total then consider g being
Element of
HFuncs NAT such that A8:
f = g
and A9:
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 A10:
(
f1 in PrimRec-Approximation . m &
f2 in PrimRec-Approximation . m )
and A11:
g is_primitive-recursively_expressed_by f1,
f2,
i
by A9;
(
f1 is
quasi_total &
f2 is
quasi_total )
by A5, A10;
hence
f is
quasi_total
by A8, A11, Th72;
:: thesis: verum end; end;
end; end; end;
end;
for m being Element of NAT holds S2[m]
from NAT_1:sch 1(A1, A4);
hence
for f being Element of HFuncs NAT st f in PrimRec-Approximation . m holds
f is quasi_total
; :: thesis: verum