let V, A be set ; for loc being V -valued Function
for n0 being Nat holds <*(PP_inversion (factorial_inv (A,loc,n0))),(factorial_loop_body (A,loc)),(factorial_inv (A,loc,n0))*> is SFHT of (ND (V,A))
let loc be V -valued Function; for n0 being Nat holds <*(PP_inversion (factorial_inv (A,loc,n0))),(factorial_loop_body (A,loc)),(factorial_inv (A,loc,n0))*> is SFHT of (ND (V,A))
let n0 be Nat; <*(PP_inversion (factorial_inv (A,loc,n0))),(factorial_loop_body (A,loc)),(factorial_inv (A,loc,n0))*> is SFHT of (ND (V,A))
set D = ND (V,A);
set inv = factorial_inv (A,loc,n0);
set B = factorial_loop_body (A,loc);
set N = PP_inversion (factorial_inv (A,loc,n0));
for d being Element of ND (V,A) st d in dom (PP_inversion (factorial_inv (A,loc,n0))) & (PP_inversion (factorial_inv (A,loc,n0))) . d = TRUE & d in dom (factorial_loop_body (A,loc)) & (factorial_loop_body (A,loc)) . d in dom (factorial_inv (A,loc,n0)) holds
(factorial_inv (A,loc,n0)) . ((factorial_loop_body (A,loc)) . d) = TRUE
by PARTPR_2:10;
then
<*(PP_inversion (factorial_inv (A,loc,n0))),(factorial_loop_body (A,loc)),(factorial_inv (A,loc,n0))*> in SFHTs (ND (V,A))
;
hence
<*(PP_inversion (factorial_inv (A,loc,n0))),(factorial_loop_body (A,loc)),(factorial_inv (A,loc,n0))*> is SFHT of (ND (V,A))
; verum