1
+ {
2
+ 'rule' : implication_introduction ,
3
+ 'not (P and Q) => not P or not Q' : {
4
+ 'rule' : PBC ,
5
+ 'not (P and Q) |- not (not P or not Q)' : {
6
+ 'rule' : negation_elimination ,
7
+ ('not (P and Q)' , 'not P or not Q' , '|- bottom' ): [
8
+ {'rule' : axiom ,
9
+ ('not (P and Q)' , 'not (not P or not Q)' , '|- not (P and Q)' ): '' },
10
+
11
+ {'rule' : double_negation_introduction ,
12
+ ('not (P and Q)' , 'not (not P or not Q)' , '|- not not (P and Q)' ): {
13
+ 'rule' : PBC ,
14
+ ('not P and Q' , 'not (not P or not Q)' , '|- (P and Q)' ): {
15
+ 'rule' : negation_elimination ,
16
+ ('not (P and Q)' , 'not (not P or not Q)' , '|- bottom' ) : [
17
+ {
18
+ 'rule' : disjunction_introduction_left ,
19
+ ('not (P and Q)' , 'not (not P or not Q)' , '|- (not P or not Q)' ): {
20
+ 'rule' : negation_introduction ,
21
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- bottom' ): {
22
+ 'rule' : negation_elimination ,
23
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- bottom' ): [
24
+ {'rule' : axiom ,
25
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- not (P and Q)' ): '' },
26
+
27
+ {'rule' : double_negation_introduction ,
28
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- not not (P and Q)' ): {
29
+ 'rule' : PBC ,
30
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- P and Q' ): {
31
+ 'rule' : negation_elimination ,
32
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- bottom' ): [
33
+ {'rule' : axiom ,
34
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- not (not P or not Q)' ): '' },
35
+
36
+ {'rule' : disjunction_introduction_right ,
37
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- not P or not Q' ): {
38
+ 'rule' : negation_introduction ,
39
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , '|- not Q' ): {
40
+ 'rule' : negation_elimination ,
41
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- bottom' ): [
42
+ {'rule' : axiom ,
43
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- Q' ): '' },
44
+
45
+ {'rule' : negation_introduction ,
46
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- not Q' ): {
47
+ 'rule' : negation_elimination ,
48
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- bottom' ): [
49
+ {'rule' : axiom ,
50
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- not (P and Q)' ): '' },
51
+
52
+ {'rule' : double_negation_introduction ,
53
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- not not (P and Q)' ): {
54
+ 'rule' : conjunction_introduction ,
55
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- (P and Q)' ): [
56
+ {'rule' : axiom ,
57
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- P' ): '' },
58
+
59
+ {'rule' : axiom ,
60
+ ('not (P and Q)' , 'not (not P or not Q)' , 'P' , 'Q' , '|- Q' ): '' },
61
+ ]
62
+ }
63
+ }
64
+ ]
65
+ }
66
+ }
67
+ ]
68
+ }
69
+ }
70
+ }
71
+ ]
72
+ }
73
+ }
74
+ }
75
+ ]
76
+ }
77
+ }},
78
+
79
+ {'rule' : axiom ,
80
+ ('not (P and Q)' , 'not (not P or not Q)' , '|- not (not P or not Q)' ): '' }
81
+ ]
82
+ }
83
+ }
84
+ }
85
+ ]
86
+ }
87
+ }
88
+ }
0 commit comments