let V, A be set ; :: thesis: for loc being V -valued Function
for z being Element of V
for x0, y0, p0, q0 being Integer
for n0 being Nat st ( for T being TypeSCNominativeData of V,A holds
( loc /. 1 is_a_value_on T & loc /. 3 is_a_value_on T ) ) holds
<*(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Lucas_output (A,z,x0,y0,p0,q0,n0))*> is SFHT of (ND (V,A))

let loc be V -valued Function; :: thesis: for z being Element of V
for x0, y0, p0, q0 being Integer
for n0 being Nat st ( for T being TypeSCNominativeData of V,A holds
( loc /. 1 is_a_value_on T & loc /. 3 is_a_value_on T ) ) holds
<*(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Lucas_output (A,z,x0,y0,p0,q0,n0))*> is SFHT of (ND (V,A))

let z be Element of V; :: thesis: for x0, y0, p0, q0 being Integer
for n0 being Nat st ( for T being TypeSCNominativeData of V,A holds
( loc /. 1 is_a_value_on T & loc /. 3 is_a_value_on T ) ) holds
<*(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Lucas_output (A,z,x0,y0,p0,q0,n0))*> is SFHT of (ND (V,A))

let x0, y0, p0, q0 be Integer; :: thesis: for n0 being Nat st ( for T being TypeSCNominativeData of V,A holds
( loc /. 1 is_a_value_on T & loc /. 3 is_a_value_on T ) ) holds
<*(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Lucas_output (A,z,x0,y0,p0,q0,n0))*> is SFHT of (ND (V,A))

let n0 be Nat; :: thesis: ( ( for T being TypeSCNominativeData of V,A holds
( loc /. 1 is_a_value_on T & loc /. 3 is_a_value_on T ) ) implies <*(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Lucas_output (A,z,x0,y0,p0,q0,n0))*> is SFHT of (ND (V,A)) )

