:: BVFUNC26 semantic presentation

definition
let c1, c2 be boolean-valued Function;
func c1 'nand' c2 -> Function means :Def1: :: BVFUNC26:def 1
( dom a3 = (dom a1) /\ (dom a2) & ( for b1 being set st b1 in dom a3 holds
a3 . b1 = (a1 . b1) 'nand' (a2 . b1) ) );
existence
ex b1 being Function st
( dom b1 = (dom c1) /\ (dom c2) & ( for b2 being set st b2 in dom b1 holds
b1 . b2 = (c1 . b2) 'nand' (c2 . b2) ) )
proof end;
uniqueness
for b1, b2 being Function st dom b1 = (dom c1) /\ (dom c2) & ( for b3 being set st b3 in dom b1 holds
b1 . b3 = (c1 . b3) 'nand' (c2 . b3) ) & dom b2 = (dom c1) /\ (dom c2) & ( for b3 being set st b3 in dom b2 holds
b2 . b3 = (c1 . b3) 'nand' (c2 . b3) ) holds
b1 = b2
proof end;
commutativity
for b1 being Function
for b2, b3 being boolean-valued Function st dom b1 = (dom b2) /\ (dom b3) & ( for b4 being set st b4 in dom b1 holds
b1 . b4 = (b2 . b4) 'nand' (b3 . b4) ) holds
( dom b1 = (dom b3) /\ (dom b2) & ( for b4 being set st b4 in dom b1 holds
b1 . b4 = (b3 . b4) 'nand' (b2 . b4) ) )
;
func c1 'nor' c2 -> Function means :Def2: :: BVFUNC26:def 2
( dom a3 = (dom a1) /\ (dom a2) & ( for b1 being set st b1 in dom a3 holds
a3 . b1 = (a1 . b1) 'nor' (a2 . b1) ) );
existence
ex b1 being Function st
( dom b1 = (dom c1) /\ (dom c2) & ( for b2 being set st b2 in dom b1 holds
b1 . b2 = (c1 . b2) 'nor' (c2 . b2) ) )
proof end;
uniqueness
for b1, b2 being Function st dom b1 = (dom c1) /\ (dom c2) & ( for b3 being set st b3 in dom b1 holds
b1 . b3 = (c1 . b3) 'nor' (c2 . b3) ) & dom b2 = (dom c1) /\ (dom c2) & ( for b3 being set st b3 in dom b2 holds
b2 . b3 = (c1 . b3) 'nor' (c2 . b3) ) holds
b1 = b2
proof end;
commutativity
for b1 being Function
for b2, b3 being boolean-valued Function st dom b1 = (dom b2) /\ (dom b3) & ( for b4 being set st b4 in dom b1 holds
b1 . b4 = (b2 . b4) 'nor' (b3 . b4) ) holds
( dom b1 = (dom b3) /\ (dom b2) & ( for b4 being set st b4 in dom b1 holds
b1 . b4 = (b3 . b4) 'nor' (b2 . b4) ) )
;
end;

:: deftheorem Def1 defines 'nand' BVFUNC26:def 1 :
for b1, b2 being boolean-valued Function
for b3 being Function holds
( b3 = b1 'nand' b2 iff ( dom b3 = (dom b1) /\ (dom b2) & ( for b4 being set st b4 in dom b3 holds
b3 . b4 = (b1 . b4) 'nand' (b2 . b4) ) ) );

:: deftheorem Def2 defines 'nor' BVFUNC26:def 2 :
for b1, b2 being boolean-valued Function
for b3 being Function holds
( b3 = b1 'nor' b2 iff ( dom b3 = (dom b1) /\ (dom b2) & ( for b4 being set st b4 in dom b3 holds
b3 . b4 = (b1 . b4) 'nor' (b2 . b4) ) ) );

registration
let c1, c2 be boolean-valued Function;
cluster a1 'nand' a2 -> boolean-valued ;
coherence
c1 'nand' c2 is boolean-valued
proof end;
cluster a1 'nor' a2 -> boolean-valued ;
coherence
c1 'nor' c2 is boolean-valued
proof end;
end;

