Bob is furry. Bob is red. Charlie is red. Charlie is smart. Charlie is young. Erin is cold. Erin is smart. Erin is young. Harry is kind. Harry is red. If something is rough then it is smart. Red things are rough. Smart things are furry.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is red.
("Bob" "is" "red" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is red.
("Harry" "is" "red" "+")
If something is rough then it is smart.
((("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
Red things are rough.
((("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
Smart things are furry.
((("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
Erin is cold.
True
1
proof
[(triple6)]
("Erin" "is" "cold" "+")
triple6
Erin is not cold.
False
1
inv-proof
[(triple6)]
("Erin" "is" "cold" "-")
triple6
Charlie is furry.
True
2
proof
[(((triple4) -> rule3) OR ((((((triple3) -> rule2)) -> rule1)) -> rule3))]
("Charlie" "is" "furry" "+")
((triple4) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Bob is not rough.
False
2
inv-proof
[(((triple2) -> rule2))]
("Bob" "is" "rough" "-")
((triple2) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
True
3
proof
[(((((triple2) -> rule2)) -> rule1))]
("Bob" "is" "smart" "+")
((((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is not smart.
False
3
inv-proof
[(((((triple2) -> rule2)) -> rule1))]
("Bob" "is" "smart" "-")
((((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Harry is furry.
True
4
proof
[(((((((triple10) -> rule2)) -> rule1)) -> rule3))]
("Harry" "is" "furry" "+")
((((((triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is not furry.
False
4
inv-proof
[(((((((triple10) -> rule2)) -> rule1)) -> rule3))]
("Harry" "is" "furry" "-")
((((((triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Erin is not rough.
Unknown
inv-rconc
[@1: Erin is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "rough" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
Harry is not cold.
Unknown
inv-random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "-")
Charlie is kind.
Unknown
random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Erin is kind.
Unknown
random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "+")
Bob is not young.
Unknown
inv-random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
@0: Bob is furry.[(triple1 OR ((((((triple2) -> rule2)) -> rule1)) -> rule3))] Bob is red.[(triple2)] Charlie is red.[(triple3)] Charlie is smart.[(triple4 OR ((((triple3) -> rule2)) -> rule1))] Charlie is young.[(triple5)] Erin is cold.[(triple6)] Erin is smart.[(triple7)] Erin is young.[(triple8)] Harry is kind.[(triple9)] Harry is red.[(triple10)] @1: Bob is rough.[(((triple2) -> rule2))] Charlie is furry.[(((triple4) -> rule3) OR ((((((triple3) -> rule2)) -> rule1)) -> rule3))] Charlie is rough.[(((triple3) -> rule2))] Erin is furry.[(((triple7) -> rule3))] Harry is rough.[(((triple10) -> rule2))] @2: Bob is smart.[(((((triple2) -> rule2)) -> rule1))] Harry is smart.[(((((triple10) -> rule2)) -> rule1))] @3: Harry is furry.[(((((((triple10) -> rule2)) -> rule1)) -> rule3))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
((((((triple2) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Charlie is smart.
("Charlie" "is" "smart" "+")
triple4
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
triple5
Erin is cold.
("Erin" "is" "cold" "+")
triple6
Erin is smart.
("Erin" "is" "smart" "+")
triple7
Erin is young.
("Erin" "is" "young" "+")
triple8
Harry is kind.
("Harry" "is" "kind" "+")
triple9
Harry is red.
("Harry" "is" "red" "+")
triple10
Bob is rough.
("Bob" "is" "rough" "+")
((triple2) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple4) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple3) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple7) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
((triple10) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
((((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
((((triple10) -> (rule2 % int2))) -> (rule1 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
((((((triple10) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3