-
Notifications
You must be signed in to change notification settings - Fork 6
/
boolean.txt
50 lines (39 loc) · 1.89 KB
/
boolean.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
% File : BOO026-1 : TPTP v7.4.0. Released v2.2.0.
% Domain : Boolean Algebra
% Problem : Absorption from self-dual independent 2-basis
% Version : [MP96] (eqiality) axioms : Especial.
% English : This is part of a proof that there exists an independent self-dual
% 2-basis for Boolean Algebra. You may note that the basis
% below has more than 2 equations; but don't worry, it can be
% reduced to 2 (large) equations by Pixley reduction.
% Refs : [Wos98] Wos (1998), Automating the Search for Elegant Proofs
% : [McC98] McCune (1998), Email to G. Sutcliffe
% : [MP96] McCune & Padmanabhan (1996), Automated Deduction in Eq
% Source : [McC98]
% Names : DUAL-BA-3 [MP96]
% : DUAL-BA-3 [Wos98]
%----Two Boolean algebra properties and their duals:
cnf(multiply_add_property,axiom,
( multiply(X,add(Y,Z)) = add(multiply(Y,X),multiply(Z,X)) )).
cnf(additive_inverse,axiom,
( add(X,inverse(X)) = n1 )).
cnf(add_multiply_property,axiom,
( add(X,multiply(Y,Z)) = multiply(add(Y,X),add(Z,X)) )).
cnf(multiplicative_inverse,axiom,
( multiply(X,inverse(X)) = n0 )).
%----Expanded Pixley properties and their duals:
cnf(pixley1,axiom,
( add(multiply(X,inverse(X)),add(multiply(X,Y),multiply(inverse(X),Y))) = Y )).
cnf(pixley2,axiom,
( add(multiply(X,inverse(Y)),add(multiply(X,Y),multiply(inverse(Y),Y))) = X )).
cnf(pixley3,axiom,
( add(multiply(X,inverse(Y)),add(multiply(X,X),multiply(inverse(Y),X))) = X )).
cnf(pixley1_dual,axiom,
( multiply(add(X,inverse(X)),multiply(add(X,Y),add(inverse(X),Y))) = Y )).
cnf(pixley2_dual,axiom,
( multiply(add(X,inverse(Y)),multiply(add(X,Y),add(inverse(Y),Y))) = X )).
cnf(pixley3_dual,axiom,
( multiply(add(X,inverse(Y)),multiply(add(X,X),add(inverse(Y),X))) = X )).
%----Denial of the conclusion:
cnf(prove_multiply_add,negated_conjecture,
( multiply(add(a,b),b) != b )).