text\<open>
This theoryis intended to showcase and test different features of the \<open>argo\<close> proof method.
The \<open>argo\<close> proof method can be applied to propositional problems, problems involving equality
reasoning and problems of linear real arithmetic.
The \<open>argo\<close> proof method provides two options. To specify an upper limit of the proof methods
run time in seconds, use the option \<open>argo_timeout\<close>. To specify the amount of output, use the
option \<open>argo_trace\<close> with value \<open>none\<close> for no tracing output, value \<open>basic\<close> for viewing the
underlying propositions and some timings, andvalue\<open>full\<close> for additionally inspecting the proof replay steps. \<close>
declare[[argo_trace = full]]
subsection \<open>Propositional logic\<close>
notepad begin have"True"by argo next have"~False"by argo next fix P :: bool assume"False" thenhave"P"by argo next fix P :: bool assume"~True" thenhave"P"by argo next fix P :: bool assume"P" thenhave"P"by argo next fix P :: bool assume"~~P" thenhave"P"by argo next fix P Q R :: bool assume"P & Q & R" thenhave"R & P & Q"by argo next fix P Q R :: bool assume"P & (Q & True & R) & (Q & P) & True" thenhave"R & P & Q"by argo next fix P Q1 Q2 Q3 Q4 Q5 :: bool assume"Q1 & (Q2 & P & Q3) & (Q4 & ~P & Q5)" thenhave"~True"by argo next fix P Q1 Q2 Q3 :: bool assume"(Q1 & False) & Q2 & Q3" thenhave"P::bool"by argo next fix P Q R :: bool assume"P | Q | R" thenhave"R | P | Q"by argo next fix P Q R :: bool assume"P | (Q | False | R) | (Q | P) | False" thenhave"R | P | Q"by argo next fix P Q1 Q2 Q3 Q4 :: bool have"(Q1 & P & Q2) --> False | (Q3 | (Q4 | P) | False)"by argo next fix Q1 Q2 Q3 Q4 :: bool have"Q1 | (Q2 | True | Q3) | Q4"by argo next fix P Q R :: bool assume"(P & Q) | (P & ~Q) | (P & R) | (P & ~R)" thenhave"P"by argo next fix P :: bool assume"P = True" thenhave"P"by argo next fix P :: bool assume"False = P" thenhave"~P"by argo next fix P Q :: bool assume"P = (~P)" thenhave"Q"by argo next fix P :: bool have"(~P) = (~P)"by argo next fix P Q :: bool assume"P"and"~Q" thenhave"P = (~Q)"by argo next fix P Q :: bool assume"((P::bool) = Q) | (Q = P)" thenhave"(P --> Q) & (Q --> P)"by argo next fix P Q :: bool assume"(P::bool) = Q" thenhave"Q = P"by argo next fix P Q R :: bool assume"if P then Q else R" thenhave"Q | R"by argo next fix P Q :: bool assume"P | Q" and"P | ~Q" and"~P | Q" and"~P | ~Q" thenhave"False"by argo next fix P Q R :: bool assume"P | Q | R" and"P | Q | ~R" and"P | ~Q | R" and"P | ~Q | ~R" and"~P | Q | R" and"~P | Q | ~R" and"~P | ~Q | R" and"~P | ~Q | ~R" thenhave"False"by argo next fix a b c d e f g h i j k l m n p q :: bool assume"(a & b | c & d) & (e & f | g & h) | (i & j | k & l) & (m & n | p & q)" thenhave"(a & b | c & d) & (e & f | g & h) | (i & j | k & l) & (m & n | p & q)"by argo next fix P :: bool have"P=P=P=P=P=P=P=P=P=P"by argo next fix a b c d e f p q x :: bool assume"a | b | c | d" and"e | f | (a & d)" and"~(a | (c & ~c)) | b" and"~(b & (x | ~x)) | c" and"~(d | False) | c" and"~(c | (~p & (p | (q & ~q))))" thenhave"False"by argo next have"(True & True & True) = True"by argo next have"(False | False | False) = False"by argo end
subsection \<open>Equality, congruence and predicates\<close>
notepad begin fix t :: "'a" have"t = t"by argo next fix t u :: "'a" assume"t = u" thenhave"u = t"by argo next fix s t u :: "'a" assume"s = t"and"t = u" thenhave"s = u"by argo next fix s t u v :: "'a" assume"s = t"and"t = u"and"u = v"and"u = s" thenhave"s = v"by argo next fix s t u v w :: "'a" assume"s = t"and"t = u"and"s = v"and"v = w" thenhave"w = u"by argo next fix s t u a b c :: "'a" assume"s = t"and"t = u"and"a = b"and"b = c" thenhave"s = a --> c = u"by argo next fix a b c d :: "'a" assume"(a = b & b = c) | (a = d & d = c)" thenhave"a = c"by argo next fix a b1 b2 b3 b4 c d :: "'a" assume"(a = b1 & ((b1 = b2 & b2 = b3) | (b1 = b4 & b4 = b3)) & b3 = c) | (a = d & d = c)" thenhave"a = c"by argo next fix a b :: "'a" have"(if True then a else b) = a"by argo next fix a b :: "'a" have"(if False then a else b) = b"by argo next fix a b :: "'a" have"(if \True then a else b) = b" by argo next fix a b :: "'a" have"(if \False then a else b) = a" by argo next fix P :: "bool" fix a :: "'a" have"(if P then a else a) = a"by argo next fix P :: "bool" fix a b c :: "'a" assume"P"and"a = c" thenhave"(if P then a else b) = c"by argo next fix P :: "bool" fix a b c :: "'a" assume"~P"and"b = c" thenhave"(if P then a else b) = c"by argo next fix P Q :: "bool" fix a b c d :: "'a" assume"P"and"Q"and"a = d" thenhave"(if P then (if Q then a else b) else c) = d"by argo next fix a b c :: "'a" assume"a \ b" and "b = c" thenhave"a \ c" by argo next fix a b c :: "'a" assume"a \ b" and "a = c" thenhave"c \ b" by argo next fix a b c d :: "'a" assume"a = b"and"c = d"and"b \ d" thenhave"a \ c" by argo next fix a b c d :: "'a" assume"a = b"and"c = d"and"d \ b" thenhave"a \ c" by argo next fix a b c d :: "'a" assume"a = b"and"c = d"and"b \ d" thenhave"c \ a" by argo next fix a b c d :: "'a" assume"a = b"and"c = d"and"d \ b" thenhave"c \ a" by argo next fix a b c d e f :: "'a" assume"a \ b" and "b = c" and "b = d" and "d = e" and "a = f" thenhave"f \ e" by argo next fix a b :: "'a"and f :: "'a \ 'a" assume"a = b" thenhave"f a = f b"by argo next fix a b c :: "'a"and f :: "'a \ 'a" assume"f a = f b"and"b = c" thenhave"f a = f c"by argo next fix a :: "'a"and f :: "'a \ 'a" assume"f a = a" thenhave"f (f a) = a"by argo next fix a b :: "'a"and f g :: "'a \ 'a" assume"a = b" thenhave"g (f a) = g (f b)"by argo next fix a b :: "'a"and f g :: "'a \ 'a" assume"f a = b"and"g b = a" thenhave"f (g (f a)) = b"by argo next fix a b :: "'a"and g :: "'a \ 'a \ 'a" assume"a = b" thenhave"g a b = g b a"by argo next fix a b :: "'a"and f :: "'a \ 'a" and g :: "'a \ 'a \ 'a" assume"f a = b" thenhave"g (f a) b = g b (f a)"by argo next fix a b c d e g h :: "'a"and f :: "'a \ 'a \ 'a" assume"c = d"and"e = c"and"e = b"and"b = h"and"f g h = d"and"f g d = a" thenhave"a = b"by argo next fix a b :: "'a"and P :: "'a \ bool" assume"P a"and"a = b" thenhave"P b"by argo next fix a b :: "'a"and P :: "'a \ bool" assume"~ P a"and"a = b" thenhave"~ P b"by argo next fix a b c d :: "'a"and P :: "'a \ 'a \ bool" assume"P a b"and"a = c"and"b = d" thenhave"P c d"by argo next fix a b c d :: "'a"and P :: "'a \ 'a \ bool" assume"~ P a b"and"a = c"and"b = d" thenhave"~ P c d"by argo end
subsection \<open>Linear real arithmetic\<close>
subsubsection \<open>Negation and subtraction\<close>
notepad begin fix a b :: real have "-a = -1 * a" "-(-a) = a" "a - b = a + -1 * b" "a - (-b) = a + b" by argo+ end
subsubsection \<open>Multiplication\<close>
notepad begin fix a b c d :: real have "(2::real) * 3 = 6" "0 * a = 0" "a * 0 = 0" "1 * a = a" "a * 1 = a" "2 * a = a * 2" "2 * a * 3 = 6 * a" "2 * a * 3 * 5 = 30 * a" "2 * (a * (3 * 5)) = 30 * a" "a * 0 * b = 0" "a * (0 * b) = 0" "a * b = b * a" "a * b * a = b * a * a" "a * (b * c) = (a * b) * c" "a * (b * (c * d)) = ((a * b) * c) * d" "a * (b * (c * d)) = ((d * c) * b) * a" "a * (b + c + d) = a * b + a * c + a * d" "(a + b + c) * d = a * d + b * d + c * d" by argo+ end
subsubsection \<open>Division\<close>
notepad begin fix a b c d :: real have "(6::real) / 2 = 3" "a / 0 = a / 0" "a / 0 <= a / 0" "~(a / 0 < a / 0)" "0 / a = 0" "a / 1 = a" "a / 3 = 1/3 * a" "6 * a / 2 = 3 * a" "(6 * a) / 2 = 3 * a" "a / ((5 * b) / 2) = 2/5 * a / b" "a / (5 * (b / 2)) = 2/5 * a / b" "(a / 5) * (b / 2) = 1/10 * a * b" "a / (3 * b) = 1/3 * a / b" "(a + b) / 5 = 1/5 * a + 1/5 * b" "a / (5 * 1/5) = a" "a * (b / c) = (b * a) / c" "(a / b) * c = (c * a) / b" "(a / b) / (c / d) = (a * d) / (c * b)" "1 / (a * b) = 1 / (b * a)" "a / (3 * b) = 1 / 3 * a / b" "(a + b + c) / d = a / d + b / d + c / d" by argo+ end
subsubsection \<open>Addition\<close>
notepad begin fix a b c d :: real have "a + b = b + a" "a + b + c = c + b + a" "a + b + c + d = d + c + b + a" "a + (b + (c + d)) = ((a + b) + c) + d" "(5::real) + -3 = 2" "(3::real) + 5 + -1 = 7" "2 + a = a + 2" "a + b + a = b + 2 * a" "-1 + a + -1 + 2 + b + 5/3 + b + 1/3 + 5 * b + 2/3 = 8/3 + a + 7 * b" "1 + b + b + 5 * b + 3 * a + 7 + a + 2 = 10 + 4 * a + 7 * b" by argo+ end
subsubsection \<open>Minimum and maximum\<close>
notepad begin fix a b :: real have "min (3::real) 5 = 3" "min (5::real) 3 = 3" "min (3::real) (-5) = -5" "min (-5::real) 3 = -5" "min a a = a" "a \ b \ min a b = a" "a > b \ min a b = b" "min a b \ a" "min a b \ b" "min a b = min b a" by argo+ next fix a b :: real have "max (3::real) 5 = 5" "max (5::real) 3 = 5" "max (3::real) (-5) = 3" "max (-5::real) 3 = 3" "max a a = a" "a \ b \ max a b = b" "a > b \ max a b = a" "a \ max a b" "b \ max a b" "max a b = max b a" by argo+ next fix a b :: real have "min a b \ max a b" "min a b + max a b = a + b" "a < b \ min a b < max a b" by argo+ end
subsubsection \<open>Absolute value\<close>
notepad begin fix a :: real have "abs (3::real) = 3" "abs (-3::real) = 3" "0 \ abs a" "a \ abs a" "a \ 0 \ abs a = a" "a < 0 \ abs a = -a" "abs (abs a) = abs a" by argo+ end
subsubsection \<open>Equality\<close>
notepad begin fix a b c d :: real have "(3::real) = 3" "~((3::real) = 4)" "~((4::real) = 3)" "3 * a = 5 --> a = 5/3" "-3 * a = 5 --> -5/3 = a" "5 = 3 * a --> 5/3 = a " "5 = -3 * a --> a = -5/3" "2 + 3 * a = 4 --> a = 2/3" "4 = 2 + 3 * a --> 2/3 = a" "2 + 3 * a + 5 * b + c = 4 --> 3 * a + 5 * b + c = 2" "4 = 2 + 3 * a + 5 * b + c --> 2 = 3 * a + 5 * b + c" "-2 * a + b + -3 * c = 7 --> -7 = 2 * a + -1 * b + 3 * c" "7 = -2 * a + b + -3 * c --> 2 * a + -1 * b + 3 * c = -7" "-2 * a + b + -3 * c + 4 * d = 7 --> -7 = 2 * a + -1 * b + 3 * c + -4 * d" "7 = -2 * a + b + -3 * c + 4 * d --> 2 * a + -1 * b + 3 * c + -4 * d = -7" "a + 3 * b = 5 * c + b --> a + 2 * b + -5 * c = 0" by argo+ end
subsubsection \<open>Less-equal\<close>
notepad begin fix a b c d :: real have "(3::real) <= 3" "(3::real) <= 4" "~((4::real) <= 3)" "3 * a <= 5 --> a <= 5/3" "-3 * a <= 5 --> -5/3 <= a" "5 <= 3 * a --> 5/3 <= a " "5 <= -3 * a --> a <= -5/3" "2 + 3 * a <= 4 --> a <= 2/3" "4 <= 2 + 3 * a --> 2/3 <= a" "2 + 3 * a + 5 * b + c <= 4 --> 3 * a + 5 * b + c <= 2" "4 <= 2 + 3 * a + 5 * b + c --> 2 <= 3 * a + 5 * b + c" "-2 * a + b + -3 * c <= 7 --> -7 <= 2 * a + -1 * b + 3 * c" "7 <= -2 * a + b + -3 * c --> 2 * a + -1 * b + 3 * c <= -7" "-2 * a + b + -3 * c + 4 * d <= 7 --> -7 <= 2 * a + -1 * b + 3 * c + -4 * d" "7 <= -2 * a + b + -3 * c + 4 * d --> 2 * a + -1 * b + 3 * c + -4 * d <= -7" "a + 3 * b <= 5 * c + b --> a + 2 * b + -5 * c <= 0" by argo+ end
subsubsection \<open>Less\<close>
notepad begin fix a b c d :: real have "(3::real) < 4" "~((3::real) < 3)" "~((4::real) < 3)" "3 * a < 5 --> a < 5/3" "-3 * a < 5 --> -5/3 < a" "5 < 3 * a --> 5/3 < a " "5 < -3 * a --> a < -5/3" "2 + 3 * a < 4 --> a < 2/3" "4 < 2 + 3 * a --> 2/3 < a" "2 + 3 * a + 5 * b + c < 4 --> 3 * a + 5 * b + c < 2" "4 < 2 + 3 * a + 5 * b + c --> 2 < 3 * a + 5 * b + c" "-2 * a + b + -3 * c < 7 --> -7 < 2 * a + -1 * b + 3 * c" "7 < -2 * a + b + -3 * c --> 2 * a + -1 * b + 3 * c < -7" "-2 * a + b + -3 * c + 4 * d < 7 --> -7 < 2 * a + -1 * b + 3 * c + -4 * d" "7 < -2 * a + b + -3 * c + 4 * d --> 2 * a + -1 * b + 3 * c + -4 * d < -7" "a + 3 * b < 5 * c + b --> a + 2 * b + -5 * c < 0" by argo+ end
subsubsection \<open>Other examples\<close>
notepad begin fix a b :: real fix f :: "real \ 'a" have"f (a + b) = f (b + a)"by argo next have "(0::real) < 1" "(47::real) + 11 < 8 * 15" by argo+ next fix a :: real assume"a < 3" thenhave"a < 5""a <= 5""~(5 < a)""~(5 <= a)"by argo+ next fix a :: real assume"a <= 3" thenhave"a < 5""a <= 5""~(5 < a)""~(5 <= a)"by argo+ next fix a :: real assume"~(3 < a)" thenhave"a < 5""a <= 5""~(5 < a)""~(5 <= a)"by argo+ next fix a :: real assume"~(3 <= a)" thenhave"a < 5""a <= 5""~(5 < a)""~(5 <= a)"by argo+ next fix a :: real have"a < 3 | a = 3 | a > 3"by argo next fix a b :: real assume"0 < a"and"a < b" thenhave"0 < b"by argo next fix a b :: real assume"0 < a"and"a \ b" thenhave"0 \ b" by argo next fix a b :: real assume"0 \ a" and "a < b" thenhave"0 \ b" by argo next fix a b :: real assume"0 \ a" and "a \ b" thenhave"0 \ b" by argo next fix a b c :: real assume"2 \ a" and "3 \ b" and "c \ 5" thenhave"-2 * a + -3 * b + 5 * c < 13"by argo next fix a b c :: real assume"2 \ a" and "3 \ b" and "c \ 5" thenhave"-2 * a + -3 * b + 5 * c \ 12" by argo next fix a b :: real assume"a = 2"and"b = 3" thenhave"a + b > 5 \ a < b" by argo next fix a b c :: real assume"5 < b + c"and"a + c < 0"and"a > 0" thenhave"b > 0"by argo next fix a b c :: real assume"a + b < 7"and"5 < b + c"and"a + c < 0"and"a > 0" thenhave"0 < b \ b < 7" by argo next fix a b c :: real assume"a < b"and"b < c"and"c < a" thenhave"False"by argo next fix a b :: real assume"a - 5 > b" thenhave"b < a"by argo next fix a b :: real have"(a - b) - a = (a - a) - b"by argo next fix n m n' m' :: real have"
(n < m & m < n') | (n < m & m = n') | (n < n' & n' < m) |
(n = n' & n' < m) | (n = m & m < n') |
(n' < m & m < n) | (n' < m & m = n) |
(n' < n & n < m) | (n' = n & n < m) | (n' = m & m < n) |
(m < n & n < n') | (m < n & n' = n) | (m < n' & n' < n) |
(m = n & n < n') | (m = n' & n' < n) |
(n' = m & m = n)" by argo end
subsection \<open>Larger examples\<close>
declare[[argo_trace = basic, argo_timeout = 120]]
text\<open>Translated from TPTP problem library: PUZ015-2.006.dimacs\<close>
lemmaassumes 1: "~x0" and 2: "~x30" and 3: "~x29" and 4: "~x59" and 5: "x1 | x31 | x0" and 6: "x2 | x32 | x1" and 7: "x3 | x33 | x2" and 8: "x4 | x34 | x3" and 9: "x35 | x4" and 10: "x5 | x36 | x30" and 11: "x6 | x37 | x5 | x31" and 12: "x7 | x38 | x6 | x32" and 13: "x8 | x39 | x7 | x33" and 14: "x9 | x40 | x8 | x34" and 15: "x41 | x9 | x35" and 16: "x10 | x42 | x36" and 17: "x11 | x43 | x10 | x37" and 18: "x12 | x44 | x11 | x38" and 19: "x13 | x45 | x12 | x39" and 20: "x14 | x46 | x13 | x40" and 21: "x47 | x14 | x41" and 22: "x15 | x48 | x42" and 23: "x16 | x49 | x15 | x43" and 24: "x17 | x50 | x16 | x44" and 25: "x18 | x51 | x17 | x45" and 26: "x19 | x52 | x18 | x46" and 27: "x53 | x19 | x47" and 28: "x20 | x54 | x48" and 29: "x21 | x55 | x20 | x49" and 30: "x22 | x56 | x21 | x50" and 31: "x23 | x57 | x22 | x51" and 32: "x24 | x58 | x23 | x52" and 33: "x59 | x24 | x53" and 34: "x25 | x54" and 35: "x26 | x25 | x55" and 36: "x27 | x26 | x56" and 37: "x28 | x27 | x57" and 38: "x29 | x28 | x58" and 39: "~x1 | ~x31" and 40: "~x1 | ~x0" and 41: "~x31 | ~x0" and 42: "~x2 | ~x32" and 43: "~x2 | ~x1" and 44: "~x32 | ~x1" and 45: "~x3 | ~x33" and 46: "~x3 | ~x2" and 47: "~x33 | ~x2" and 48: "~x4 | ~x34" and 49: "~x4 | ~x3" and 50: "~x34 | ~x3" and 51: "~x35 | ~x4" and 52: "~x5 | ~x36" and 53: "~x5 | ~x30" and 54: "~x36 | ~x30" and 55: "~x6 | ~x37" and 56: "~x6 | ~x5" and 57: "~x6 | ~x31" and 58: "~x37 | ~x5" and 59: "~x37 | ~x31" and 60: "~x5 | ~x31" and 61: "~x7 | ~x38" and 62: "~x7 | ~x6" and 63: "~x7 | ~x32" and 64: "~x38 | ~x6" and 65: "~x38 | ~x32" and 66: "~x6 | ~x32" and 67: "~x8 | ~x39" and 68: "~x8 | ~x7" and 69: "~x8 | ~x33" and 70: "~x39 | ~x7" and 71: "~x39 | ~x33" and 72: "~x7 | ~x33" and 73: "~x9 | ~x40" and 74: "~x9 | ~x8" and 75: "~x9 | ~x34" and 76: "~x40 | ~x8" and 77: "~x40 | ~x34" and 78: "~x8 | ~x34" and 79: "~x41 | ~x9" and 80: "~x41 | ~x35" and 81: "~x9 | ~x35" and 82: "~x10 | ~x42" and 83: "~x10 | ~x36" and 84: "~x42 | ~x36" and 85: "~x11 | ~x43" and 86: "~x11 | ~x10" and 87: "~x11 | ~x37" and 88: "~x43 | ~x10" and 89: "~x43 | ~x37" and 90: "~x10 | ~x37" and 91: "~x12 | ~x44" and 92: "~x12 | ~x11" and 93: "~x12 | ~x38" and 94: "~x44 | ~x11" and 95: "~x44 | ~x38" and 96: "~x11 | ~x38" and 97: "~x13 | ~x45" and 98: "~x13 | ~x12" and 99: "~x13 | ~x39" and 100: "~x45 | ~x12" and 101: "~x45 | ~x39" and 102: "~x12 | ~x39" and 103: "~x14 | ~x46" and 104: "~x14 | ~x13" and 105: "~x14 | ~x40" and 106: "~x46 | ~x13" and 107: "~x46 | ~x40" and 108: "~x13 | ~x40" and 109: "~x47 | ~x14" and 110: "~x47 | ~x41" and 111: "~x14 | ~x41" and 112: "~x15 | ~x48" and 113: "~x15 | ~x42" and 114: "~x48 | ~x42" and 115: "~x16 | ~x49" and 116: "~x16 | ~x15" and 117: "~x16 | ~x43" and 118: "~x49 | ~x15" and 119: "~x49 | ~x43" and 120: "~x15 | ~x43" and 121: "~x17 | ~x50" and 122: "~x17 | ~x16" and 123: "~x17 | ~x44" and 124: "~x50 | ~x16" and 125: "~x50 | ~x44" and 126: "~x16 | ~x44" and 127: "~x18 | ~x51" and 128: "~x18 | ~x17" and 129: "~x18 | ~x45" and 130: "~x51 | ~x17" and 131: "~x51 | ~x45" and 132: "~x17 | ~x45" and 133: "~x19 | ~x52" and 134: "~x19 | ~x18" and 135: "~x19 | ~x46" and 136: "~x52 | ~x18" and 137: "~x52 | ~x46" and 138: "~x18 | ~x46" and 139: "~x53 | ~x19" and 140: "~x53 | ~x47" and 141: "~x19 | ~x47" and 142: "~x20 | ~x54" and 143: "~x20 | ~x48" and 144: "~x54 | ~x48" and 145: "~x21 | ~x55" and 146: "~x21 | ~x20" and 147: "~x21 | ~x49" and 148: "~x55 | ~x20" and 149: "~x55 | ~x49" and 150: "~x20 | ~x49" and 151: "~x22 | ~x56" and 152: "~x22 | ~x21" and 153: "~x22 | ~x50" and 154: "~x56 | ~x21" and 155: "~x56 | ~x50" and 156: "~x21 | ~x50" and 157: "~x23 | ~x57" and 158: "~x23 | ~x22" and 159: "~x23 | ~x51" and 160: "~x57 | ~x22" and 161: "~x57 | ~x51" and 162: "~x22 | ~x51" and 163: "~x24 | ~x58" and 164: "~x24 | ~x23" and 165: "~x24 | ~x52" and 166: "~x58 | ~x23" and 167: "~x58 | ~x52" and 168: "~x23 | ~x52" and 169: "~x59 | ~x24" and 170: "~x59 | ~x53" and 171: "~x24 | ~x53" and 172: "~x25 | ~x54" and 173: "~x26 | ~x25" and 174: "~x26 | ~x55" and 175: "~x25 | ~x55" and 176: "~x27 | ~x26" and 177: "~x27 | ~x56" and 178: "~x26 | ~x56" and 179: "~x28 | ~x27" and 180: "~x28 | ~x57" and 181: "~x27 | ~x57" and 182: "~x29 | ~x28" and 183: "~x29 | ~x58" and 184: "~x28 | ~x58" shows"False" using assms by argo
text\<open>Translated from TPTP problem library: MSC007-1.008.dimacs\<close>
lemmaassumes 1: "x0 | x1 | x2 | x3 | x4 | x5 | x6" and 2: "x7 | x8 | x9 | x10 | x11 | x12 | x13" and 3: "x14 | x15 | x16 | x17 | x18 | x19 | x20" and 4: "x21 | x22 | x23 | x24 | x25 | x26 | x27" and 5: "x28 | x29 | x30 | x31 | x32 | x33 | x34" and 6: "x35 | x36 | x37 | x38 | x39 | x40 | x41" and 7: "x42 | x43 | x44 | x45 | x46 | x47 | x48" and 8: "x49 | x50 | x51 | x52 | x53 | x54 | x55" and 9: "~x0 | ~x7" and 10: "~x0 | ~x14" and 11: "~x0 | ~x21" and 12: "~x0 | ~x28" and 13: "~x0 | ~x35" and 14: "~x0 | ~x42" and 15: "~x0 | ~x49" and 16: "~x7 | ~x14" and 17: "~x7 | ~x21" and 18: "~x7 | ~x28" and 19: "~x7 | ~x35" and 20: "~x7 | ~x42" and 21: "~x7 | ~x49" and 22: "~x14 | ~x21" and 23: "~x14 | ~x28" and 24: "~x14 | ~x35" and 25: "~x14 | ~x42" and 26: "~x14 | ~x49" and 27: "~x21 | ~x28" and 28: "~x21 | ~x35" and 29: "~x21 | ~x42" and 30: "~x21 | ~x49" and 31: "~x28 | ~x35" and 32: "~x28 | ~x42" and 33: "~x28 | ~x49" and 34: "~x35 | ~x42" and 35: "~x35 | ~x49" and 36: "~x42 | ~x49" and 37: "~x1 | ~x8" and 38: "~x1 | ~x15" and 39: "~x1 | ~x22" and 40: "~x1 | ~x29" and 41: "~x1 | ~x36" and 42: "~x1 | ~x43" and 43: "~x1 | ~x50" and 44: "~x8 | ~x15" and 45: "~x8 | ~x22" and 46: "~x8 | ~x29" and 47: "~x8 | ~x36" and 48: "~x8 | ~x43" and 49: "~x8 | ~x50" and 50: "~x15 | ~x22" and 51: "~x15 | ~x29" and 52: "~x15 | ~x36" and 53: "~x15 | ~x43" and 54: "~x15 | ~x50" and 55: "~x22 | ~x29" and 56: "~x22 | ~x36" and 57: "~x22 | ~x43" and 58: "~x22 | ~x50" and 59: "~x29 | ~x36" and 60: "~x29 | ~x43" and 61: "~x29 | ~x50" and 62: "~x36 | ~x43" and 63: "~x36 | ~x50" and 64: "~x43 | ~x50" and 65: "~x2 | ~x9" and 66: "~x2 | ~x16" and 67: "~x2 | ~x23" and 68: "~x2 | ~x30" and 69: "~x2 | ~x37" and 70: "~x2 | ~x44" and 71: "~x2 | ~x51" and 72: "~x9 | ~x16" and 73: "~x9 | ~x23" and 74: "~x9 | ~x30" and 75: "~x9 | ~x37" and 76: "~x9 | ~x44" and 77: "~x9 | ~x51" and 78: "~x16 | ~x23" and 79: "~x16 | ~x30" and 80: "~x16 | ~x37" and 81: "~x16 | ~x44" and 82: "~x16 | ~x51" and 83: "~x23 | ~x30" and 84: "~x23 | ~x37" and 85: "~x23 | ~x44" and 86: "~x23 | ~x51" and 87: "~x30 | ~x37" and 88: "~x30 | ~x44" and 89: "~x30 | ~x51" and 90: "~x37 | ~x44" and 91: "~x37 | ~x51" and 92: "~x44 | ~x51" and 93: "~x3 | ~x10" and 94: "~x3 | ~x17" and 95: "~x3 | ~x24" and 96: "~x3 | ~x31" and 97: "~x3 | ~x38" and 98: "~x3 | ~x45" and 99: "~x3 | ~x52" and 100: "~x10 | ~x17" and 101: "~x10 | ~x24" and 102: "~x10 | ~x31" and 103: "~x10 | ~x38" and 104: "~x10 | ~x45" and 105: "~x10 | ~x52" and 106: "~x17 | ~x24" and 107: "~x17 | ~x31" and 108: "~x17 | ~x38" and 109: "~x17 | ~x45" and 110: "~x17 | ~x52" and 111: "~x24 | ~x31" and 112: "~x24 | ~x38" and 113: "~x24 | ~x45" and 114: "~x24 | ~x52" and 115: "~x31 | ~x38" and 116: "~x31 | ~x45" and 117: "~x31 | ~x52" and 118: "~x38 | ~x45" and 119: "~x38 | ~x52" and 120: "~x45 | ~x52" and 121: "~x4 | ~x11" and 122: "~x4 | ~x18" and 123: "~x4 | ~x25" and 124: "~x4 | ~x32" and 125: "~x4 | ~x39" and 126: "~x4 | ~x46" and 127: "~x4 | ~x53" and 128: "~x11 | ~x18" and 129: "~x11 | ~x25" and 130: "~x11 | ~x32" and 131: "~x11 | ~x39" and 132: "~x11 | ~x46" and 133: "~x11 | ~x53" and 134: "~x18 | ~x25" and 135: "~x18 | ~x32" and 136: "~x18 | ~x39" and 137: "~x18 | ~x46" and 138: "~x18 | ~x53" and 139: "~x25 | ~x32" and 140: "~x25 | ~x39" and 141: "~x25 | ~x46" and 142: "~x25 | ~x53" and 143: "~x32 | ~x39" and 144: "~x32 | ~x46" and 145: "~x32 | ~x53" and 146: "~x39 | ~x46" and 147: "~x39 | ~x53" and 148: "~x46 | ~x53" and 149: "~x5 | ~x12" and 150: "~x5 | ~x19" and 151: "~x5 | ~x26" and 152: "~x5 | ~x33" and 153: "~x5 | ~x40" and 154: "~x5 | ~x47" and 155: "~x5 | ~x54" and 156: "~x12 | ~x19" and 157: "~x12 | ~x26" and 158: "~x12 | ~x33" and 159: "~x12 | ~x40" and 160: "~x12 | ~x47" and 161: "~x12 | ~x54" and 162: "~x19 | ~x26" and 163: "~x19 | ~x33" and 164: "~x19 | ~x40" and 165: "~x19 | ~x47" and 166: "~x19 | ~x54" and 167: "~x26 | ~x33" and 168: "~x26 | ~x40" and 169: "~x26 | ~x47" and 170: "~x26 | ~x54" and 171: "~x33 | ~x40" and 172: "~x33 | ~x47" and 173: "~x33 | ~x54" and 174: "~x40 | ~x47" and 175: "~x40 | ~x54" and 176: "~x47 | ~x54" and 177: "~x6 | ~x13" and 178: "~x6 | ~x20" and 179: "~x6 | ~x27" and 180: "~x6 | ~x34" and 181: "~x6 | ~x41" and 182: "~x6 | ~x48" and 183: "~x6 | ~x55" and 184: "~x13 | ~x20" and 185: "~x13 | ~x27" and 186: "~x13 | ~x34" and 187: "~x13 | ~x41" and 188: "~x13 | ~x48" and 189: "~x13 | ~x55" and 190: "~x20 | ~x27" and 191: "~x20 | ~x34" and 192: "~x20 | ~x41" and 193: "~x20 | ~x48" and 194: "~x20 | ~x55" and 195: "~x27 | ~x34" and 196: "~x27 | ~x41" and 197: "~x27 | ~x48" and 198: "~x27 | ~x55" and 199: "~x34 | ~x41" and 200: "~x34 | ~x48" and 201: "~x34 | ~x55" and 202: "~x41 | ~x48" and 203: "~x41 | ~x55" and 204: "~x48 | ~x55" shows"False" using assms by argo
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.6Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.