Bob is not cold. Charlie is not blue. Charlie is red. Charlie is smart. Dave is blue. Erin is big. Erin is not cold. If something is green and big then it is smart. All smart, rough things are cold. If something is green then it is cold. All rough things are big. Blue things are green. All rough things are blue. If Dave is blue and Dave is cold then Dave is rough. Smart things are red. If Charlie is blue and Charlie is not red then Charlie is cold.
Bob is not cold.
("Bob" "is" "cold" "-")
Charlie is not blue.
("Charlie" "is" "blue" "-")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is not cold.
("Erin" "is" "cold" "-")
If something is green and big then it is smart.
((("something" "is" "green" "+") ("something" "is" "big" "+")) -> ("something" "is" "smart" "+"))
All smart, rough things are cold.
((("something" "is" "smart" "+") ("something" "is" "rough" "+")) -> ("something" "is" "cold" "+"))
If something is green then it is cold.
((("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
All rough things are big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
Blue things are green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
All rough things are blue.
((("something" "is" "rough" "+")) -> ("something" "is" "blue" "+"))
If Dave is blue and Dave is cold then Dave is rough.
((("Dave" "is" "blue" "+") ("Dave" "is" "cold" "+")) -> ("Dave" "is" "rough" "+"))
Smart things are red.
((("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
If Charlie is blue and Charlie is not red then Charlie is cold.
((("Charlie" "is" "blue" "+") ("Charlie" "is" "red" "~")) -> ("Charlie" "is" "cold" "+"))
Charlie is red.
True
1
proof
[(triple3 OR ((triple4) -> rule8))]
("Charlie" "is" "red" "+")
triple3
((triple4) -> (rule8 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Erin is not big.
False
1
inv-proof
[(triple6)]
("Erin" "is" "big" "-")
triple6
Dave is green.
True
2
proof
[(((triple5) -> rule5))]
("Dave" "is" "green" "+")
((triple5) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is not green.
False
2
inv-proof
[(((triple5) -> rule5))]
("Dave" "is" "green" "-")
((triple5) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
True
3
proof
[(((((triple5) -> rule5)) -> rule3))]
("Dave" "is" "cold" "+")
((((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is not cold.
False
3
inv-proof
[(((((triple5) -> rule5)) -> rule3))]
("Dave" "is" "cold" "-")
((((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is rough.
True
5
proof
[(((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7))]
("Dave" "is" "rough" "+")
((triple5 ((((triple5) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is not rough.
False
5
inv-proof
[(((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7))]
("Dave" "is" "rough" "-")
((triple5 ((((triple5) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is big.
True
6
proof
[(((((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7)) -> rule4))]
("Dave" "is" "big" "+")
((((triple5 ((((triple5) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
Dave is not big.
False
6
inv-proof
[(((((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7)) -> rule4))]
("Dave" "is" "big" "-")
((((triple5 ((((triple5) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
Dave is smart.
True
9
proof
[(((((triple5) -> rule5) ((((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7)) -> rule4)) -> rule1))]
("Dave" "is" "smart" "+")
((((triple5) -> (rule5 % int5)) ((((triple5 ((((triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
int5
Dave is not smart.
False
9
inv-proof
[(((((triple5) -> rule5) ((((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7)) -> rule4)) -> rule1))]
("Dave" "is" "smart" "-")
((((triple5) -> (rule5 % int5)) ((((triple5 ((((triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
int5
Erin is not smart.
Unknown
inv-rconc
[@3: Erin is smart.[CWA. Example of deepest failure = (rule1 <- rule5 <- rule6 <- FAIL)]]
("Erin" "is" "smart" "-")
Bob is red.
Unknown
rconc
[@3: Bob is red.[CWA. Example of deepest failure = (rule8 <- rule1 <- rule4 <- FAIL)]]
("Bob" "is" "red" "+")
Erin is not green.
Unknown
inv-rconc
[@2: Erin is green.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Erin" "is" "green" "-")
Charlie is big.
Unknown
rconc
[@1: Charlie is big.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "big" "+")
Erin is not red.
Unknown
inv-rconc
[@4: Erin is red.[CWA. Example of deepest failure = (rule8 <- rule1 <- rule5 <- rule6 <- FAIL)]]
("Erin" "is" "red" "-")
Charlie is cold.
Unknown
rconc
[@2: Charlie is cold.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Charlie" "is" "cold" "+")
Bob is not rough.
Unknown
inv-random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
@0: Bob is not cold.[(triple1)] Charlie is not blue.[(triple2)] Charlie is red.[(triple3 OR ((triple4) -> rule8))] Charlie is smart.[(triple4)] Dave is blue.[(triple5)] Erin is big.[(triple6)] Erin is not cold.[(triple7)] @1: Dave is green.[(((triple5) -> rule5))] @2: Dave is cold.[(((((triple5) -> rule5)) -> rule3))] @3: Dave is rough.[(((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7))] @4: Dave is big.[(((((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7)) -> rule4))] @5: Dave is smart.[(((((triple5) -> rule5) ((((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7)) -> rule4)) -> rule1))] @6: Dave is red.[(((((((triple5) -> rule5) ((((triple5 ((((triple5) -> rule5)) -> rule3)) -> rule7)) -> rule4)) -> rule1)) -> rule8))]
Bob is not cold.
("Bob" "is" "cold" "-")
triple1
Charlie is not blue.
("Charlie" "is" "blue" "-")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
((triple4) -> (rule8 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple4
Dave is blue.
("Dave" "is" "blue" "+")
triple5
Erin is big.
("Erin" "is" "big" "+")
triple6
Erin is not cold.
("Erin" "is" "cold" "-")
triple7
Dave is green.
("Dave" "is" "green" "+")
((triple5) -> (rule5 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
((triple5 ((((triple5) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
((((triple5 ((((triple5) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
((((triple5) -> (rule5 % int5)) ((((triple5 ((((triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
int5
Dave is red.
("Dave" "is" "red" "+")
((((((triple5) -> (rule5 % int6)) ((((triple5 ((((triple5) -> (rule5 % int6))) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
int5
Dave is green.
("Dave" "is" "green" "+")
int6