:: TWOSCOMP semantic presentation
deffunc H1( Element of BOOLEAN , Element of BOOLEAN ) -> Element of BOOLEAN = a1 '&' a2;
definition
func and2 -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def1:
:: TWOSCOMP:def 1
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = b1 '&' b2;
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = b2 '&' b3
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = b3 '&' b4 ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = b3 '&' b4 ) holds
b1 = b2
func and2a -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def2:
:: TWOSCOMP:def 2
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = ('not' b1) '&' b2;
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = ('not' b2) '&' b3
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = ('not' b3) '&' b4 ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = ('not' b3) '&' b4 ) holds
b1 = b2
func and2b -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def3:
:: TWOSCOMP:def 3
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = ('not' b1) '&' ('not' b2);
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = ('not' b2) '&' ('not' b3)
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = ('not' b3) '&' ('not' b4) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = ('not' b3) '&' ('not' b4) ) holds
b1 = b2
end;
:: deftheorem Def1 defines and2 TWOSCOMP:def 1 :
:: deftheorem Def2 defines and2a TWOSCOMP:def 2 :
:: deftheorem Def3 defines and2b TWOSCOMP:def 3 :
definition
func nand2 -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def4:
:: TWOSCOMP:def 4
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = 'not' (b1 '&' b2);
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = 'not' (b2 '&' b3)
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = 'not' (b3 '&' b4) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = 'not' (b3 '&' b4) ) holds
b1 = b2
func nand2a -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def5:
:: TWOSCOMP:def 5
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = 'not' (('not' b1) '&' b2);
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = 'not' (('not' b2) '&' b3)
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = 'not' (('not' b3) '&' b4) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = 'not' (('not' b3) '&' b4) ) holds
b1 = b2
func nand2b -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def6:
:: TWOSCOMP:def 6
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = 'not' (('not' b1) '&' ('not' b2));
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = 'not' (('not' b2) '&' ('not' b3))
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = 'not' (('not' b3) '&' ('not' b4)) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = 'not' (('not' b3) '&' ('not' b4)) ) holds
b1 = b2
end;
:: deftheorem Def4 defines nand2 TWOSCOMP:def 4 :
:: deftheorem Def5 defines nand2a TWOSCOMP:def 5 :
:: deftheorem Def6 defines nand2b TWOSCOMP:def 6 :
definition
func or2 -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def7:
:: TWOSCOMP:def 7
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = b1 'or' b2;
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = b2 'or' b3
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = b3 'or' b4 ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = b3 'or' b4 ) holds
b1 = b2
func or2a -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def8:
:: TWOSCOMP:def 8
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = ('not' b1) 'or' b2;
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = ('not' b2) 'or' b3
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = ('not' b3) 'or' b4 ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = ('not' b3) 'or' b4 ) holds
b1 = b2
func or2b -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def9:
:: TWOSCOMP:def 9
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = ('not' b1) 'or' ('not' b2);
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = ('not' b2) 'or' ('not' b3)
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = ('not' b3) 'or' ('not' b4) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = ('not' b3) 'or' ('not' b4) ) holds
b1 = b2
end;
:: deftheorem Def7 defines or2 TWOSCOMP:def 7 :
:: deftheorem Def8 defines or2a TWOSCOMP:def 8 :
:: deftheorem Def9 defines or2b TWOSCOMP:def 9 :
definition
func nor2 -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def10:
:: TWOSCOMP:def 10
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = 'not' (b1 'or' b2);
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = 'not' (b2 'or' b3)
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = 'not' (b3 'or' b4) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = 'not' (b3 'or' b4) ) holds
b1 = b2
func nor2a -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def11:
:: TWOSCOMP:def 11
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = 'not' (('not' b1) 'or' b2);
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = 'not' (('not' b2) 'or' b3)
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = 'not' (('not' b3) 'or' b4) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = 'not' (('not' b3) 'or' b4) ) holds
b1 = b2
func nor2b -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def12:
:: TWOSCOMP:def 12
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = 'not' (('not' b1) 'or' ('not' b2));
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = 'not' (('not' b2) 'or' ('not' b3))
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = 'not' (('not' b3) 'or' ('not' b4)) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = 'not' (('not' b3) 'or' ('not' b4)) ) holds
b1 = b2
end;
:: deftheorem Def10 defines nor2 TWOSCOMP:def 10 :
:: deftheorem Def11 defines nor2a TWOSCOMP:def 11 :
:: deftheorem Def12 defines nor2b TWOSCOMP:def 12 :
definition
func xor2 -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def13:
:: TWOSCOMP:def 13
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = b1 'xor' b2;
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = b2 'xor' b3
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = b3 'xor' b4 ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = b3 'xor' b4 ) holds
b1 = b2
func xor2a -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def14:
:: TWOSCOMP:def 14
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = ('not' b1) 'xor' b2;
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = ('not' b2) 'xor' b3
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = ('not' b3) 'xor' b4 ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = ('not' b3) 'xor' b4 ) holds
b1 = b2
func xor2b -> Function of 2
-tuples_on BOOLEAN ,
BOOLEAN means :
Def15:
:: TWOSCOMP:def 15
for
b1,
b2 being
Element of
BOOLEAN holds
a1 . <*b1,b2*> = ('not' b1) 'xor' ('not' b2);
existence
ex b1 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3 being Element of BOOLEAN holds b1 . <*b2,b3*> = ('not' b2) 'xor' ('not' b3)
uniqueness
for b1, b2 being Function of 2 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4 being Element of BOOLEAN holds b1 . <*b3,b4*> = ('not' b3) 'xor' ('not' b4) ) & ( for b3, b4 being Element of BOOLEAN holds b2 . <*b3,b4*> = ('not' b3) 'xor' ('not' b4) ) holds
b1 = b2
end;
:: deftheorem Def13 defines xor2 TWOSCOMP:def 13 :
:: deftheorem Def14 defines xor2a TWOSCOMP:def 14 :
:: deftheorem Def15 defines xor2b TWOSCOMP:def 15 :
theorem Th1: :: TWOSCOMP:1
canceled;
theorem Th2: :: TWOSCOMP:2
canceled;
theorem Th3: :: TWOSCOMP:3
theorem Th4: :: TWOSCOMP:4
theorem Th5: :: TWOSCOMP:5
theorem Th6: :: TWOSCOMP:6
theorem Th7: :: TWOSCOMP:7
theorem Th8: :: TWOSCOMP:8
theorem Th9: :: TWOSCOMP:9
theorem Th10: :: TWOSCOMP:10
theorem Th11: :: TWOSCOMP:11
(
and2 . <*0,0*> = 0 &
and2 . <*0,1*> = 0 &
and2 . <*1,0*> = 0 &
and2 . <*1,1*> = 1 &
and2a . <*0,0*> = 0 &
and2a . <*0,1*> = 1 &
and2a . <*1,0*> = 0 &
and2a . <*1,1*> = 0 &
and2b . <*0,0*> = 1 &
and2b . <*0,1*> = 0 &
and2b . <*1,0*> = 0 &
and2b . <*1,1*> = 0 )
theorem Th12: :: TWOSCOMP:12
(
or2 . <*0,0*> = 0 &
or2 . <*0,1*> = 1 &
or2 . <*1,0*> = 1 &
or2 . <*1,1*> = 1 &
or2a . <*0,0*> = 1 &
or2a . <*0,1*> = 1 &
or2a . <*1,0*> = 0 &
or2a . <*1,1*> = 1 &
or2b . <*0,0*> = 1 &
or2b . <*0,1*> = 1 &
or2b . <*1,0*> = 1 &
or2b . <*1,1*> = 0 )
theorem Th13: :: TWOSCOMP:13
definition
func and3 -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def16:
:: TWOSCOMP:def 16
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (b1 '&' b2) '&' b3;
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (b2 '&' b3) '&' b4
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (b3 '&' b4) '&' b5 ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (b3 '&' b4) '&' b5 ) holds
b1 = b2
func and3a -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def17:
:: TWOSCOMP:def 17
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (('not' b1) '&' b2) '&' b3;
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (('not' b2) '&' b3) '&' b4
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (('not' b3) '&' b4) '&' b5 ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (('not' b3) '&' b4) '&' b5 ) holds
b1 = b2
func and3b -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def18:
:: TWOSCOMP:def 18
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (('not' b1) '&' ('not' b2)) '&' b3;
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (('not' b2) '&' ('not' b3)) '&' b4
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (('not' b3) '&' ('not' b4)) '&' b5 ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (('not' b3) '&' ('not' b4)) '&' b5 ) holds
b1 = b2
func and3c -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def19:
:: TWOSCOMP:def 19
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (('not' b1) '&' ('not' b2)) '&' ('not' b3);
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (('not' b2) '&' ('not' b3)) '&' ('not' b4)
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (('not' b3) '&' ('not' b4)) '&' ('not' b5) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (('not' b3) '&' ('not' b4)) '&' ('not' b5) ) holds
b1 = b2
end;
:: deftheorem Def16 defines and3 TWOSCOMP:def 16 :
:: deftheorem Def17 defines and3a TWOSCOMP:def 17 :
:: deftheorem Def18 defines and3b TWOSCOMP:def 18 :
:: deftheorem Def19 defines and3c TWOSCOMP:def 19 :
definition
func nand3 -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def20:
:: TWOSCOMP:def 20
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = 'not' ((b1 '&' b2) '&' b3);
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = 'not' ((b2 '&' b3) '&' b4)
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = 'not' ((b3 '&' b4) '&' b5) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = 'not' ((b3 '&' b4) '&' b5) ) holds
b1 = b2
func nand3a -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def21:
:: TWOSCOMP:def 21
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = 'not' ((('not' b1) '&' b2) '&' b3);
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = 'not' ((('not' b2) '&' b3) '&' b4)
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = 'not' ((('not' b3) '&' b4) '&' b5) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = 'not' ((('not' b3) '&' b4) '&' b5) ) holds
b1 = b2
func nand3b -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def22:
:: TWOSCOMP:def 22
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = 'not' ((('not' b1) '&' ('not' b2)) '&' b3);
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = 'not' ((('not' b2) '&' ('not' b3)) '&' b4)
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = 'not' ((('not' b3) '&' ('not' b4)) '&' b5) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = 'not' ((('not' b3) '&' ('not' b4)) '&' b5) ) holds
b1 = b2
func nand3c -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def23:
:: TWOSCOMP:def 23
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = 'not' ((('not' b1) '&' ('not' b2)) '&' ('not' b3));
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = 'not' ((('not' b2) '&' ('not' b3)) '&' ('not' b4))
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = 'not' ((('not' b3) '&' ('not' b4)) '&' ('not' b5)) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = 'not' ((('not' b3) '&' ('not' b4)) '&' ('not' b5)) ) holds
b1 = b2
end;
:: deftheorem Def20 defines nand3 TWOSCOMP:def 20 :
:: deftheorem Def21 defines nand3a TWOSCOMP:def 21 :
:: deftheorem Def22 defines nand3b TWOSCOMP:def 22 :
:: deftheorem Def23 defines nand3c TWOSCOMP:def 23 :
definition
func or3 -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def24:
:: TWOSCOMP:def 24
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (b1 'or' b2) 'or' b3;
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (b2 'or' b3) 'or' b4
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (b3 'or' b4) 'or' b5 ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (b3 'or' b4) 'or' b5 ) holds
b1 = b2
func or3a -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def25:
:: TWOSCOMP:def 25
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (('not' b1) 'or' b2) 'or' b3;
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (('not' b2) 'or' b3) 'or' b4
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (('not' b3) 'or' b4) 'or' b5 ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (('not' b3) 'or' b4) 'or' b5 ) holds
b1 = b2
func or3b -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def26:
:: TWOSCOMP:def 26
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (('not' b1) 'or' ('not' b2)) 'or' b3;
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (('not' b2) 'or' ('not' b3)) 'or' b4
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (('not' b3) 'or' ('not' b4)) 'or' b5 ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (('not' b3) 'or' ('not' b4)) 'or' b5 ) holds
b1 = b2
func or3c -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def27:
:: TWOSCOMP:def 27
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (('not' b1) 'or' ('not' b2)) 'or' ('not' b3);
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (('not' b2) 'or' ('not' b3)) 'or' ('not' b4)
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (('not' b3) 'or' ('not' b4)) 'or' ('not' b5) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (('not' b3) 'or' ('not' b4)) 'or' ('not' b5) ) holds
b1 = b2
end;
:: deftheorem Def24 defines or3 TWOSCOMP:def 24 :
:: deftheorem Def25 defines or3a TWOSCOMP:def 25 :
:: deftheorem Def26 defines or3b TWOSCOMP:def 26 :
:: deftheorem Def27 defines or3c TWOSCOMP:def 27 :
definition
func nor3 -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def28:
:: TWOSCOMP:def 28
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = 'not' ((b1 'or' b2) 'or' b3);
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = 'not' ((b2 'or' b3) 'or' b4)
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = 'not' ((b3 'or' b4) 'or' b5) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = 'not' ((b3 'or' b4) 'or' b5) ) holds
b1 = b2
func nor3a -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def29:
:: TWOSCOMP:def 29
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = 'not' ((('not' b1) 'or' b2) 'or' b3);
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = 'not' ((('not' b2) 'or' b3) 'or' b4)
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = 'not' ((('not' b3) 'or' b4) 'or' b5) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = 'not' ((('not' b3) 'or' b4) 'or' b5) ) holds
b1 = b2
func nor3b -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def30:
:: TWOSCOMP:def 30
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = 'not' ((('not' b1) 'or' ('not' b2)) 'or' b3);
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = 'not' ((('not' b2) 'or' ('not' b3)) 'or' b4)
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = 'not' ((('not' b3) 'or' ('not' b4)) 'or' b5) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = 'not' ((('not' b3) 'or' ('not' b4)) 'or' b5) ) holds
b1 = b2
func nor3c -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def31:
:: TWOSCOMP:def 31
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = 'not' ((('not' b1) 'or' ('not' b2)) 'or' ('not' b3));
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = 'not' ((('not' b2) 'or' ('not' b3)) 'or' ('not' b4))
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = 'not' ((('not' b3) 'or' ('not' b4)) 'or' ('not' b5)) ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = 'not' ((('not' b3) 'or' ('not' b4)) 'or' ('not' b5)) ) holds
b1 = b2
end;
:: deftheorem Def28 defines nor3 TWOSCOMP:def 28 :
:: deftheorem Def29 defines nor3a TWOSCOMP:def 29 :
:: deftheorem Def30 defines nor3b TWOSCOMP:def 30 :
:: deftheorem Def31 defines nor3c TWOSCOMP:def 31 :
definition
func xor3 -> Function of 3
-tuples_on BOOLEAN ,
BOOLEAN means :
Def32:
:: TWOSCOMP:def 32
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
a1 . <*b1,b2,b3*> = (b1 'xor' b2) 'xor' b3;
existence
ex b1 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st
for b2, b3, b4 being Element of BOOLEAN holds b1 . <*b2,b3,b4*> = (b2 'xor' b3) 'xor' b4
uniqueness
for b1, b2 being Function of 3 -tuples_on BOOLEAN , BOOLEAN st ( for b3, b4, b5 being Element of BOOLEAN holds b1 . <*b3,b4,b5*> = (b3 'xor' b4) 'xor' b5 ) & ( for b3, b4, b5 being Element of BOOLEAN holds b2 . <*b3,b4,b5*> = (b3 'xor' b4) 'xor' b5 ) holds
b1 = b2
end;
:: deftheorem Def32 defines xor3 TWOSCOMP:def 32 :
theorem Th14: :: TWOSCOMP:14
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
(
and3 . <*b1,b2,b3*> = (b1 '&' b2) '&' b3 &
and3a . <*b1,b2,b3*> = (('not' b1) '&' b2) '&' b3 &
and3b . <*b1,b2,b3*> = (('not' b1) '&' ('not' b2)) '&' b3 &
and3c . <*b1,b2,b3*> = (('not' b1) '&' ('not' b2)) '&' ('not' b3) )
by Def16, Def17, Def18, Def19;
theorem Th15: :: TWOSCOMP:15
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
(
nand3 . <*b1,b2,b3*> = 'not' ((b1 '&' b2) '&' b3) &
nand3a . <*b1,b2,b3*> = 'not' ((('not' b1) '&' b2) '&' b3) &
nand3b . <*b1,b2,b3*> = 'not' ((('not' b1) '&' ('not' b2)) '&' b3) &
nand3c . <*b1,b2,b3*> = 'not' ((('not' b1) '&' ('not' b2)) '&' ('not' b3)) )
by Def20, Def21, Def22, Def23;
theorem Th16: :: TWOSCOMP:16
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
(
or3 . <*b1,b2,b3*> = (b1 'or' b2) 'or' b3 &
or3a . <*b1,b2,b3*> = (('not' b1) 'or' b2) 'or' b3 &
or3b . <*b1,b2,b3*> = (('not' b1) 'or' ('not' b2)) 'or' b3 &
or3c . <*b1,b2,b3*> = (('not' b1) 'or' ('not' b2)) 'or' ('not' b3) )
by Def24, Def25, Def26, Def27;
theorem Th17: :: TWOSCOMP:17
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
(
nor3 . <*b1,b2,b3*> = 'not' ((b1 'or' b2) 'or' b3) &
nor3a . <*b1,b2,b3*> = 'not' ((('not' b1) 'or' b2) 'or' b3) &
nor3b . <*b1,b2,b3*> = 'not' ((('not' b1) 'or' ('not' b2)) 'or' b3) &
nor3c . <*b1,b2,b3*> = 'not' ((('not' b1) 'or' ('not' b2)) 'or' ('not' b3)) )
by Def28, Def29, Def30, Def31;
theorem Th18: :: TWOSCOMP:18
canceled;
theorem Th19: :: TWOSCOMP:19
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
(
and3 . <*b1,b2,b3*> = nor3c . <*b1,b2,b3*> &
and3a . <*b1,b2,b3*> = nor3b . <*b3,b2,b1*> &
and3b . <*b1,b2,b3*> = nor3a . <*b3,b2,b1*> &
and3c . <*b1,b2,b3*> = nor3 . <*b1,b2,b3*> )
theorem Th20: :: TWOSCOMP:20
for
b1,
b2,
b3 being
Element of
BOOLEAN holds
(
or3 . <*b1,b2,b3*> = nand3c . <*b1,b2,b3*> &
or3a . <*b1,b2,b3*> = nand3b . <*b3,b2,b1*> &
or3b . <*b1,b2,b3*> = nand3a . <*b3,b2,b1*> &
or3c . <*b1,b2,b3*> = nand3 . <*b1,b2,b3*> )
theorem Th21: :: TWOSCOMP:21
(
and3 . <*0,0,0*> = 0 &
and3 . <*0,0,1*> = 0 &
and3 . <*0,1,0*> = 0 &
and3 . <*0,1,1*> = 0 &
and3 . <*1,0,0*> = 0 &
and3 . <*1,0,1*> = 0 &
and3 . <*1,1,0*> = 0 &
and3 . <*1,1,1*> = 1 )
theorem Th22: :: TWOSCOMP:22
(
and3a . <*0,0,0*> = 0 &
and3a . <*0,0,1*> = 0 &
and3a . <*0,1,0*> = 0 &
and3a . <*0,1,1*> = 1 &
and3a . <*1,0,0*> = 0 &
and3a . <*1,0,1*> = 0 &
and3a . <*1,1,0*> = 0 &
and3a . <*1,1,1*> = 0 )
theorem Th23: :: TWOSCOMP:23
(
and3b . <*0,0,0*> = 0 &
and3b . <*0,0,1*> = 1 &
and3b . <*0,1,0*> = 0 &
and3b . <*0,1,1*> = 0 &
and3b . <*1,0,0*> = 0 &
and3b . <*1,0,1*> = 0 &
and3b . <*1,1,0*> = 0 &
and3b . <*1,1,1*> = 0 )
theorem Th24: :: TWOSCOMP:24
(
and3c . <*0,0,0*> = 1 &
and3c . <*0,0,1*> = 0 &
and3c . <*0,1,0*> = 0 &
and3c . <*0,1,1*> = 0 &
and3c . <*1,0,0*> = 0 &
and3c . <*1,0,1*> = 0 &
and3c . <*1,1,0*> = 0 &
and3c . <*1,1,1*> = 0 )
theorem Th25: :: TWOSCOMP:25
(
or3 . <*0,0,0*> = 0 &
or3 . <*0,0,1*> = 1 &
or3 . <*0,1,0*> = 1 &
or3 . <*0,1,1*> = 1 &
or3 . <*1,0,0*> = 1 &
or3 . <*1,0,1*> = 1 &
or3 . <*1,1,0*> = 1 &
or3 . <*1,1,1*> = 1 )
theorem Th26: :: TWOSCOMP:26
(
or3a . <*0,0,0*> = 1 &
or3a . <*0,0,1*> = 1 &
or3a . <*0,1,0*> = 1 &
or3a . <*0,1,1*> = 1 &
or3a . <*1,0,0*> = 0 &
or3a . <*1,0,1*> = 1 &
or3a . <*1,1,0*> = 1 &
or3a . <*1,1,1*> = 1 )
theorem Th27: :: TWOSCOMP:27
(
or3b . <*0,0,0*> = 1 &
or3b . <*0,0,1*> = 1 &
or3b . <*0,1,0*> = 1 &
or3b . <*0,1,1*> = 1 &
or3b . <*1,0,0*> = 1 &
or3b . <*1,0,1*> = 1 &
or3b . <*1,1,0*> = 0 &
or3b . <*1,1,1*> = 1 )
theorem Th28: :: TWOSCOMP:28
(
or3c . <*0,0,0*> = 1 &
or3c . <*0,0,1*> = 1 &
or3c . <*0,1,0*> = 1 &
or3c . <*0,1,1*> = 1 &
or3c . <*1,0,0*> = 1 &
or3c . <*1,0,1*> = 1 &
or3c . <*1,1,0*> = 1 &
or3c . <*1,1,1*> = 0 )
theorem Th29: :: TWOSCOMP:29
(
xor3 . <*0,0,0*> = 0 &
xor3 . <*0,0,1*> = 1 &
xor3 . <*0,1,0*> = 1 &
xor3 . <*0,1,1*> = 0 &
xor3 . <*1,0,0*> = 1 &
xor3 . <*1,0,1*> = 0 &
xor3 . <*1,1,0*> = 0 &
xor3 . <*1,1,1*> = 1 )
:: deftheorem Def33 defines CompStr TWOSCOMP:def 33 :
:: deftheorem Def34 defines CompCirc TWOSCOMP:def 34 :
:: deftheorem Def35 defines CompOutput TWOSCOMP:def 35 :
:: deftheorem Def36 defines IncrementStr TWOSCOMP:def 36 :
:: deftheorem Def37 defines IncrementCirc TWOSCOMP:def 37 :
:: deftheorem Def38 defines IncrementOutput TWOSCOMP:def 38 :
:: deftheorem Def39 defines BitCompStr TWOSCOMP:def 39 :
:: deftheorem Def40 defines BitCompCirc TWOSCOMP:def 40 :
theorem Th30: :: TWOSCOMP:30
theorem Th31: :: TWOSCOMP:31
theorem Th32: :: TWOSCOMP:32
theorem Th33: :: TWOSCOMP:33
theorem Th34: :: TWOSCOMP:34
theorem Th35: :: TWOSCOMP:35
theorem Th36: :: TWOSCOMP:36
theorem Th37: :: TWOSCOMP:37
theorem Th38: :: TWOSCOMP:38
theorem Th39: :: TWOSCOMP:39
theorem Th40: :: TWOSCOMP:40
theorem Th41: :: TWOSCOMP:41
theorem Th42: :: TWOSCOMP:42
theorem Th43: :: TWOSCOMP:43
theorem Th44: :: TWOSCOMP:44
theorem Th45: :: TWOSCOMP:45
theorem Th46: :: TWOSCOMP:46
theorem Th47: :: TWOSCOMP:47
theorem Th48: :: TWOSCOMP:48
theorem Th49: :: TWOSCOMP:49
theorem Th50: :: TWOSCOMP:50
theorem Th51: :: TWOSCOMP:51
theorem Th52: :: TWOSCOMP:52
theorem Th53: :: TWOSCOMP:53
theorem Th54: :: TWOSCOMP:54
theorem Th55: :: TWOSCOMP:55
theorem Th56: :: TWOSCOMP:56
theorem Th57: :: TWOSCOMP:57
theorem Th58: :: TWOSCOMP:58
theorem Th59: :: TWOSCOMP:59
theorem Th60: :: TWOSCOMP:60
theorem Th61: :: TWOSCOMP:61
theorem Th62: :: TWOSCOMP:62
theorem Th63: :: TWOSCOMP:63
theorem Th64: :: TWOSCOMP:64