Bob is nice. Bob is red. Bob is rough. Bob is round. Charlie is red. Charlie is rough. Erin is nice. Erin is quiet. Erin is red. Erin is rough. Erin is round. Erin is smart. Gary is nice. Gary is red. All quiet, round things are rough. All quiet things are rough. If Gary is rough then Gary is blue. All smart, nice things are quiet. If Gary is rough and Gary is quiet then Gary is smart. If something is nice and blue then it is round. If something is smart then it is quiet. If something is nice then it is smart.
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
All quiet, round things are rough.
((("something" "is" "quiet" "+") ("something" "is" "round" "+")) -> ("something" "is" "rough" "+"))
All quiet things are rough.
((("something" "is" "quiet" "+")) -> ("something" "is" "rough" "+"))
If Gary is rough then Gary is blue.
((("Gary" "is" "rough" "+")) -> ("Gary" "is" "blue" "+"))
All smart, nice things are quiet.
((("something" "is" "smart" "+") ("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
If Gary is rough and Gary is quiet then Gary is smart.
((("Gary" "is" "rough" "+") ("Gary" "is" "quiet" "+")) -> ("Gary" "is" "smart" "+"))
If something is nice and blue then it is round.
((("something" "is" "nice" "+") ("something" "is" "blue" "+")) -> ("something" "is" "round" "+"))
If something is smart then it is quiet.
((("something" "is" "smart" "+")) -> ("something" "is" "quiet" "+"))
If something is nice then it is smart.
((("something" "is" "nice" "+")) -> ("something" "is" "smart" "+"))
Erin is nice.
True
1
proof
[(triple7)]
("Erin" "is" "nice" "+")
triple7
Erin is not nice.
False
1
inv-proof
[(triple7)]
("Erin" "is" "nice" "-")
triple7
Gary is smart.
True
2
proof
[(((triple13) -> rule8))]
("Gary" "is" "smart" "+")
((triple13) -> (rule8 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Bob is not smart.
False
2
inv-proof
[(((triple1) -> rule8))]
("Bob" "is" "smart" "-")
((triple1) -> (rule8 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is quiet.
True
3
proof
[(((((triple1) -> rule8)) -> rule7) OR ((((triple1) -> rule8) triple1) -> rule4))]
("Bob" "is" "quiet" "+")
((((triple1) -> (rule8 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple1) -> (rule8 % int2)) triple1) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is not quiet.
False
3
inv-proof
[(((((triple1) -> rule8)) -> rule7) OR ((((triple1) -> rule8) triple1) -> rule4))]
("Bob" "is" "quiet" "-")
((((triple1) -> (rule8 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple1) -> (rule8 % int2)) triple1) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Gary is rough.
True
4
proof
[(((((((triple13) -> rule8)) -> rule7)) -> rule2) OR ((((((triple13) -> rule8) triple13) -> rule4)) -> rule2))]
("Gary" "is" "rough" "+")
((((((triple13) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((triple13) -> (rule8 % int3)) triple13) -> (rule4 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is not rough.
False
4
inv-proof
[(((((((triple13) -> rule8)) -> rule7)) -> rule2) OR ((((((triple13) -> rule8) triple13) -> rule4)) -> rule2))]
("Gary" "is" "rough" "-")
((((((triple13) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((triple13) -> (rule8 % int3)) triple13) -> (rule4 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is blue.
True
5
proof
[(((((((((triple13) -> rule8)) -> rule7)) -> rule2)) -> rule3) OR ((((((((triple13) -> rule8) triple13) -> rule4)) -> rule2)) -> rule3))]
("Gary" "is" "blue" "+")
((((((((triple13) -> (rule8 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((((((((triple13) -> (rule8 % int4)) triple13) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is not blue.
False
5
inv-proof
[(((((((((triple13) -> rule8)) -> rule7)) -> rule2)) -> rule3) OR ((((((((triple13) -> rule8) triple13) -> rule4)) -> rule2)) -> rule3))]
("Gary" "is" "blue" "-")
((((((((triple13) -> (rule8 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((((((((triple13) -> (rule8 % int4)) triple13) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is round.
True
7
proof
[(((triple13 ((((((((triple13) -> rule8)) -> rule7)) -> rule2)) -> rule3)) -> rule6) OR ((triple13 ((((((((triple13) -> rule8) triple13) -> rule4)) -> rule2)) -> rule3)) -> rule6))]
("Gary" "is" "round" "+")
((triple13 ((((((((triple13) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
int5
((triple13 ((((((((triple13) -> (rule8 % int5)) triple13) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
int5
Gary is not round.
False
7
inv-proof
[(((triple13 ((((((((triple13) -> rule8)) -> rule7)) -> rule2)) -> rule3)) -> rule6) OR ((triple13 ((((((((triple13) -> rule8) triple13) -> rule4)) -> rule2)) -> rule3)) -> rule6))]
("Gary" "is" "round" "-")
((triple13 ((((((((triple13) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
int5
((triple13 ((((((((triple13) -> (rule8 % int5)) triple13) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
int5
Charlie is not smart.
Unknown
inv-rconc
[@1: Charlie is smart.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Charlie" "is" "smart" "-")
Charlie is quiet.
Unknown
rconc
[@2: Charlie is quiet.[CWA. Example of deepest failure = (rule7 <- rule8 <- FAIL)]]
("Charlie" "is" "quiet" "+")
Charlie is not round.
Unknown
inv-rconc
[@1: Charlie is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "round" "-")
Bob is blue.
Unknown
random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "+")
Charlie is not blue.
Unknown
inv-random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "-")
Charlie is nice.
Unknown
random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "+")
@0: Bob is nice.[(triple1)] Bob is red.[(triple2)] Bob is rough.[(triple3 OR ((((((triple1) -> rule8)) -> rule7)) -> rule2) OR ((((((triple1) -> rule8) triple1) -> rule4)) -> rule2) OR ((((((triple1) -> rule8)) -> rule7) triple4) -> rule1) OR ((((((triple1) -> rule8) triple1) -> rule4) triple4) -> rule1))] Bob is round.[(triple4)] Charlie is red.[(triple5)] Charlie is rough.[(triple6)] Erin is nice.[(triple7)] Erin is quiet.[(triple8 OR ((triple12) -> rule7) OR ((triple12 triple7) -> rule4) OR ((((triple7) -> rule8)) -> rule7) OR ((((triple7) -> rule8) triple7) -> rule4))] Erin is red.[(triple9)] Erin is rough.[(triple10 OR ((triple8) -> rule2) OR ((triple8 triple11) -> rule1) OR ((((triple12) -> rule7)) -> rule2) OR ((((triple12 triple7) -> rule4)) -> rule2) OR ((((triple12) -> rule7) triple11) -> rule1) OR ((((triple12 triple7) -> rule4) triple11) -> rule1) OR ((((((triple7) -> rule8)) -> rule7)) -> rule2) OR ((((((triple7) -> rule8) triple7) -> rule4)) -> rule2) OR ((((((triple7) -> rule8)) -> rule7) triple11) -> rule1) OR ((((((triple7) -> rule8) triple7) -> rule4) triple11) -> rule1))] Erin is round.[(triple11)] Erin is smart.[(triple12 OR ((triple7) -> rule8))] Gary is nice.[(triple13)] Gary is red.[(triple14)] @1: Bob is smart.[(((triple1) -> rule8))] Gary is smart.[(((triple13) -> rule8))] @2: Bob is quiet.[(((((triple1) -> rule8)) -> rule7) OR ((((triple1) -> rule8) triple1) -> rule4))] Gary is quiet.[(((((triple13) -> rule8)) -> rule7) OR ((((triple13) -> rule8) triple13) -> rule4))] @3: Gary is rough.[(((((((triple13) -> rule8)) -> rule7)) -> rule2) OR ((((((triple13) -> rule8) triple13) -> rule4)) -> rule2))] @4: Gary is blue.[(((((((((triple13) -> rule8)) -> rule7)) -> rule2)) -> rule3) OR ((((((((triple13) -> rule8) triple13) -> rule4)) -> rule2)) -> rule3))] @5: Gary is round.[(((triple13 ((((((((triple13) -> rule8)) -> rule7)) -> rule2)) -> rule3)) -> rule6) OR ((triple13 ((((((((triple13) -> rule8) triple13) -> rule4)) -> rule2)) -> rule3)) -> rule6))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
Bob is rough.
("Bob" "is" "rough" "+")
triple3
((((((triple1) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1) -> (rule8 % int3)) triple1) -> (rule4 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1) -> (rule8 % int3))) -> (rule7 % int2)) triple4) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1) -> (rule8 % int3)) triple1) -> (rule4 % int2)) triple4) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
triple4
Charlie is red.
("Charlie" "is" "red" "+")
triple5
Charlie is rough.
("Charlie" "is" "rough" "+")
triple6
Erin is nice.
("Erin" "is" "nice" "+")
triple7
Erin is quiet.
("Erin" "is" "quiet" "+")
triple8
((triple12) -> (rule7 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((triple12 triple7) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((triple7) -> (rule8 % int2))) -> (rule7 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
((((triple7) -> (rule8 % int2)) triple7) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple9
Erin is rough.
("Erin" "is" "rough" "+")
triple10
((triple8) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((triple8 triple11) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((((triple12) -> (rule7 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((triple12 triple7) -> (rule4 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((triple12) -> (rule7 % int2)) triple11) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((triple12 triple7) -> (rule4 % int2)) triple11) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((((triple7) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
((((((triple7) -> (rule8 % int3)) triple7) -> (rule4 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
((((((triple7) -> (rule8 % int3))) -> (rule7 % int2)) triple11) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
((((((triple7) -> (rule8 % int3)) triple7) -> (rule4 % int2)) triple11) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
triple11
Erin is smart.
("Erin" "is" "smart" "+")
triple12
((triple7) -> (rule8 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple13
Gary is red.
("Gary" "is" "red" "+")
triple14
Bob is smart.
("Bob" "is" "smart" "+")
((triple1) -> (rule8 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
((triple13) -> (rule8 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
((((triple1) -> (rule8 % int2))) -> (rule7 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple1) -> (rule8 % int2)) triple1) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
((((triple13) -> (rule8 % int2))) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((triple13) -> (rule8 % int2)) triple13) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
((((((triple13) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((triple13) -> (rule8 % int3)) triple13) -> (rule4 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
((((((((triple13) -> (rule8 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
((((((((triple13) -> (rule8 % int4)) triple13) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
int4
Gary is round.
("Gary" "is" "round" "+")
((triple13 ((((((((triple13) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
int5
((triple13 ((((((((triple13) -> (rule8 % int5)) triple13) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
int5