Bob is cold. Bob is smart. Charlie is quiet. Charlie is smart. Erin is round. Erin is smart. Erin is young. Fiona is rough. Fiona is smart. Fiona is young. Quiet things are round. If something is round then it is cold. If something is cold then it is nice. All young, smart things are round. Young, cold things are rough. Rough, quiet things are cold.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Quiet things are round.
((("something" "is" "quiet" "+")) -> ("something" "is" "round" "+"))
If something is round then it is cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
If something is cold then it is nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
All young, smart things are round.
((("something" "is" "young" "+") ("something" "is" "smart" "+")) -> ("something" "is" "round" "+"))
Young, cold things are rough.
((("something" "is" "young" "+") ("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
Rough, quiet things are cold.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
Bob is smart.
True
1
proof
[(triple2)]
("Bob" "is" "smart" "+")
triple2
Charlie is not smart.
False
1
inv-proof
[(triple4)]
("Charlie" "is" "smart" "-")
triple4
Erin is cold.
True
2
proof
[(((triple5) -> rule2) OR ((((triple7 triple6) -> rule4)) -> rule2))]
("Erin" "is" "cold" "+")
((triple5) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple7 triple6) -> (rule4 % int2))) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Bob is not nice.
False
2
inv-proof
[(((triple1) -> rule3))]
("Bob" "is" "nice" "-")
((triple1) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Erin is rough.
True
4
proof
[(((triple7 ((triple5) -> rule2)) -> rule5) OR ((triple7 ((((triple7 triple6) -> rule4)) -> rule2)) -> rule5))]
("Erin" "is" "rough" "+")
((triple7 ((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((triple7 ((((triple7 triple6) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Fiona is not cold.
False
4
inv-proof
[(((((triple10 triple9) -> rule4)) -> rule2))]
("Fiona" "is" "cold" "-")
((((triple10 triple9) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Charlie is nice.
True
4
proof
[(((((((triple3) -> rule1)) -> rule2)) -> rule3))]
("Charlie" "is" "nice" "+")
((((((triple3) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Fiona is not nice.
False
5
inv-proof
[(((((((triple10 triple9) -> rule4)) -> rule2)) -> rule3))]
("Fiona" "is" "nice" "-")
((((((triple10 triple9) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Bob is not round.
Unknown
inv-rconc
[@1: Bob is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "round" "-")
Bob is rough.
Unknown
rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "rough" "+")
Charlie is not rough.
Unknown
inv-rconc
[@1: Charlie is rough.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "rough" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
Bob is not young.
Unknown
inv-random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "-")
Erin is quiet.
Unknown
random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "+")
Fiona is not quiet.
Unknown
inv-random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "-")
Bob is quiet.
Unknown
random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "+")
@0: Bob is cold.[(triple1)] Bob is smart.[(triple2)] Charlie is quiet.[(triple3)] Charlie is smart.[(triple4)] Erin is round.[(triple5 OR ((triple7 triple6) -> rule4))] Erin is smart.[(triple6)] Erin is young.[(triple7)] Fiona is rough.[(triple8 OR ((triple10 ((((triple10 triple9) -> rule4)) -> rule2)) -> rule5))] Fiona is smart.[(triple9)] Fiona is young.[(triple10)] @1: Bob is nice.[(((triple1) -> rule3))] Charlie is round.[(((triple3) -> rule1))] Erin is cold.[(((triple5) -> rule2) OR ((((triple7 triple6) -> rule4)) -> rule2))] Fiona is round.[(((triple10 triple9) -> rule4))] @2: Charlie is cold.[(((((triple3) -> rule1)) -> rule2))] Erin is nice.[(((((triple5) -> rule2)) -> rule3) OR ((((((triple7 triple6) -> rule4)) -> rule2)) -> rule3))] Erin is rough.[(((triple7 ((triple5) -> rule2)) -> rule5) OR ((triple7 ((((triple7 triple6) -> rule4)) -> rule2)) -> rule5))] Fiona is cold.[(((((triple10 triple9) -> rule4)) -> rule2))] @3: Charlie is nice.[(((((((triple3) -> rule1)) -> rule2)) -> rule3))] Fiona is nice.[(((((((triple10 triple9) -> rule4)) -> rule2)) -> rule3))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is smart.
("Bob" "is" "smart" "+")
triple2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
Charlie is smart.
("Charlie" "is" "smart" "+")
triple4
Erin is round.
("Erin" "is" "round" "+")
triple5
((triple7 triple6) -> (rule4 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
triple6
Erin is young.
("Erin" "is" "young" "+")
triple7
Fiona is rough.
("Fiona" "is" "rough" "+")
triple8
((triple10 ((((triple10 triple9) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple9
Fiona is young.
("Fiona" "is" "young" "+")
triple10
Bob is nice.
("Bob" "is" "nice" "+")
((triple1) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
((triple3) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple5) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple7 triple6) -> (rule4 % int2))) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((triple10 triple9) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
((((triple5) -> (rule2 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple7 triple6) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
((triple7 ((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((triple7 ((((triple7 triple6) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple10 triple9) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
((((((triple3) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
((((((triple10 triple9) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3