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