definition
let c1 be non empty set ;
let c2, c3 be Element of Funcs c1,BOOLEAN ;
redefine func 'nand' as c2 'nand' c3 -> Element of Funcs a1,BOOLEAN means :Def3: :: BVFUNC26:def 3
for b1 being Element of a1 holds a4 . b1 = (a2 . b1) 'nand' (a3 . b1);
coherence
c2 'nand' c3 is Element of Funcs c1,BOOLEAN
proof end;
compatibility
for b1 being Element of Funcs c1,BOOLEAN holds
( b1 = c2 'nand' c3 iff for b2 being Element of c1 holds b1 . b2 = (c2 . b2) 'nand' (c3 . b2) )
proof end;
redefine func 'nor' as c2 'nor' c3 -> Element of Funcs a1,BOOLEAN means :Def4: :: BVFUNC26:def 4
for b1 being Element of a1 holds a4 . b1 = (a2 . b1) 'nor' (a3 . b1);
coherence
c2 'nor' c3 is Element of Funcs c1,BOOLEAN
proof end;
compatibility
for b1 being Element of Funcs c1,BOOLEAN holds
( b1 = c2 'nor' c3 iff for b2 being Element of c1 holds b1 . b2 = (c2 . b2) 'nor' (c3 . b2) )
proof end;
end;

:: deftheorem Def3 defines 'nand' BVFUNC26:def 3 :
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds
( b4 = b2 'nand' b3 iff for b5 being Element of b1 holds b4 . b5 = (b2 . b5) 'nand' (b3 . b5) );

:: deftheorem Def4 defines 'nor' BVFUNC26:def 4 :
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds
( b4 = b2 'nor' b3 iff for b5 being Element of b1 holds b4 . b5 = (b2 . b5) 'nor' (b3 . b5) );

definition
let c1 be non empty set ;
let c2, c3 be Element of BVF c1;
redefine func 'nand' as c2 'nand' c3 -> Element of BVF a1;
coherence
c2 'nand' c3 is Element of BVF c1
proof end;
redefine func 'nor' as c2 'nor' c3 -> Element of BVF a1;
coherence
c2 'nor' c3 is Element of BVF c1
proof end;
end;

theorem Th1: :: BVFUNC26:1
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nand' b3 = 'not' (b2 '&' b3)
proof end;

theorem Th2: :: BVFUNC26:2
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nor' b3 = 'not' (b2 'or' b3)
proof end;

theorem Th3: :: BVFUNC26:3
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds (I_el b1) 'nand' b2 = 'not' b2
proof end;

theorem Th4: :: BVFUNC26:4
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds (O_el b1) 'nand' b2 = I_el b1
proof end;

theorem Th5: :: BVFUNC26:5
for b1 being non empty set holds
( (O_el b1) 'nand' (O_el b1) = I_el b1 & (O_el b1) 'nand' (I_el b1) = I_el b1 & (I_el b1) 'nand' (I_el b1) = O_el b1 )
proof end;

theorem Th6: :: BVFUNC26:6
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds
( b2 'nand' b2 = 'not' b2 & 'not' (b2 'nand' b2) = b2 )
proof end;

theorem Th7: :: BVFUNC26:7
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds 'not' (b2 'nand' b3) = b2 '&' b3
proof end;

theorem Th8: :: BVFUNC26:8
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds
( b2 'nand' ('not' b2) = I_el b1 & 'not' (b2 'nand' ('not' b2)) = O_el b1 )
proof end;

theorem Th9: :: BVFUNC26:9
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b3 '&' b4) = 'not' ((b2 '&' b3) '&' b4)
proof end;

theorem Th10: :: BVFUNC26:10
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b3 '&' b4) = (b2 '&' b3) 'nand' b4
proof end;

theorem Th11: :: BVFUNC26:11
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b3 'or' b4) = ('not' (b2 '&' b3)) '&' ('not' (b2 '&' b4))
proof end;

theorem Th12: :: BVFUNC26:12
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b3 'xor' b4) = (b2 '&' b3) 'eqv' (b2 '&' b4)
proof end;

theorem Th13: :: BVFUNC26:13
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds
( b2 'nand' (b3 'nand' b4) = ('not' b2) 'or' (b3 '&' b4) & b2 'nand' (b3 'nand' b4) = b2 'imp' (b3 '&' b4) )
proof end;

theorem Th14: :: BVFUNC26:14
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds
( b2 'nand' (b3 'nor' b4) = (('not' b2) 'or' b3) 'or' b4 & b2 'nand' (b3 'nor' b4) = b2 'imp' (b3 'or' b4) )
proof end;

theorem Th15: :: BVFUNC26:15
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b3 'eqv' b4) = b2 'imp' (b3 'xor' b4)
proof end;

theorem Th16: :: BVFUNC26:16
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b2 '&' b3) = b2 'nand' b3
proof end;

