Bob is kind. Bob is rough. Bob is smart. Dave is not cold. Dave is not kind. Dave is rough. Fiona is cold. Fiona is kind. Fiona is red. Fiona is rough. Fiona is smart. Fiona is young. Smart people are young. Furry people are young. If Bob is furry and Bob is not kind then Bob is not red. If someone is young then they are red. Smart people are cold. If someone is kind and not cold then they are not rough.
Bob is kind.
("Bob" "is" "kind" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Dave is not cold.
("Dave" "is" "cold" "-")
Dave is not kind.
("Dave" "is" "kind" "-")
Dave is rough.
("Dave" "is" "rough" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Smart people are young.
((("someone" "is" "smart" "+")) -> ("someone" "is" "young" "+"))
Furry people are young.
((("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
If Bob is furry and Bob is not kind then Bob is not red.
((("Bob" "is" "furry" "+") ("Bob" "is" "kind" "~")) -> ("Bob" "is" "red" "-"))
If someone is young then they are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
Smart people are cold.
((("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
If someone is kind and not cold then they are not rough.
((("someone" "is" "kind" "+") ("someone" "is" "cold" "~")) -> ("someone" "is" "rough" "-"))
Bob is rough.
True
1
proof
[(triple2)]
("Bob" "is" "rough" "+")
triple2
Fiona is not kind.
False
1
inv-proof
[(triple8)]
("Fiona" "is" "kind" "-")
triple8
Bob is cold.
True
2
proof
[(((triple3) -> rule5))]
("Bob" "is" "cold" "+")
((triple3) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is not cold.
False
2
inv-proof
[(((triple3) -> rule5))]
("Bob" "is" "cold" "-")
((triple3) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
True
3
proof
[(((((triple3) -> rule1)) -> rule4))]
("Bob" "is" "red" "+")
((((triple3) -> (rule1 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is not red.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule4))]
("Bob" "is" "red" "-")
((((triple3) -> (rule1 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Dave is not young.
Unknown
inv-rconc
[@1: Dave is young.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "young" "-")
Dave is red.
Unknown
rconc
[@2: Dave is red.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Dave" "is" "red" "+")
Dave is not smart.
Unknown
inv-random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "-")
Fiona is furry.
Unknown
random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "+")
Dave is not furry.
Unknown
inv-random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
@0: Bob is kind.[(triple1)] Bob is rough.[(triple2)] Bob is smart.[(triple3)] Dave is not cold.[(triple4)] Dave is not kind.[(triple5)] Dave is rough.[(triple6)] Fiona is cold.[(triple7 OR ((triple11) -> rule5))] Fiona is kind.[(triple8)] Fiona is red.[(triple9 OR ((triple12) -> rule4) OR ((((triple11) -> rule1)) -> rule4))] Fiona is rough.[(triple10)] Fiona is smart.[(triple11)] Fiona is young.[(triple12 OR ((triple11) -> rule1))] @1: Bob is cold.[(((triple3) -> rule5))] Bob is young.[(((triple3) -> rule1))] @2: Bob is red.[(((((triple3) -> rule1)) -> rule4))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
Bob is rough.
("Bob" "is" "rough" "+")
triple2
Bob is smart.
("Bob" "is" "smart" "+")
triple3
Dave is not cold.
("Dave" "is" "cold" "-")
triple4
Dave is not kind.
("Dave" "is" "kind" "-")
triple5
Dave is rough.
("Dave" "is" "rough" "+")
triple6
Fiona is cold.
("Fiona" "is" "cold" "+")
triple7
((triple11) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple8
Fiona is red.
("Fiona" "is" "red" "+")
triple9
((triple12) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple11) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple10
Fiona is smart.
("Fiona" "is" "smart" "+")
triple11
Fiona is young.
("Fiona" "is" "young" "+")
triple12
((triple11) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
((triple3) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((triple3) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((((triple3) -> (rule1 % int2))) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2