let L be non empty multLoopStr ; :: thesis: ( ( for a being Element of L holds a * (1. L) = a ) & ( for a being Element of L ex x being Element of L st a * x = 1. L ) & ( for a, b, c being Element of L holds (a * b) * c = a * (b * c) ) implies for a being Element of L ex x being Element of L st x * a = 1. L )
assume A1: ( ( for a being Element of L holds a * (1. L) = a ) & ( for a being Element of L ex x being Element of L st a * x = 1. L ) & ( for a, b, c being Element of L holds (a * b) * c = a * (b * c) ) ) ; :: thesis: for a being Element of L ex x being Element of L st x * a = 1. L
let a be Element of L; :: thesis: ex x being Element of L st x * a = 1. L
consider x being Element of L such that
A2: a * x = 1. L by A1;
x * a = 1. L by A1, A2, Lm16;
hence ex x being Element of L st x * a = 1. L ; :: thesis: verum