theorem Th17: :: BVFUNC26:17
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b2 'or' b3) = ('not' b2) '&' ('not' (b2 '&' b3))
proof end;

theorem Th18: :: BVFUNC26:18
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b2 'eqv' b3) = b2 'imp' (b2 'xor' b3)
proof end;

theorem Th19: :: BVFUNC26:19
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds
( b2 'nand' (b2 'nand' b3) = ('not' b2) 'or' b3 & b2 'nand' (b2 'nand' b3) = b2 'imp' b3 )
proof end;

theorem Th20: :: BVFUNC26:20
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b2 'nor' b3) = I_el b1
proof end;

theorem Th21: :: BVFUNC26:21
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b2 'eqv' b3) = ('not' b2) 'or' ('not' b3)
proof end;

theorem Th22: :: BVFUNC26:22
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 '&' b3 = (b2 'nand' b3) 'nand' (b2 'nand' b3)
proof end;

theorem Th23: :: BVFUNC26:23
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds (b2 'nand' b3) 'nand' (b2 'nand' b4) = b2 '&' (b3 'or' b4)
proof end;

theorem Th24: :: BVFUNC26:24
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b3 'imp' b4) = (('not' b2) 'or' b3) '&' ('not' (b2 '&' b4))
proof end;

theorem Th25: :: BVFUNC26:25
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b2 'imp' b3) = 'not' (b2 '&' b3)
proof end;

theorem Th26: :: BVFUNC26:26
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds (I_el b1) 'nor' b2 = O_el b1
proof end;

theorem Th27: :: BVFUNC26:27
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds (O_el b1) 'nor' b2 = 'not' b2
proof end;

theorem Th28: :: BVFUNC26:28
for b1 being non empty set holds
( (O_el b1) 'nor' (O_el b1) = I_el b1 & (O_el b1) 'nor' (I_el b1) = O_el b1 & (I_el b1) 'nor' (I_el b1) = O_el b1 )
proof end;

theorem Th29: :: BVFUNC26:29
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds
( b2 'nor' b2 = 'not' b2 & 'not' (b2 'nor' b2) = b2 )
proof end;

theorem Th30: :: BVFUNC26:30
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds 'not' (b2 'nor' b3) = b2 'or' b3
proof end;

theorem Th31: :: BVFUNC26:31
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds
( b2 'nor' ('not' b2) = O_el b1 & 'not' (b2 'nor' ('not' b2)) = I_el b1 )
proof end;

theorem Th32: :: BVFUNC26:32
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds ('not' b2) '&' (b2 'xor' b3) = ('not' b2) '&' b3
proof end;

theorem Th33: :: BVFUNC26:33
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b3 '&' b4) = ('not' (b2 'or' b3)) 'or' ('not' (b2 'or' b4))
proof end;

theorem Th34: :: BVFUNC26:34
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b3 'or' b4) = 'not' ((b2 'or' b3) 'or' b4)
proof end;

theorem Th35: :: BVFUNC26:35
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b3 'eqv' b4) = ('not' b2) '&' (b3 'xor' b4)
proof end;

theorem Th36: :: BVFUNC26:36
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b3 'imp' b4) = (('not' b2) '&' b3) '&' ('not' b4)
proof end;

theorem Th37: :: BVFUNC26:37
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b3 'nand' b4) = (('not' b2) '&' b3) '&' b4
proof end;

theorem Th38: :: BVFUNC26:38
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b3 'nor' b4) = ('not' b2) '&' (b3 'or' b4)
proof end;

theorem Th39: :: BVFUNC26:39
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b2 '&' b3) = 'not' (b2 '&' (b2 'or' b3))
proof end;

theorem Th40: :: BVFUNC26:40
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b2 'or' b3) = 'not' (b2 'or' b3)
proof end;

theorem Th41: :: BVFUNC26:41
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b2 'eqv' b3) = ('not' b2) '&' b3
proof end;

theorem Th42: :: BVFUNC26:42
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b2 'imp' b3) = O_el b1
proof end;

theorem Th43: :: BVFUNC26:43
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b2 'nand' b3) = O_el b1
proof end;

theorem Th44: :: BVFUNC26:44
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b2 'nor' b3) = ('not' b2) '&' b3
proof end;

theorem Th45: :: BVFUNC26:45
for b1 being non empty set holds (O_el b1) 'eqv' (O_el b1) = I_el b1
proof end;

theorem Th46: :: BVFUNC26:46
for b1 being non empty set holds (O_el b1) 'eqv' (I_el b1) = O_el b1
proof end;

