thus
( H,N are_complements_in G implies ( N is normal & H * N = the carrier of G & H /\ N = (1). G ) )
( N is normal & H * N = the carrier of G & H /\ N = (1). G implies H,N are_complements_in G )
assume A1:
N is normal
; ( not H * N = the carrier of G or not H /\ N = (1). G or H,N are_complements_in G )
assume A2:
H * N = the carrier of G
; ( not H /\ N = (1). G or H,N are_complements_in G )
assume A3:
H /\ N = (1). G
; H,N are_complements_in G
ex H1 being strict Subgroup of G ex N1 being strict normal Subgroup of G st
( H1 = multMagma(# the carrier of H, the multF of H #) & N1 = multMagma(# the carrier of N, the multF of N #) & H1 * N1 = the carrier of G & H1 /\ N1 = (1). G )
proof
reconsider H1 =
multMagma(# the
carrier of
H, the
multF of
H #) as
strict Subgroup of
G by Th1;
take
H1
;
ex N1 being strict normal Subgroup of G st
( H1 = multMagma(# the carrier of H, the multF of H #) & N1 = multMagma(# the carrier of N, the multF of N #) & H1 * N1 = the carrier of G & H1 /\ N1 = (1). G )
reconsider N1 =
multMagma(# the
carrier of
N, the
multF of
N #) as
strict normal Subgroup of
G by A1, Th2;
take
N1
;
( H1 = multMagma(# the carrier of H, the multF of H #) & N1 = multMagma(# the carrier of N, the multF of N #) & H1 * N1 = the carrier of G & H1 /\ N1 = (1). G )
thus
H1 = multMagma(# the
carrier of
H, the
multF of
H #)
;
( N1 = multMagma(# the carrier of N, the multF of N #) & H1 * N1 = the carrier of G & H1 /\ N1 = (1). G )
thus
N1 = multMagma(# the
carrier of
N, the
multF of
N #)
;
( H1 * N1 = the carrier of G & H1 /\ N1 = (1). G )
thus
H1 * N1 = the
carrier of
G
by A2, Th42;
H1 /\ N1 = (1). G
thus
H1 /\ N1 = (1). G
by A3, Th42;
verum
end;
hence
H,N are_complements_in G
; verum