let V, A be set ; :: thesis: for z being Element of V
for loc being V -valued Function
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))),(Fibonacci_inv (A,loc,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Fibonacci_output (A,z,n0))*> is SFHT of (ND (V,A))

let z be Element of V; :: thesis: for loc being V -valued Function
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))),(Fibonacci_inv (A,loc,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Fibonacci_output (A,z,n0))*> is SFHT of (ND (V,A))

let loc be V -valued Function; :: 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))),(Fibonacci_inv (A,loc,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Fibonacci_output (A,z,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))),(Fibonacci_inv (A,loc,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Fibonacci_output (A,z,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 D = ND (V,A);
set inv = Fibonacci_inv (A,loc,n0);
set O = valid_Fibonacci_output (A,z,n0);
set Di = denaming (V,A,(loc /. 1));
set Dn = denaming (V,A,(loc /. 3));
set Ds = denaming (V,A,(loc /. 4));
set g = SC_assignment ((denaming (V,A,(loc /. 4))),z);
set E = Equality (A,(loc /. 1),(loc /. 3));
set q = PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Fibonacci_inv (A,loc,n0)));
set N = PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Fibonacci_inv (A,loc,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))),(Fibonacci_inv (A,loc,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Fibonacci_output (A,z,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))),(Fibonacci_inv (A,loc,n0))))) & (PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Fibonacci_inv (A,loc,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_Fibonacci_output (A,z,n0)) holds
(valid_Fibonacci_output (A,z,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))),(Fibonacci_inv (A,loc,n0))))) & (PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Fibonacci_inv (A,loc,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_Fibonacci_output (A,z,n0)) implies (valid_Fibonacci_output (A,z,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))),(Fibonacci_inv (A,loc,n0))))) and
(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Fibonacci_inv (A,loc,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_Fibonacci_output (A,z,n0)) ; :: thesis: (valid_Fibonacci_output (A,z,n0)) . ((SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d) = TRUE
A3: dom (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Fibonacci_inv (A,loc,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 (Fibonacci_inv (A,loc,n0)) & (Fibonacci_inv (A,loc,n0)) . d = FALSE ) or ( d in dom (Equality (A,(loc /. 1),(loc /. 3))) & (Equality (A,(loc /. 1),(loc /. 3))) . d = TRUE & d in dom (Fibonacci_inv (A,loc,n0)) & (Fibonacci_inv (A,loc,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))),(Fibonacci_inv (A,loc,n0)))) by A2, PARTPR_2:9;
dom (Equality (A,(loc /. 1),(loc /. 3))) c= dom (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Fibonacci_inv (A,loc,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 (Fibonacci_inv (A,loc,n0)) = ND (V,A) by Def19;
then A9: d in dom (Fibonacci_inv (A,loc,n0)) ;
then (Fibonacci_inv (A,loc,n0)) . d <> FALSE by A3, A7;
then A10: Fibonacci_inv_pred A,loc,n0,d by A9, Def19;
( loc /. 1 in {(loc /. 1),(loc /. 2),(loc /. 3),(loc /. 4),(loc /. 5),(loc /. 6)} & loc /. 3 in {(loc /. 1),(loc /. 2),(loc /. 3),(loc /. 4),(loc /. 5),(loc /. 6)} ) by ENUMSET1:def 4;
hence (valid_Fibonacci_output (A,z,n0)) . ((SC_assignment ((denaming (V,A,(loc /. 4))),z)) . d) = TRUE by A4, A5, A8, A10; :: thesis: verum
end;
hence <*(PP_inversion (PP_and ((Equality (A,(loc /. 1),(loc /. 3))),(Fibonacci_inv (A,loc,n0))))),(SC_assignment ((denaming (V,A,(loc /. 4))),z)),(valid_Fibonacci_output (A,z,n0))*> is SFHT of (ND (V,A)) by NOMIN_3:28; :: thesis: verum