Charlie is nice. Charlie is quiet. Charlie is red. Charlie is round. Dave is big. Dave is cold. Dave is nice. Dave is quiet. Dave is red. Dave is round. Dave is young. Erin is big. Erin is cold. Erin is quiet. Erin is young. All red people are quiet. All red, quiet people are round. If Dave is quiet and Dave is young then Dave is red. All nice, round people are quiet. All big people are young. If someone is red then they are big.
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is young.
("Erin" "is" "young" "+")
All red people are quiet.
((("someone" "is" "red" "+")) -> ("someone" "is" "quiet" "+"))
All red, quiet people are round.
((("someone" "is" "red" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
If Dave is quiet and Dave is young then Dave is red.
((("Dave" "is" "quiet" "+") ("Dave" "is" "young" "+")) -> ("Dave" "is" "red" "+"))
All nice, round people are quiet.
((("someone" "is" "nice" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "quiet" "+"))
All big people are young.
((("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If someone is red then they are big.
((("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
Dave is red.
True
1
proof
[(triple9 OR ((triple8 triple11) -> rule3) OR ((triple8 ((triple5) -> rule5)) -> rule3) OR ((((triple7 triple10) -> rule4) triple11) -> rule3) OR ((((triple7 triple10) -> rule4) ((triple5) -> rule5)) -> rule3))]
("Dave" "is" "red" "+")
triple9
((triple8 triple11) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((triple8 ((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple7 triple10) -> (rule4 % int2)) triple11) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple7 triple10) -> (rule4 % int3)) ((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Charlie is not quiet.
False
1
inv-proof
[(triple2 OR ((triple3) -> rule1) OR ((triple1 triple4) -> rule4))]
("Charlie" "is" "quiet" "-")
triple2
((triple3) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple1 triple4) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is big.
True
2
proof
[(((triple3) -> rule6))]
("Charlie" "is" "big" "+")
((triple3) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is not big.
False
2
inv-proof
[(((triple3) -> rule6))]
("Charlie" "is" "big" "-")
((triple3) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Erin is not round.
Unknown
inv-rconc
[@1: Erin is round.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "round" "-")
Charlie is cold.
Unknown
random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "+")
Erin is not nice.
Unknown
inv-random
[@0: Erin is nice.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "nice" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
@0: Charlie is nice.[(triple1)] Charlie is quiet.[(triple2 OR ((triple3) -> rule1) OR ((triple1 triple4) -> rule4))] Charlie is red.[(triple3)] Charlie is round.[(triple4 OR ((triple3 triple2) -> rule2) OR ((triple3 ((triple3) -> rule1)) -> rule2))] Dave is big.[(triple5 OR ((triple9) -> rule6) OR ((((triple8 triple11) -> rule3)) -> rule6) OR ((((((triple7 triple10) -> rule4) triple11) -> rule3)) -> rule6))] Dave is cold.[(triple6)] Dave is nice.[(triple7)] Dave is quiet.[(triple8 OR ((triple9) -> rule1) OR ((triple7 triple10) -> rule4))] Dave is red.[(triple9 OR ((triple8 triple11) -> rule3) OR ((triple8 ((triple5) -> rule5)) -> rule3) OR ((((triple7 triple10) -> rule4) triple11) -> rule3) OR ((((triple7 triple10) -> rule4) ((triple5) -> rule5)) -> rule3))] Dave is round.[(triple10 OR ((triple9 triple8) -> rule2) OR ((triple9 ((triple9) -> rule1)) -> rule2) OR ((((triple8 triple11) -> rule3) triple8) -> rule2) OR ((((triple8 triple11) -> rule3) ((triple9) -> rule1)) -> rule2) OR ((((triple8 ((triple5) -> rule5)) -> rule3) triple8) -> rule2) OR ((((triple8 ((triple5) -> rule5)) -> rule3) ((triple9) -> rule1)) -> rule2))] Dave is young.[(triple11 OR ((triple5) -> rule5) OR ((((triple9) -> rule6)) -> rule5))] Erin is big.[(triple12)] Erin is cold.[(triple13)] Erin is quiet.[(triple14)] Erin is young.[(triple15 OR ((triple12) -> rule5))] @1: Charlie is big.[(((triple3) -> rule6))] @2: Charlie is young.[(((((triple3) -> rule6)) -> rule5))]
Charlie is nice.
("Charlie" "is" "nice" "+")
triple1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple2
((triple3) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple1 triple4) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Charlie is round.
("Charlie" "is" "round" "+")
triple4
((triple3 triple2) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((triple3 ((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
triple5
((triple9) -> (rule6 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((((triple8 triple11) -> (rule3 % int2))) -> (rule6 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
((((((triple7 triple10) -> (rule4 % int3)) triple11) -> (rule3 % int2))) -> (rule6 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
triple6
Dave is nice.
("Dave" "is" "nice" "+")
triple7
Dave is quiet.
("Dave" "is" "quiet" "+")
triple8
((triple9) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple7 triple10) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
triple9
((triple8 triple11) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((triple8 ((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple7 triple10) -> (rule4 % int2)) triple11) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple7 triple10) -> (rule4 % int3)) ((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
triple10
((triple9 triple8) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple9 ((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple8 triple11) -> (rule3 % int2)) triple8) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
((((triple8 triple11) -> (rule3 % int3)) ((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
((((triple8 ((triple5) -> (rule5 % int3))) -> (rule3 % int2)) triple8) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
((((triple8 ((triple5) -> (rule5 % int4))) -> (rule3 % int3)) ((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
triple11
((triple5) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple9) -> (rule6 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
triple12
Erin is cold.
("Erin" "is" "cold" "+")
triple13
Erin is quiet.
("Erin" "is" "quiet" "+")
triple14
Erin is young.
("Erin" "is" "young" "+")
triple15
((triple12) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
((triple3) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((((triple3) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2