let x, y, z, a, b be Element of {0,1,2}; ( a = 0 & b = 1 implies ( x + y = y + x & (x + y) + z = x + (y + z) & x + a = x & x + (- x) = a & x * y = y * x & (x * y) * z = x * (y * z) & b * x = x & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) ) )
assume that
A1:
a = 0
and
A2:
b = 1
; ( x + y = y + x & (x + y) + z = x + (y + z) & x + a = x & x + (- x) = a & x * y = y * x & (x * y) * z = x * (y * z) & b * x = x & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) )
thus
x + y = y + x
( (x + y) + z = x + (y + z) & x + a = x & x + (- x) = a & x * y = y * x & (x * y) * z = x * (y * z) & b * x = x & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) )
thus
(x + y) + z = x + (y + z)
by A1, Lm7; ( x + a = x & x + (- x) = a & x * y = y * x & (x * y) * z = x * (y * z) & b * x = x & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) )
thus
x + a = x
by A1, Def13; ( x + (- x) = a & x * y = y * x & (x * y) * z = x * (y * z) & b * x = x & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) )
thus
x + (- x) = a
by A1, Lm7; ( x * y = y * x & (x * y) * z = x * (y * z) & b * x = x & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) )
thus
x * y = y * x
( (x * y) * z = x * (y * z) & b * x = x & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) )
thus
(x * y) * z = x * (y * z)
( b * x = x & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) )proof
hence
(x * y) * z = x * (y * z)
;
verum
end;
thus
b * x = x
by A2, Def14; ( ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) & a <> b & x * (y + z) = (x * y) + (x * z) )
thus
( x <> a implies ex y being Element of {0,1,2} st x * y = b )
( a <> b & x * (y + z) = (x * y) + (x * z) )proof
now ( ( x = 0 & ( x <> a implies ex y being Element of {0,1,2} st x * y = b ) ) or ( x = 1 & ex y being Element of {0,1,2} st
( x <> a implies ex y being Element of {0,1,2} st x * y = b ) ) or ( x = 2 & ex y being Element of {0,1,2} st
( x <> a implies ex y being Element of {0,1,2} st x * y = b ) ) )end;
hence
(
x <> a implies ex
y being
Element of
{0,1,2} st
x * y = b )
;
verum
end;
thus
a <> b
by A1, A2; x * (y + z) = (x * y) + (x * z)
thus
x * (y + z) = (x * y) + (x * z)
verumproof
now x * (y + z) = (x * y) + (x * z)per cases
( x = 0 or y = 0 or z = 0 or ( x = 1 & y = 1 & z = 1 ) or ( x = 1 & y = 1 & z = 2 ) or ( x = 1 & y = 2 & z = 1 ) or ( x = 1 & y = 2 & z = 2 ) or ( x = 2 & y = 1 & z = 1 ) or ( x = 2 & y = 1 & z = 2 ) or ( x = 2 & y = 2 & z = 1 ) or ( x = 2 & y = 2 & z = 2 ) )
by ENUMSET1:def 1;
end; end;
hence
x * (y + z) = (x * y) + (x * z)
;
verum
end;