set i = loc /. 1;
set j = loc /. 2;
set n = loc /. 3;
set s = loc /. 4;
set b = loc /. 5;
set c = loc /. 6;
set p = loc /. 7;
set q = loc /. 8;
set ps = loc /. 9;
set qc = loc /. 10;
set D = ND (V,A);
set inv = Lucas_inv (A,loc,x0,y0,p0,q0,n0);
set O = valid_Lucas_output (A,z,x0,y0,p0,q0,n0);
set Di = denaming (V,A,(loc /. 1));
set Dn = denaming (V,A,(loc /. 3));
set Ds = denaming (V,A,(loc /. 4));
set E = Equality (A,(loc /. 1),(loc /. 3));
set F = PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0)));
set G = SC_assignment ((denaming (V,A,(loc /. 4))),z);
set N = PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))));
assume A1: for T being TypeSCNominativeData of V,A holds
( loc /. 1 is_a_value_on T & loc /. 3 is_a_value_on T ) ; :: thesis: <*(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Lucas_output (A,z,x0,y0,p0,q0,n0))*> is SFHT of (ND (V,A))
now :: thesis: for d being TypeSCNominativeData of V,A st d in dom (PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))) & (PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))) . d = TRUE & d in dom (SC_assignment ((denaming (V,A,(loc /. 4))),z)) & (SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d in dom (valid_Lucas_output (A,z,x0,y0,p0,q0,n0)) holds
(valid_Lucas_output (A,z,x0,y0,p0,q0,n0)) . ((SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d) = TRUE
let d be TypeSCNominativeData of V,A; :: thesis: ( d in dom (PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))) & (PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))) . d = TRUE & d in dom (SC_assignment ((denaming (V,A,(loc /. 4))),z)) & (SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d in dom (valid_Lucas_output (A,z,x0,y0,p0,q0,n0)) implies (valid_Lucas_output (A,z,x0,y0,p0,q0,n0)) . ((SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d) = TRUE )
assume that
A2: d in dom (PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))) and
(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))) . d = TRUE and
d in dom (SC_assignment ((denaming (V,A,(loc /. 4))),z)) and
(SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d in dom (valid_Lucas_output (A,z,x0,y0,p0,q0,n0)) ; :: thesis: (valid_Lucas_output (A,z,x0,y0,p0,q0,n0)) . ((SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d) = TRUE
A3: dom (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0)))) = { d where d is Element of ND (V,A) : ( ( d in dom (Equality (A,(loc /. 1),(loc /. 3))) & (Equality (A,(loc /. 1),(loc /. 3))) . d = FALSE ) or ( d in dom (Lucas_inv (A,loc,x0,y0,p0,q0,n0)) & (Lucas_inv (A,loc,x0,y0,p0,q0,n0)) . d = FALSE ) or ( d in dom (Equality (A,(loc /. 1),(loc /. 3))) & (Equality (A,(loc /. 1),(loc /. 3))) . d = TRUE & d in dom (Lucas_inv (A,loc,x0,y0,p0,q0,n0)) & (Lucas_inv (A,loc,x0,y0,p0,q0,n0)) . d = TRUE ) ) } by PARTPR_1:16;
A4: dom (denaming (V,A,(loc /. 1))) = { d where d is NonatomicND of V,A : loc /. 1 in dom d } by NOMIN_1:def 18;
A5: dom (denaming (V,A,(loc /. 3))) = { d where d is NonatomicND of V,A : loc /. 3 in dom d } by NOMIN_1:def 18;
A6: dom (Equality (A,(loc /. 1),(loc /. 3))) = (dom (denaming (V,A,(loc /. 1)))) /\ (dom (denaming (V,A,(loc /. 3)))) by A1, NOMIN_4:11;
A7: not d in dom (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0)))) by A2, PARTPR_2:9;
dom (Equality (A,(loc /. 1),(loc /. 3))) c= dom (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0)))) by PARTPR_2:3;
then not d in dom (Equality (A,(loc /. 1),(loc /. 3))) by A2, PARTPR_2:9;
then A8: ( not d in dom (denaming (V,A,(loc /. 1))) or not d in dom (denaming (V,A,(loc /. 3))) ) by A6, XBOOLE_0:def 4;
dom (Lucas_inv (A,loc,x0,y0,p0,q0,n0)) = ND (V,A) by Def15;
then A9: d in dom (Lucas_inv (A,loc,x0,y0,p0,q0,n0)) ;
then (Lucas_inv (A,loc,x0,y0,p0,q0,n0)) . d <> FALSE by A3, A7;
then Lucas_inv_pred A,loc,x0,y0,p0,q0,n0,d by A9, Def15;
then consider d1 being NonatomicND of V,A such that
A10: d = d1 and
A11: {(loc /. 1),(loc /. 2),(loc /. 3),(loc /. 4),(loc /. 5),(loc /. 6),(loc /. 7),(loc /. 8),(loc /. 9),(loc /. 10)} c= dom d1 and
( d1 . (loc /. 2) = 1 & d1 . (loc /. 3) = n0 & d1 . (loc /. 7) = p0 & d1 . (loc /. 8) = q0 & ex I being Nat st
( I = d1 . (loc /. 1) & d1 . (loc /. 4) = Lucas (x0,y0,p0,q0,I) & d1 . (loc /. 5) = Lucas (x0,y0,p0,q0,(I + 1)) ) ) ;
( loc /. 1 in {(loc /. 1),(loc /. 2),(loc /. 3),(loc /. 4),(loc /. 5),(loc /. 6),(loc /. 7),(loc /. 8),(loc /. 9),(loc /. 10)} & loc /. 3 in {(loc /. 1),(loc /. 2),(loc /. 3),(loc /. 4),(loc /. 5),(loc /. 6),(loc /. 7),(loc /. 8),(loc /. 9),(loc /. 10)} ) by ENUMSET1:def 8;
hence (valid_Lucas_output (A,z,x0,y0,p0,q0,n0)) . ((SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d) = TRUE by A4, A5, A8, A10, A11; :: thesis: verum
end;
hence <*(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Lucas_inv (A,loc,x0,y0,p0,q0,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Lucas_output (A,z,x0,y0,p0,q0,n0))*> is SFHT of (ND (V,A)) by NOMIN_3:28; :: thesis: verum