Article BINARI_5, MML version 4.99.1005
:: BINARI_5:funcnot 1 => BINARI_5:func 1
definition
let a1, a2 be Element of BOOLEAN;
redefine func a1 'nand' a2 -> Element of BOOLEAN;
commutativity;
:: for a1, a2 being Element of BOOLEAN holds
:: a1 'nand' a2 = a2 'nand' a1;
end;
:: BINARI_5:funcnot 2 => BINARI_5:func 2
definition
let a1, a2 be Element of BOOLEAN;
redefine func a1 'nor' a2 -> Element of BOOLEAN;
commutativity;
:: for a1, a2 being Element of BOOLEAN holds
:: a1 'nor' a2 = a2 'nor' a1;
end;
:: BINARI_5:funcnot 3 => XBOOLEAN:func 7
definition
let a1, a2 be boolean set;
func A1 <=> A2 -> set equals
'not' (a1 'xor' a2);
commutativity;
:: for a1, a2 being boolean set holds
:: a1 <=> a2 = a2 <=> a1;
end;
:: BINARI_5:def 3
theorem
for b1, b2 being boolean set holds
b1 <=> b2 = 'not' (b1 'xor' b2);
:: BINARI_5:funcnot 4 => BINARI_5:func 3
definition
let a1, a2 be Element of BOOLEAN;
redefine func a1 <=> a2 -> Element of BOOLEAN;
commutativity;
:: for a1, a2 being Element of BOOLEAN holds
:: a1 <=> a2 = a2 <=> a1;
end;
:: BINARI_5:th 1
theorem
for b1 being boolean set holds
TRUE 'nand' b1 = 'not' b1;
:: BINARI_5:th 2
theorem
for b1 being boolean set holds
FALSE 'nand' b1 = TRUE;
:: BINARI_5:th 3
theorem
for b1 being boolean set holds
b1 'nand' b1 = 'not' b1 & 'not' (b1 'nand' b1) = b1;
:: BINARI_5:th 4
theorem
for b1, b2 being boolean set holds
'not' (b1 'nand' b2) = b1 '&' b2;
:: BINARI_5:th 5
theorem
for b1 being boolean set holds
b1 'nand' 'not' b1 = TRUE & 'not' (b1 'nand' 'not' b1) = FALSE;
:: BINARI_5:th 6
theorem
for b1, b2, b3 being boolean set holds
b1 'nand' (b2 '&' b3) = 'not' ((b1 '&' b2) '&' b3);
:: BINARI_5:th 7
theorem
for b1, b2, b3 being boolean set holds
b1 'nand' (b2 '&' b3) = (b1 '&' b2) 'nand' b3;
:: BINARI_5:th 10
theorem
for b1 being boolean set holds
TRUE 'nor' b1 = FALSE;
:: BINARI_5:th 11
theorem
for b1 being boolean set holds
FALSE 'nor' b1 = 'not' b1;
:: BINARI_5:th 12
theorem
for b1 being boolean set holds
b1 'nor' b1 = 'not' b1 & 'not' (b1 'nor' b1) = b1;
:: BINARI_5:th 13
theorem
for b1, b2 being boolean set holds
'not' (b1 'nor' b2) = b1 'or' b2;
:: BINARI_5:th 14
theorem
for b1 being boolean set holds
b1 'nor' 'not' b1 = FALSE & 'not' (b1 'nor' 'not' b1) = TRUE;
:: BINARI_5:th 16
theorem
for b1, b2, b3 being boolean set holds
b1 'nor' (b2 'or' b3) = 'not' ((b1 'or' b2) 'or' b3);
:: BINARI_5:th 17
theorem
for b1 being boolean set holds
TRUE <=> b1 = b1;
:: BINARI_5:th 18
theorem
for b1 being boolean set holds
FALSE <=> b1 = 'not' b1;
:: BINARI_5:th 19
theorem
for b1 being boolean set holds
b1 <=> b1 = TRUE & 'not' (b1 <=> b1) = FALSE;
:: BINARI_5:th 20
theorem
for b1, b2 being boolean set holds
'not' (b1 <=> b2) = b1 'xor' b2;
:: BINARI_5:th 21
theorem
for b1 being boolean set holds
b1 <=> 'not' b1 = FALSE & 'not' (b1 <=> 'not' b1) = TRUE;
:: BINARI_5:th 22
theorem
for b1, b2, b3 being boolean set holds
b1 <= b2 => b3
iff
b1 '&' b2 <= b3;
:: BINARI_5:th 23
theorem
for b1, b2 being boolean set holds
b1 <=> b2 = (b1 => b2) '&' (b2 => b1);
:: BINARI_5:th 28
theorem
for b1, b2 being boolean set holds
b1 => b2 = ('not' b2) => 'not' b1;
:: BINARI_5:th 29
theorem
for b1, b2 being boolean set holds
b1 <=> b2 = ('not' b1) <=> 'not' b2;
:: BINARI_5:th 34
theorem
for b1, b2 being boolean set
st b1 = TRUE & b1 => b2 = TRUE
holds b2 = TRUE;
:: BINARI_5:th 35
theorem
for b1, b2 being boolean set
st b1 = TRUE
holds b2 => b1 = TRUE;
:: BINARI_5:th 36
theorem
for b1, b2 being boolean set
st 'not' b1 = TRUE
holds b1 => b2 = TRUE;
:: BINARI_5:th 51
theorem
for b1, b2, b3 being boolean set
st b1 => (b2 => b3) = TRUE
holds b2 => (b1 => b3) = TRUE;
:: BINARI_5:th 52
theorem
for b1, b2, b3 being boolean set
st b1 => (b2 => b3) = TRUE & b2 = TRUE
holds b1 => b3 = TRUE;
:: BINARI_5:th 53
theorem
for b1, b2, b3 being boolean set
st b1 => (b2 => b3) = TRUE & b2 = TRUE & b1 = TRUE
holds b3 = TRUE;