Bob is big. Bob is cold. Bob is green. Bob is quiet. Bob is red. Bob is rough. Charlie is big. Charlie is green. Erin is cold. Erin is red. Harry is rough. All quiet people are white. If someone is red then they are big. All cold, rough people are big. If someone is red then they are white. All green, rough people are quiet. Rough people are green. White people are cold. If Erin is red and Erin is green then Erin is white.
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is red.
("Erin" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
All quiet people are white.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "white" "+"))
If someone is red then they are big.
((("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
All cold, rough people are big.
((("someone" "is" "cold" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "big" "+"))
If someone is red then they are white.
((("someone" "is" "red" "+")) -> ("someone" "is" "white" "+"))
All green, rough people are quiet.
((("someone" "is" "green" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "quiet" "+"))
Rough people are green.
((("someone" "is" "rough" "+")) -> ("someone" "is" "green" "+"))
White people are cold.
((("someone" "is" "white" "+")) -> ("someone" "is" "cold" "+"))
If Erin is red and Erin is green then Erin is white.
((("Erin" "is" "red" "+") ("Erin" "is" "green" "+")) -> ("Erin" "is" "white" "+"))
Erin is red.
True
1
proof
[(triple10)]
("Erin" "is" "red" "+")
triple10
Erin is not cold.
False
1
inv-proof
[(triple9 OR ((((triple10) -> rule4)) -> rule7))]
("Erin" "is" "cold" "-")
triple9
((((triple10) -> (rule4 % int2))) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is white.
True
2
proof
[(((triple10) -> rule4))]
("Erin" "is" "white" "+")
((triple10) -> (rule4 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Harry is not green.
False
2
inv-proof
[(((triple11) -> rule6))]
("Harry" "is" "green" "-")
((triple11) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is quiet.
True
4
proof
[(((((triple11) -> rule6) triple11) -> rule5))]
("Harry" "is" "quiet" "+")
((((triple11) -> (rule6 % int2)) triple11) -> (rule5 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is not quiet.
False
4
inv-proof
[(((((triple11) -> rule6) triple11) -> rule5))]
("Harry" "is" "quiet" "-")
((((triple11) -> (rule6 % int2)) triple11) -> (rule5 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is white.
True
5
proof
[(((((((triple11) -> rule6) triple11) -> rule5)) -> rule1))]
("Harry" "is" "white" "+")
((((((triple11) -> (rule6 % int3)) triple11) -> (rule5 % int2))) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is not white.
False
5
inv-proof
[(((((((triple11) -> rule6) triple11) -> rule5)) -> rule1))]
("Harry" "is" "white" "-")
((((((triple11) -> (rule6 % int3)) triple11) -> (rule5 % int2))) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is cold.
True
6
proof
[(((((((((triple11) -> rule6) triple11) -> rule5)) -> rule1)) -> rule7))]
("Harry" "is" "cold" "+")
((((((((triple11) -> (rule6 % int4)) triple11) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is not cold.
False
6
inv-proof
[(((((((((triple11) -> rule6) triple11) -> rule5)) -> rule1)) -> rule7))]
("Harry" "is" "cold" "-")
((((((((triple11) -> (rule6 % int4)) triple11) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is big.
True
8
proof
[(((((((((((triple11) -> rule6) triple11) -> rule5)) -> rule1)) -> rule7) triple11) -> rule3))]
("Harry" "is" "big" "+")
((((((((((triple11) -> (rule6 % int5)) triple11) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) triple11) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5
Harry is not big.
False
8
inv-proof
[(((((((((((triple11) -> rule6) triple11) -> rule5)) -> rule1)) -> rule7) triple11) -> rule3))]
("Harry" "is" "big" "-")
((((((((((triple11) -> (rule6 % int5)) triple11) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) triple11) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5
Charlie is not cold.
Unknown
inv-rconc
[@3: Charlie is cold.[CWA. Example of deepest failure = (rule7 <- rule1 <- rule5 <- FAIL)]]
("Charlie" "is" "cold" "-")
Erin is green.
Unknown
rconc
[@1: Erin is green.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "green" "+")
Charlie is not quiet.
Unknown
inv-rconc
[@1: Charlie is quiet.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "quiet" "-")
Charlie is white.
Unknown
rconc
[@2: Charlie is white.[CWA. Example of deepest failure = (rule1 <- rule5 <- FAIL)]]
("Charlie" "is" "white" "+")
Erin is not quiet.
Unknown
inv-rconc
[@1: Erin is quiet.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "quiet" "-")
Harry is red.
Unknown
random
[@0: Harry is red.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "red" "+")
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
@0: Bob is big.[(triple1 OR ((triple5) -> rule2) OR ((triple2 triple6) -> rule3) OR ((((((triple4) -> rule1)) -> rule7) triple6) -> rule3) OR ((((((triple5) -> rule4)) -> rule7) triple6) -> rule3) OR ((((((((triple3 triple6) -> rule5)) -> rule1)) -> rule7) triple6) -> rule3) OR ((((((((((triple6) -> rule6) triple6) -> rule5)) -> rule1)) -> rule7) triple6) -> rule3))] Bob is cold.[(triple2 OR ((((triple4) -> rule1)) -> rule7) OR ((((triple5) -> rule4)) -> rule7) OR ((((((triple3 triple6) -> rule5)) -> rule1)) -> rule7) OR ((((((((triple6) -> rule6) triple6) -> rule5)) -> rule1)) -> rule7))] Bob is green.[(triple3 OR ((triple6) -> rule6))] Bob is quiet.[(triple4 OR ((triple3 triple6) -> rule5) OR ((((triple6) -> rule6) triple6) -> rule5))] Bob is red.[(triple5)] Bob is rough.[(triple6)] Charlie is big.[(triple7)] Charlie is green.[(triple8)] Erin is cold.[(triple9 OR ((((triple10) -> rule4)) -> rule7))] Erin is red.[(triple10)] Harry is rough.[(triple11)] @1: Bob is white.[(((triple4) -> rule1) OR ((triple5) -> rule4) OR ((((triple3 triple6) -> rule5)) -> rule1) OR ((((((triple6) -> rule6) triple6) -> rule5)) -> rule1))] Erin is big.[(((triple10) -> rule2))] Erin is white.[(((triple10) -> rule4))] Harry is green.[(((triple11) -> rule6))] @2: Harry is quiet.[(((((triple11) -> rule6) triple11) -> rule5))] @3: Harry is white.[(((((((triple11) -> rule6) triple11) -> rule5)) -> rule1))] @4: Harry is cold.[(((((((((triple11) -> rule6) triple11) -> rule5)) -> rule1)) -> rule7))] @5: Harry is big.[(((((((((((triple11) -> rule6) triple11) -> rule5)) -> rule1)) -> rule7) triple11) -> rule3))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple5) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple2 triple6) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((((triple4) -> (rule1 % int3))) -> (rule7 % int2)) triple6) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
((((((triple5) -> (rule4 % int3))) -> (rule7 % int2)) triple6) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
((((((((triple3 triple6) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) triple6) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
((((((((((triple6) -> (rule6 % int5)) triple6) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) triple6) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
int5
Bob is cold.
("Bob" "is" "cold" "+")
triple2
((((triple4) -> (rule1 % int2))) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((triple5) -> (rule4 % int2))) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((((triple3 triple6) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
((((((((triple6) -> (rule6 % int4)) triple6) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is green.
("Bob" "is" "green" "+")
triple3
((triple6) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
((triple3 triple6) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple6) -> (rule6 % int2)) triple6) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
triple5
Bob is rough.
("Bob" "is" "rough" "+")
triple6
Charlie is big.
("Charlie" "is" "big" "+")
triple7
Charlie is green.
("Charlie" "is" "green" "+")
triple8
Erin is cold.
("Erin" "is" "cold" "+")
triple9
((((triple10) -> (rule4 % int2))) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple10
Harry is rough.
("Harry" "is" "rough" "+")
triple11
Bob is white.
("Bob" "is" "white" "+")
((triple4) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple5) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple3 triple6) -> (rule5 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple6) -> (rule6 % int3)) triple6) -> (rule5 % int2))) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
((triple10) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple10) -> (rule4 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
((triple11) -> (rule6 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
((((triple11) -> (rule6 % int2)) triple11) -> (rule5 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
((((((triple11) -> (rule6 % int3)) triple11) -> (rule5 % int2))) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
((((((((triple11) -> (rule6 % int4)) triple11) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Harry is big.
("Harry" "is" "big" "+")
((((((((((triple11) -> (rule6 % int5)) triple11) -> (rule5 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) triple11) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5