theorem Th47: :: BVFUNC26:47
for b1 being non empty set holds (I_el b1) 'eqv' (I_el b1) = I_el b1
proof end;

theorem Th48: :: BVFUNC26:48
for b1 being non empty set
for b2 being Element of Funcs b1,BOOLEAN holds
( b2 'eqv' b2 = I_el b1 & 'not' (b2 'eqv' b2) = O_el b1 )
proof end;

theorem Th49: :: BVFUNC26:49
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'eqv' (b2 'or' b3) = b2 'or' ('not' b3)
proof end;

theorem Th50: :: BVFUNC26:50
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 '&' (b3 'nand' b4) = (b2 '&' ('not' b3)) 'or' (b2 '&' ('not' b4))
proof end;

theorem Th51: :: BVFUNC26:51
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'or' (b3 'nand' b4) = (b2 'or' ('not' b3)) 'or' ('not' b4)
proof end;

theorem Th52: :: BVFUNC26:52
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'xor' (b3 'nand' b4) = (('not' b2) '&' ('not' (b3 '&' b4))) 'or' ((b2 '&' b3) '&' b4)
proof end;

theorem Th53: :: BVFUNC26:53
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'eqv' (b3 'nand' b4) = (b2 '&' ('not' (b3 '&' b4))) 'or' ((('not' b2) '&' b3) '&' b4)
proof end;

theorem Th54: :: BVFUNC26:54
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'imp' (b3 'nand' b4) = 'not' ((b2 '&' b3) '&' b4)
proof end;

theorem Th55: :: BVFUNC26:55
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b3 'nand' b4) = 'not' ((b2 'or' ('not' b3)) 'or' ('not' b4))
proof end;

theorem Th56: :: BVFUNC26:56
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 '&' (b2 'nand' b3) = b2 '&' ('not' b3)
proof end;

theorem Th57: :: BVFUNC26:57
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'or' (b2 'nand' b3) = I_el b1
proof end;

theorem Th58: :: BVFUNC26:58
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'xor' (b2 'nand' b3) = ('not' b2) 'or' b3
proof end;

theorem Th59: :: BVFUNC26:59
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'eqv' (b2 'nand' b3) = b2 '&' ('not' b3)
proof end;

theorem Th60: :: BVFUNC26:60
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'imp' (b2 'nand' b3) = 'not' (b2 '&' b3)
proof end;

theorem Th61: :: BVFUNC26:61
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nor' (b2 'nand' b3) = O_el b1
proof end;

theorem Th62: :: BVFUNC26:62
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 '&' (b3 'nor' b4) = (b2 '&' ('not' b3)) '&' ('not' b4)
proof end;

theorem Th63: :: BVFUNC26:63
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'or' (b3 'nor' b4) = (b2 'or' ('not' b3)) '&' (b2 'or' ('not' b4))
proof end;

theorem Th64: :: BVFUNC26:64
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'xor' (b3 'nor' b4) = (b2 'or' ('not' (b3 'or' b4))) '&' ((('not' b2) 'or' b3) 'or' b4)
proof end;

theorem Th65: :: BVFUNC26:65
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'eqv' (b3 'nor' b4) = ((b2 'or' b3) 'or' b4) '&' (('not' b2) 'or' ('not' (b3 'or' b4)))
proof end;

theorem Th66: :: BVFUNC26:66
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'imp' (b3 'nor' b4) = 'not' (b2 '&' (b3 'or' b4))
proof end;

theorem Th67: :: BVFUNC26:67
for b1 being non empty set
for b2, b3, b4 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b3 'nor' b4) = (('not' b2) 'or' b3) 'or' b4
proof end;

theorem Th68: :: BVFUNC26:68
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 '&' (b2 'nor' b3) = O_el b1
proof end;

theorem Th69: :: BVFUNC26:69
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'or' (b2 'nor' b3) = b2 'or' ('not' b3)
proof end;

theorem Th70: :: BVFUNC26:70
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'xor' (b2 'nor' b3) = b2 'or' ('not' b3)
proof end;

theorem Th71: :: BVFUNC26:71
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'eqv' (b2 'nor' b3) = ('not' b2) '&' b3
proof end;

theorem Th72: :: BVFUNC26:72
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'imp' (b2 'nor' b3) = 'not' (b2 'or' (b2 '&' b3))
proof end;

theorem Th73: :: BVFUNC26:73
for b1 being non empty set
for b2, b3 being Element of Funcs b1,BOOLEAN holds b2 'nand' (b2 'nor' b3) = I_el b1
proof end;